Ir para conteúdo
  • Cadastre-se

dev botao

Envio XML ACBRNFe para um WebService REST Automaticamente


  • Este tópico foi criado há 653 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro

Boa noite,

Preciso fazer um complemento no ACBRNfe onde preciso enviar o arquivo XML para o webservice via rest (conforme código abaixo) para que o usuário não tenha que mandar o XML manualmente , mas não estou conseguindo e não achei em lugar nenhum isso.

Consegui fazer login no webservice , pegar a resposta do WebService , tudo funcionando, estou utilizando componente do Delphi mesmo (aba RESTClient): RESTClient, RESTRequest  e RESTResponse.

Consegui montar:

* [Método] URL
[POST] {{url}}/orders/{{id_oc}}/billing/invoice - ok 

* Parâmetros de Cabeçalho (Header)
Authorization [String]  Bearer {{token}} - ok 

Aqui que começa o problema no Body:

- Não estou conseguindo montar o parâmetro de corpo para enviar os XML  ...

* Parâmetros de Corpo (Body)
remittance [String]   - aqui vai o XML da Nota Fiscal e Ordem de Terceiros
symbolic    [String]   - aqui o XML da Nota Fiscal de Venda

Não achei nenhum exemplo no Google. Tenho esta rotina desenvolvida em Angular.js/PHP mas não estou conseguindo transformar em Delphi.

Alguém poderia me ajudar neste post , pois o ACBR já gera o XML, ja gostaria e enviar automaticamente.

 

Exemplo em PHP

$service->put('/notas_xml',function(){3

    // Instanciando a variavel do FrameWork de Requisição
    $request = \Slim\Slim::getInstance()->request();
    $dados   = json_decode($request->getBody());

    try {

        $client = new GuzzleHttp\Client(['headers' => ['Authorization' => 'Bearer '. $dados->token_auto, 'Content-Type'=> 'application/json']]);

        $webrequest = $client->post(
            'http://danel.danieljunior.com.br/api/v1/orders/'.$dados->id_ordem.'/billing/invoices', [
            'body' => json_encode([
                'remittance' => $dados->nota_remessa,
                'symbolic'   => $dados->nota_simbolica])
            ]);


        $promise = $client->sendAsync($webrequest)->then(function($response) {
            $result = $response->getBody();
            echo json_encode(array('status' => true,'texto' => json_decode($result, true)));
        });

        } catch (Exception $e) {
             echo json_encode(array('status' => true,'texto' => json_decode($e->getResponse()->getBody()->getContents(), true)));
        }

    // $promise->wait();

});

 

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 653 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...