Boa tarde! Preciso montar um rotina de importação de pedidos, vou consumir um arquivo json para fazer essa importação. Na teoria sei com fazer mais na pratica estou escuro, alguém poderia dar algumas dicas de fazer e processo.
Boa tarde,
Se você já tem o código para acessa o serviço que você quer , basta ler as informações do Json e imputar as informações no msexecauto como você faria em um programa desktop.
Atenção: Esta publicação foi transferida automaticamente do fórum antigo, mas os anexos não foram incluídos.
1° chama o arquivo json
2° fazer as validações
3° chama o execauto mata410.
Essa parte eu tenho noção, porem não sei com fazer a parte integração com json teria algum modelo?
Ja consegui entender todo processo mais não estou sabendo com aplicar a solução, estou meio perdido ainda.
ainda tem esse anexo, pois o mesmo esta com o link esta invalido
Bom dia,
Basta usar a função FWRest() - https://tdn.totvs.com/display/framework/FWRest
Aqui mesmo no forum já existe alguns exemplos como esse -> https://forum.totvs.io/t/fwrest-metodo-post-com-url-https/16540
A única coisa que você precisa ter atenção é em parâmetros, autenticação e não esquecer de passar todas as configurações para consumo da API
Fiz um exemplo bem simples mas que vc consegue compilar e rodar:
User Function GetRandomTrivia()
Local cURL := "http://numbersapi.com/random/?json"
Local oJson := JsonObject():New()
Local cRetGet := ""
Local cParser := ""
Local cEncodeUTF8 := ""
//Faz a requisicao GET para API
//cRetGet receve a resoista da api
cRetGet := HTTPSGET(cURL,"","","",,120,,)
//Converte o ENCODE para não tem problema com acentos/caracteres
cEncodeUTF8 := DecodeUTF8(cRetGet, "cp1252")
//Parseia a resposta em formato JSON
cParser := oJson:FromJson( cEncodeUTF8 )
//Aqui vc adiciona sua logica para capturar e validar o conteudo do json.
Alert( oJson["text"] ) //valor do text
Alert( oJson["number"] ) //valor do number
Return
Nesse caso usei uma API publica Number Trivia para fazer a requisicao e como "interpreta-la" dentro do advpl.
a estrutura do json da API é a seguinte:
{
"text": "58 is the number of usable cells on a Hexxagon game board.",
"number": 58,
"found": true,
"type": "trivia"
}
No exemplo capturo o valor do atributo text e number, basta você ajustar os nomes conforme a sua API.
Muito obrigado! Conseguir montar meu fonte com ajuda de todos.