There is any way I could enforce that some people could contribute by one branch only by pull request I want them to be able to accept pull request but not to direct push change
There are two things that must be set:
Set a Policy on the branch(es) you want protected, the simplest is to set "Require a minimum number of reviewers". See Microsoft Git Branch Policies
Ensure that Contributors are set not to be exempt from policy enforcement - Example