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();
});