FAQs - Suporte técnico

Cross Segmento - TOTVS Backoffice (Linha Protheus) - ADVPL - Incluir registros utilizando as APIs

Dúvida
Como consumir as novas APIs do Protheus de modo a incluir um novo registro?

Ambiente
Cross Segmento - TOTVS Backoffice (Linha Protheus) – ADVPL – A partir da versão 12.1.17

Solução
Para consumir as APIs do Protheus, recomendamos a classe FwRest(). e para este caso deverá ser utilizado o método POST.

Exemplo
Utilizamos a API de Clientes/Fornecedores como exemplo para inclusão de registro:

FONTE

// BIBLIOTECAS NECESSÁRIAS
#Include "TOTVS.ch"

// FUNÇÃO PARA CONSUMO DO SERVIÇO REST
User Function T164POST()
Local cServer := "10.172.22.122" // URL (IP) DO SERVIDOR
Local cPort := "5085" // PORTA DO SERVIÇO REST
Local cURI := "http://" + cServer + ":" + (cPort + "/rest") // URI DO SERVIÇO REST
Local cResource := "/api/crm/v1/customerVendor" // RECURSO A SER CONSUMIDO
Local oRest := FwRest():New(cURI) // CLIENTE PARA CONSUMO REST
Local aHeader := {} // CABEÇALHO DA REQUISIÇÃO

// PREENCHE CABEÇALHO DA REQUISIÇÃO
AAdd(aHeader, "Content-Type: application/json; charset=UTF-8")
AAdd(aHeader, "Accept: application/json")
AAdd(aHeader, "User-Agent: Chrome/65.0 (compatible; Protheus " + GetBuild() + ")")

// INFORMA O RECURSO E INSERE O JSON NO CORPO (BODY) DA REQUISIÇÃO
oRest:SetPath(cResource)
oRest:SetPostParams(GetJson())

// REALIZA O MÉTODO POST E VALIDA O RETORNO
If (oRest:Post(aHeader))
ConOut("POST: " + oRest:GetResult())
Else
ConOut("POST: " + oRest:GetLastError())
EndIf
Return (NIL)

// CRIA O JSON QUE SERÁ ENVIADO NO CORPO (BODY) DA REQUISIÇÃO
Static Function GetJson()
Local bObject := {|| JsonObject():New()}
Local oJson := Eval(bObject)

oJson["code"] := "CLT024"
oJson["branchId"] := "01"
oJson["name"] := "MENIACX IMPORTAÇÕES CORP"
oJson["shortName"] := "MENIACX CORP"
oJson["type"] := 1
oJson["strategicCustomerType"] := "F"
oJson["address"] := Eval(bObject)
oJson["address"]["state"] := Eval(bObject)
oJson["address"]["state"]["stateId"] := "SP"
oJson["address"]["address"] := "AVENIDA SOUZA CRUZ"
oJson["address"]["city"] := Eval(bObject)
oJson["address"]["city"]["cityDescription"] := "JARDIM ALVES CARMO"
Return (oJson:ToJson())


JSON

{
"branchId": "01",
"code": "NAIR18",
"name": "NAIR02",
"shortName": "NAIR02",
"type": 1,
"strategicCustomerType": "F",
"address": {
"state": {
"stateId": "SP"
},
"address": "AVENIDA SOUZA CRUZ",
"city": {
"cityDescription": "JARDIM ALVES CARMO"
}
}
}

Observação
As APIs efetuam o mesmo controle de relacionamento dos dados que as rotinas padrões, assim sendo, qualquer inclusão, alteração ou deleção que possa ferir a integridade dos dados, irá retornar erro.

Saiba mais
API REFERENCE - TOTVS DEVELOPERS
FWREST - CLIENT PARA CONSUMO REST
Esse artigo foi útil?
Usuários que acharam isso útil: 0 de 0

0 Comentários

Por favor, entre para comentar.
X Fechar

Olá ,

Há pendência referente a um de seus produtos contratados para a empresa ().

Entre em contato com o Centro de Serviços TOTVS para tratativa.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cobrança – Verificação de pendências financeiras . clique aqui.

TOTVS

X Fechar

Olá ,

Seu contato não está cadastrado no Portal do Cliente como um perfil autorizado a solicitar consultoria telefônica.

Por gentileza, acione o administrador do Portal de sua empresa para: (1)configurar o seu acesso ou (2)buscar um perfil autorizado para registro desse atendimento.

Em caso de dúvidas sobre a identificação do contato administrador do Portal, ligue (11) 4003-0015, opção 7 e, em seguida, opção 4 para buscar o suporte com o time de Assessoria ao Portal do Cliente. . clique aqui.

TOTVS

X Fechar

Olá ,

Para o atendimento de "Consultoria Telefônica" você deverá estar de acordo com o Faturamento.

TOTVS

X Fechar

Olá,

Algo inesperado ocorreu, e o usuario nao foi reconhecido ou você nao se encontra logado

Por favor realize um novo login

Em caso de dúvidas, entre em contato com o administrador do Portal de Clientes de sua empresa para verificação do seu usuário, ou Centro de Serviços TOTVS.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cadastros . clique aqui.

TOTVS

Chat _

Preencha os campos abaixo para iniciar o atendimento:

Chat _