Looplex Knowledge Base
APIPost
O tube APIPost recupera informações de uma API específica via POST (novas entidades).
Formato:
Possibilidades com <bodyReceiver>
e <bodySender>
.
<bodyReceiver>. APIPost(<bodySender>, <APIinfo>, <endpoint>) <bodyReceiver>. APIPost(<bodySender>, <APIinfo>, <endpoint>, <mappingTranslator>) <bodyReceiver>. APIPost(<bodySender>, {<header>}, <APIinfo>, <endpoint>, <mappingTranslator>)
Possibilidades com <body>
.
APIPost(<body>, <APIinfo>, <endpoint>) APIPost(<body>, <APIinfo>, <endpoint>, <mappingTranslator>) APIPost(<body>, {<header>}, <APIinfo>, <endpoint>, <mappingTranslator>)
Parâmetros:
<bodyReceiver>
: objeto ou vetor a ser recebido no body da API externa. Recebe tanto body quanto header de retorno.
<bodySender>
: objeto a ser enviado no body da API externa.
<body>
: objeto a ser enviado/recebido no body da API externa. Após envio, objeto é compartilhado para recebimento (tanto body quanto header de retorno).
<header>
: objeto a ser enviado no header da API externa, para os casos em que há um header.
<APIinfo>
: nome do arquivo Lawdef onde se armazena as informações (tokens, base URI, etc) sobre a API respectiva. Obrigatoriamente uma String. Pode ser "null" caso não haja nenhum Lawdef associado.
<endpoint>
: o sufixo do recurso URI do serviço propriamente. Obrigatoriamente uma String. Caso não haja Lawdef que defina o path root da API, pode-se colocar o o endereço completo da URI.
<mappingTranslator>
: um mapeamento que toma cada chave do objeto recebido da API externa e o redireciona a um alias dentro do objeto receptor no Lawtex. Obrigatoriamente uma String
formatado como "ChaveExternaRecebida: caminhoDoOperandoNoReceptorLawtex" separados por vírgula. Ex. “NumeroExterno: obj.numeroExterno, IDCaso: idCaso”. Alternativamente, pode-se usar a propriedade “label” do operando para definir esse alias da API externa.
Observação: Note que há três parâmetros para o body da API. <bodyReceiver>
e <bodySender>
é usado para APIs que o body separa o envio e recebimento de informações. O <body>
, por sua vez, é usado quando o body da API compartilha o envio e recebimento das informações.
Observação: O <header>
deve ser usado com as chaves.
Retorno:
Devolve os dados em body ou bodyReceiver para a API especificada em APIinfo e pelo endpoint via POST.
Exemplo:
declarations { +<strTeste> : Struct { fields { +[nome] : String, +[rg] : String } } } operations { APIPost(<strTeste>, null, "http://api.com.br/pessoa")}