Lembre-se de acessar a central de ajudas através do seu sistema e-Login para ter acesso completo ao conteúdo.

[XML Protegido] Repositório NFC-e Outro Software – Método eDoc_ImportacaoXmlNFCe_OutroSoftware

Este método tem por objetivo importar os arquivos XML de notas NFC-e para o Repositório NFC-e Outro Software.

Os parâmetros Header necessários para realizar a chamada a este web service são:


Authorization : vai conter a codificação do usuário e senha utilizados para autenticar o Rest. Estes dados devem ser obtidos junto a equipe Datamex.

Após obter o usuário e senha é preciso enviar um Header codificando o usuário e senha no padrão base64_encode. Segue o exemplo:

Usuario:teste

Senha:teste

Gerando base64_encode utilizando php: base64_encode(“teste:teste”) ficaria: dGVzdGU6dGVzdGU=

Deste modo enviaríamos o Header abaixo:
Authorization: Basic dGVzdGU6dGVzdGU=

Os parâmetros do Body necessários para realizar a chamada ao web service são:

p: Ambiente -> indica o projeto que vai executar o Rest.

f: executarHub -> essa é a função padrão do projeto Ambiente que faz a chamada ao Hub indicado.

hub: nome interno do parâmetro do Hub criado pela equipe de suporte/implantação da Datamex. (Esse nome tem que ser solicitado junto a equipe Datamex)

empresaCNPJ: informar um cnpj sem formatação, exemplo:
11484819000156. O cnpj enviado terá que ser de uma empresa cadastrada na base Datamex e será a empresa que identificará os arquivos xml enviados.

arquivo: será um arquivo no formato ZIP contendo os arquivos xml a serem importados.

Segue um exemplo de Requisição Rest via PHP utilizando a biblioteca cURL:

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "http://urlclientedatamex/ws/",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => "------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"p\"\r\n\r\nAmbiente\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"f\"\r\n\r\nexecutaHub\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"hub\"\r\n\r\nnomeInternoHub\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"empresaCNPJ\"\r\n\r\n123231231231\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"arquivo\"; filename=\"exemploXMLNFCe.zip\"\r\nContent-Type: application/zip\r\n\r\n\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW--",
  CURLOPT_HTTPHEADER => array(
    "Accept: */*",
    "Accept-Encoding: gzip, deflate",
    "Authorization: Basic 22skcsVpdkBzcGlyaW5h2g==",
    "Cache-Control: no-cache",
    "Connection: keep-alive",
    "Content-Length: 2500",
    "Content-Type: multipart/form-data; boundary=--------------------------488384294795054306390192",
    "Cookie: PSD=qv093dkabttbmce6klcconop03",
    "content-type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}

Segue exemplos de retorno da importação:

{"sucesso":true}

Neste retorno indica que todas as notas enviadas no arquivo ZIP foram gravadas com sucesso no Repositório NFC-e Datamex.

{
    "sucesso": false,
    "erro": [
        "Notas importadas: 43190906040389000185650010000168411000211901<br />Relação de notas não importadas, possivelmente essas notas já foram importadas: 43190906040389000185650010000168401000211890<br />"
    ]
}

O retorno acima indica que uma das notas foi importada porém a outra possivelmente já tenha sido importada anteriormente, deste modo só uma das notas enviadas no arquivo ZIP foi gravada no repositório Datamex.

{
    "sucesso": false,
    "erro": [
        "Relação de notas não importadas, possivelmente essas notas já foram importadas: 43190906040389000185650010000168401000211890, 43190906040389000185650010000168411000211901<br />"
    ]
}

O retorno acima indica que todas as notas enviadas no arquivo ZIP já tinham sido importadas anteriormente.

FICOU COM DÚVIDA? Encaminhe e-mail para: suporte@datamex.com.br
Se preferir falar conosco:
Porto Alegre / RS 051 4063 8343
Rio Grande / RS 053 3036 2525
Caxias do Sul / RS 054 4062 9320
Rio de Janeiro / RJ 021 4063 8395
Itajaí / SC 047 4054 9320
Paranaguá / PR 041 4064 9110
Belo Horizonte / MG 031 4063 8310
São Paulo / SP 011 4063 8395


AINDA NÃO É CLIENTE DATAMEX? Não perca tempo, conheça a solução Datamex para a Gestão de Transportadoras, Armazéns Gerais e Empresas de Logística: Emissor de CTe, MDFe, CIOT e EDI