Vamos iniciar uma serie falando sobre o desenvolvimento de APIs padrão Rest no Protheus, para esse primeiro post vamos falar da preparação do ambiente e como utilizar a autenticação do tipo Basic.
Configuração do Appserver
[HTTPV11]
Enable=1
Sockets=HTTPREST
[HTTPREST]
Port=8084
URIs=URIHTML
SECURITY=1
[URIHTML]
URL=/rest
PrepareIn=All
Instances=2,2
CORSEnable=1
AllowOrigin=*
[ONSTART]
jobs=HTTPJOB
RefreshRate=30
[HTTPJOB]
MAIN=HTTP_START
ENVIRONMENT=environment
- Para que a autenticação seja requisitada na tag [HTTPREST] o parâmetro SECURITY = 1, caso contrario não será validada.
- Outro ponto importante é que em minha base teste só existem um grupo de empresas e uma filial então na tag [URIHTML] o parâmetro PrepareIn=All, assim de acordo com tdn “Cada thread é montada com a primeira filial válida para aquele grupo”, caso eu validar o grupo posso enviar no cabeçalho da requisição o parâmetro “tenantid:grupo,filial”.

Autenticação tipo Basic
Para testar a autenticação vamos utilizar API padrão do Protheus chamada “customervendor”, o teste será no verbo GET.

O teste será feito via POSTMAN, e é bem simples.
Para enviar uma requisição para essa API basta adicionar a url o seguinte caminho “/api/crm/v1/customerVendor/”, logo o caminho completo será:http://ip_appServer:8084/rest/api/crm/v1/customerVendor/
Para autenticar o usuário na aba Authorization em Type, selecione Basic, que será habilitado os campos Username/Password, utilize o usuário admin, em seguida clique em SEND e aguarde o retorno como no print abaixo.
Caso não informe que há autenticação, será arremetido o erro: “message”: “The request requires authentication. The server might return this response for a page behind a login.”

Por hora é isso, no próximo post vou trazer o desenvolvimento de uma API com pelo menos GET e POST








