Listagem de Notas Fiscais

Requisição para a consulta de dados dos notas fiscais de pedidos.

Método GET

https://{api_address}/orders/invoices

Código de Exemplo

<?php
    $params["access_token"] = "### Chave de Acesso ###";
    $params["sort"] = "id_desc";

    $url = "https://{api_address}/orders/invoices/?".http_build_query($params);

    ob_start();

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");
    curl_exec($ch);

    // JSON de retorno  
    $resposta = json_decode(ob_get_contents());
    $code = curl_getinfo($ch, CURLINFO_HTTP_CODE);

    ob_end_clean();
    curl_close($ch);

    if($code == "200"){
        //Tratamento dos dados de resposta da consulta.
    }else{
        //Tratamento das mensagens de erro
    }
?>

string URLAuth = "https://{api_address}/orders/invoices/";

NameValueCollection queryParameters = new NameValueCollection();

queryParameters.Add("access_token", "### Chave de Acesso ###");    
queryParameters.Add("sort", "id_desc");

List items = new List();

foreach (String name in queryParameters)
    items.Add(String.Concat(name, "=", System.Web.HttpUtility.UrlEncode(queryParameters[name])));

string argsString = String.Join("&", items.ToArray());

WebRequest request = WebRequest.Create(URLAuth + "?" + argsString);
    
request.Credentials = CredentialCache.DefaultCredentials;
    
WebResponse response = request.GetResponse();
  
Console.WriteLine(((HttpWebResponse)response).StatusDescription);
    
Stream dataStream = response.GetResponseStream();
    
StreamReader reader = new StreamReader(dataStream);

string responseData = reader.ReadToEnd();

Console.WriteLine(responseData);
reader.Close();
response.Close();

String url = "https://{api_address}/orders/invoices/";

Map<String, String> mapToConvert = new HashMap<>();
mapToConvert.put("access_token", "### Chave de Acesso ###");
mapToConvert.put("sort", "id_desc");

String queryString = "";

for (Entry<String, String> entry : mapToConvert.entrySet()) {
    queryString += entry.getKey()+"="+ entry.getValue()+"&";
}

try {
    URL obj = new URL(url+"?"+queryString);
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    
    con.setRequestMethod("GET");
    con.setRequestProperty("User-Agent", USER_AGENT);

    int responseCode = con.getResponseCode();

    BufferedReader in ;
    if (responseCode >= 200 && responseCode < 300){
        in = new BufferedReader(
            new InputStreamReader(con.getInputStream()));
    }else{
        in = new BufferedReader(
            new InputStreamReader(con.getErrorStream()));
    }
    
    String inputLine;
    StringBuilder response = new StringBuilder();

    while ((inputLine = in.readLine()) != null) {
            response.append(inputLine);
    }
    in.close();
    
    String resposta = response.toString();

} catch (Exception ex){
    // Tratamento da Exception
}

Parâmetros enviados

Field Type Description
access_token String

Chave de acesso

Retorno em caso de sucesso (status code 200 ou 201)

Field Type Description
paging Object

Dados de paginação

  total Number

Total de registros

  page Number

Página corrente

  offset Number

Registro inicial da página

  limit Number

Limite de registros

  maxLimit Number

Máximo de registros

sort Object[]

Ordenação

availableFilters String[]

Filtros disponíveis

appliedFilters String[]

Filtros utilizados

OrderInvoices Object[]

Listagem das notas fiscais

  OrderInvoice Object

Dados da nota fiscal

    id Number

Código da nota fiscal

    order_id String

Código do pedido

    issue_date Date

Data de emissão

    number String

Número da nota fiscal

    serie String

Série da nota fiscal

    value Decimal

Valor total da nota fiscal

    key String

Chave da nota fiscal

    link String

URL de acesso da nota fiscal

    xml_danfe String

XML Danfe

    created Date

Data de criação

    updated Date

Data de atualização

    ProductCfop Object[]

Dados dos produtos CFOP

      product_id Number

Código do produto

      variation_id Number

Código da variação

      cfop Number

Código CFOP

      order_invoice_id Number

Código da nota fiscal

Json de retorno

HTTP/1.1 200 OK
{
    "paging": {
        "total": 6,
        "page": 1,
        "offset": 0,
        "limit": 1,
        "maxLimit": 50
    },
    "sort": [
        {
            "id": "desc"
        }
    ],
    "availableFilters": [],
    "appliedFilters": [],
    "OrderInvoices": [
        {
            "OrderInvoice": {
                "id": "123",
                "order_id": "123",
                "issue_date": "2016-08-15",
                "number": "213123213213",
                "serie": "123",
                "value": "50.85",
                "key": "12345678901234567890123456789012345678901234",
                "link": "http://www.link.com.br/12345678901234567890123456789012345678901234",
                "xml_danfe": "### XML DANFE ###",
                "created": "2016-08-16 16:19:40",
                "updated": "2016-08-17 16:15:39",
                "ProductCfop": [
                    {
                        "product_id": "123",
                        "variation_id": "0",
                        "cfop": "1234"
                    }
                ]
            }
        }
    ]
}
 

Consultar Dados da Nota Fiscal

Requisição para a consulta de dados de uma nota fiscal do pedido utilizando o código do pedido e o código da nota fical.

Método GET

https://{api_address}/orders/:order_id/invoices/:invoice_id

Código de Exemplo

<?php
    $params["access_token"] = "### Chave de Acesso ###";

    $url = "https://{api_address}/orders/123/invoices/456?".http_build_query($params);

    ob_start();

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");
    curl_exec($ch);

    // JSON de retorno  
    $resposta = json_decode(ob_get_contents());
    $code = curl_getinfo($ch, CURLINFO_HTTP_CODE);

    ob_end_clean();
    curl_close($ch);

    if($code == "200"){
        //Tratamento dos dados de resposta da consulta.
    }else{
        //Tratamento das mensagens de erro
    }
?>

string URLAuth = "https://{api_address}/orders/123/invoices/456";

NameValueCollection queryParameters = new NameValueCollection();

queryParameters.Add("access_token", "### Chave de Acesso ###");    

List items = new List();

foreach (String name in queryParameters)
    items.Add(String.Concat(name, "=", System.Web.HttpUtility.UrlEncode(queryParameters[name])));

string argsString = String.Join("&", items.ToArray());

WebRequest request = WebRequest.Create(URLAuth + "?" + argsString);
    
request.Credentials = CredentialCache.DefaultCredentials;
    
WebResponse response = request.GetResponse();
  
Console.WriteLine(((HttpWebResponse)response).StatusDescription);
    
Stream dataStream = response.GetResponseStream();
    
StreamReader reader = new StreamReader(dataStream);

string responseData = reader.ReadToEnd();

Console.WriteLine(responseData);
reader.Close();
response.Close();

String url = "https://{api_address}/orders/123/invoices/456";

Map<String, String> mapToConvert = new HashMap<>();
mapToConvert.put("access_token", "### Chave de Acesso ###");

String queryString = "";

for (Entry<String, String> entry : mapToConvert.entrySet()) {
    queryString += entry.getKey()+"="+ entry.getValue()+"&";
}

try {
    URL obj = new URL(url+"?"+queryString);
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    
    con.setRequestMethod("GET");
    con.setRequestProperty("User-Agent", USER_AGENT);

    int responseCode = con.getResponseCode();

    BufferedReader in ;
    if (responseCode >= 200 && responseCode < 300){
        in = new BufferedReader(
            new InputStreamReader(con.getInputStream()));
    }else{
        in = new BufferedReader(
            new InputStreamReader(con.getErrorStream()));
    }
    
    String inputLine;
    StringBuilder response = new StringBuilder();

    while ((inputLine = in.readLine()) != null) {
            response.append(inputLine);
    }
    in.close();
    
    String resposta = response.toString();

} catch (Exception ex){
    // Tratamento da Exception
}

Parâmetros enviados

Field Type Description
access_token String

Chave de acesso

:order_id Number

Código do pedido

:invoice_id Number

Código do pedido

Retorno em caso de sucesso (status code 200 ou 201)

 
Field Type Description
OrderInvoices Object[]

Listagem das notas fiscais

  OrderInvoice Object

Dados da nota fiscal

    id Number

Código da nota fiscal

    order_id String

Código do pedido

    issue_date Date

Data de emissão

    number String

Número da nota fiscal

    serie String

Série da nota fiscal

    value Decimal

Valor total da nota fiscal

    key String

Chave da nota fiscal

    link String

URL de acesso da nota fiscal

    xml_danfe String

XML Danfe

  ProductCfop Object[]

Dados dos produtos CFOP

    product_id Number

Código do produto

    variation_id Number

Código da variação

    cfop Number

Código CFOP

    order_invoice_id Number

Código da nota fiscal

Json de retorno

HTTP/1.1 200 OK
{
    "OrderInvoices": [
        {
            "OrderInvoice": {
                "id": "123",
                "order_id": "123",
                "issue_date": "2016-08-15",
                "number": "213123213213",
                "serie": "123",
                "value": "50.85",
                "key": "12345678901234567890123456789012345678901234",
                "link": "http://link.com.br/12345678901234567890123456789012345678901234",
                "xml_danfe": "### XML DANFE ###"
            },
            "ProductCfop": [
                {
                    "product_id": "123",
                    "variation_id": "0",
                    "cfop": "1234",
                    "order_invoice_id": "123"
                }
            ]
        }
    ]
}

Consultar Nota por Pedido

Requisição para a consulta de dados de uma nota fiscal do pedido utilizando somente o código do pedido.

Método GET

https://{api_address}/orders/:id/invoices

Código de Exemplo

<?php
    $params["access_token"] = "### Chave de Acesso ###";

    $url = "https://{api_address}/orders/123/invoices/?".http_build_query($params);

    ob_start();

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");
    curl_exec($ch);

    // JSON de retorno  
    $resposta = json_decode(ob_get_contents());
    $code = curl_getinfo($ch, CURLINFO_HTTP_CODE);

    ob_end_clean();
    curl_close($ch);

    if($code == "200"){
        //Tratamento dos dados de resposta da consulta.
    }else{
        //Tratamento das mensagens de erro
    }
?>

string URLAuth = "https://{api_address}/orders/123/invoices/";

NameValueCollection queryParameters = new NameValueCollection();

queryParameters.Add("access_token", "### Chave de Acesso ###");    

List items = new List();

foreach (String name in queryParameters)
    items.Add(String.Concat(name, "=", System.Web.HttpUtility.UrlEncode(queryParameters[name])));

string argsString = String.Join("&", items.ToArray());

WebRequest request = WebRequest.Create(URLAuth + "?" + argsString);
    
request.Credentials = CredentialCache.DefaultCredentials;
    
WebResponse response = request.GetResponse();
  
Console.WriteLine(((HttpWebResponse)response).StatusDescription);
    
Stream dataStream = response.GetResponseStream();
    
StreamReader reader = new StreamReader(dataStream);

string responseData = reader.ReadToEnd();

Console.WriteLine(responseData);
reader.Close();
response.Close();

String url = "https://{api_address}/orders/123/invoices/";

Map<String, String> mapToConvert = new HashMap<>();
mapToConvert.put("access_token", "### Chave de Acesso ###");

String queryString = "";

for (Entry<String, String> entry : mapToConvert.entrySet()) {
    queryString += entry.getKey()+"="+ entry.getValue()+"&";
}

try {
    URL obj = new URL(url+"?"+queryString);
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    
    con.setRequestMethod("GET");
    con.setRequestProperty("User-Agent", USER_AGENT);

    int responseCode = con.getResponseCode();

    BufferedReader in ;
    if (responseCode >= 200 && responseCode < 300){
        in = new BufferedReader(
            new InputStreamReader(con.getInputStream()));
    }else{
        in = new BufferedReader(
            new InputStreamReader(con.getErrorStream()));
    }
    
    String inputLine;
    StringBuilder response = new StringBuilder();

    while ((inputLine = in.readLine()) != null) {
            response.append(inputLine);
    }
    in.close();
    
    String resposta = response.toString();

} catch (Exception ex){
    // Tratamento da Exception
}

Parâmetros enviados

Field Type Description
access_token String

Chave de acesso

:id Number

Código do pedido

Retorno em caso de sucesso (status code 200 ou 201)

Field Type Description
OrderInvoices Object[]

Listagem das notas fiscais

  OrderInvoice Object

Dados da nota fiscal

    id Number

Código da nota fiscal

    order_id String

Código do pedido

    issue_date Date

Data de emissão

    number String

Número da nota fiscal

    serie String

Série da nota fiscal

    value Decimal

Valor total da nota fiscal

    key String

Chave da nota fiscal

    link String

URL de acesso da nota fiscal

    xml_danfe String

XML Danfe

  ProductCfop Object[]

Dados dos produtos CFOP

    product_id Number

Código do produto

    variation_id Number

Código da variação

    cfop Number

Código CFOP

    order_invoice_id Number

Código da nota fiscal

Json de retorno

HTTP/1.1 200 OK
{
    "OrderInvoices": [
        {
            "OrderInvoice": {
                "id": "123",
                "order_id": "123",
                "issue_date": "2016-08-15",
                "number": "213123213213",
                "serie": "123",
                "value": "50.85",
                "key": "12345678901234567890123456789012345678901234",
                "link": "http://link.com.br/12345678901234567890123456789012345678901234",
                "xml_danfe": "### XML DANFE ###"
            },
            "ProductCfop": [
                {
                    "product_id": "123",
                    "variation_id": "0",
                    "cfop": "1234",
                    "order_invoice_id": "123"
                }
            ]
        }
    ]
}

Cadastrar Nota Fiscal

Requisição para inclusão dos dados de nota fiscal de pedidos. Deverá enviar o JSON com os dados da nota fiscal para a criação.

Método POST

https://{api_address}/orders/:id/invoices

Código de Exemplo

<?php
    $params["access_token"] = "### Chave de Acesso ###";

    $data["issue_date"] = "2016-08-15";
    $data["number"] = "213123213213";
    $data["serie"] = "123";
    $data["value"] = "50.85";
    $data["key"] = "12345678901234567890123456789012345678901234";
    $data["link"] = "http://www.link.com.br/12345678901234567890123456789012345678901234";
    $data["xml_danfe"] = "### XML DANFE ###";
    $data["ProductCfop"]["product_id"] = "123";
    $data["ProductCfop"]["variation_id"] = "0";
    $data["ProductCfop"]["cfop"] = "1234";

    $url = "https://{api_address}/orders/123/invoices/?".http_build_query($params);

    ob_start();

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
        'Content-Type: application/json',
        'Content-Length: ' . strlen(json_encode($data)))
    );
    curl_exec($ch);

    // JSON de retorno  
    $resposta = json_decode(ob_get_contents());
    $code = curl_getinfo($ch, CURLINFO_HTTP_CODE);

    ob_end_clean();
    curl_close($ch);

    if($code == "201"){
        //Tratamento dos dados de resposta da consulta.
    }else{
        //Tratamento das mensagens de erro
    }
?>

string URLAuth = "https://{api_address}/orders/123/invoices/";

NameValueCollection queryParameters = new NameValueCollection();

queryParameters.Add("access_token", "### Chave de Acesso ###");

List items = new List();

foreach (String name in queryParameters)
    items.Add(String.Concat(name, "=", System.Web.HttpUtility.UrlEncode(queryParameters[name])));

string argsString = String.Join("&", items.ToArray());

string postString  = "{";
       postString += "  \"issue_date\": \"2016-08-15\",";
       postString += "  \"number\": \"213123213213\",";
       postString += "  \"serie\": \"123\",";
       postString += "  \"value\": \"50.85\",";
       postString += "  \"key\": \"12345678901234567890123456789012345678901234\",";
       postString += "  \"link\": \"http://www.link.com.br/12345678901234567890123456789012345678901234\",";
       postString += "  \"xml_danfe\": \"### XML DANFE ###\",";
       postString += "  \"OrderStatus\": {";
       postString += "      \"product_id\": \"123\",";
       postString += "      \"variation_id\": \"0\"";
       postString += "      \"cfop\": \"1234\"";
       postString += "  }";
       postString += "}";

HttpWebRequest webRequest = WebRequest.Create(URLAuth + "?" + argsString) as HttpWebRequest;
webRequest.Method = "POST";
webRequest.ContentType = "application/json";

StreamWriter requestWriter = new StreamWriter(webRequest.GetRequestStream());
requestWriter.Write(postString);
requestWriter.Close();

StreamReader responseReader = new StreamReader(webRequest.GetResponse().GetResponseStream());
string responseData = responseReader.ReadToEnd();

responseReader.Close();
webRequest.GetResponse().Close();

String url = "https://{api_address}/orders/123/invoices/";
StringBuffer response = null ;
try{
    String access_token = "?access_token=### Chave de Acesso ###";
    
    URL obj = new URL(url+access_token);
    HttpsURLConnection con = (HttpsURLConnection) obj.openConnection();

    //add reuqest header
    con.setRequestMethod("POST");
    con.setRequestProperty("User-Agent", USER_AGENT);
    con.setRequestProperty("Content-Type", "application/json");
    con.setRequestProperty("Accept-Language", "en-US,en;q=0.5");

    String postString  = "{";
           postString += "  \"issue_date\": \"2016-08-15\",";
           postString += "  \"number\": \"213123213213\",";
           postString += "  \"serie\": \"123\",";
           postString += "  \"value\": \"50.85\",";
           postString += "  \"key\": \"12345678901234567890123456789012345678901234\",";
           postString += "  \"link\": \"http://www.link.com.br/12345678901234567890123456789012345678901234\",";
           postString += "  \"xml_danfe\": \"### XML DANFE ###\",";
           postString += "  \"OrderStatus\": {";
           postString += "      \"product_id\": \"123\",";
           postString += "      \"variation_id\": \"0\"";
           postString += "      \"cfop\": \"1234\"";
           postString += "  }";
           postString += "}";
           
    // Send post request
    con.setDoOutput(true);
    DataOutputStream wr = new DataOutputStream(con.getOutputStream());
    wr.writeBytes(postString);
    wr.flush();
    wr.close();

    int responseCode = con.getResponseCode();

    BufferedReader in ;
    if (responseCode >= 200 && responseCode < 300){
        in = new BufferedReader(
            new InputStreamReader(con.getInputStream()));
    }else{
        in = new BufferedReader(
            new InputStreamReader(con.getErrorStream()));
    }
    
    String inputLine;
    response = new StringBuffer();

    while ((inputLine = in.readLine()) != null) {
            response.append(inputLine);
    }
    in.close();

} catch (Exception ex){
    // Tratamento da Exception
}
String resposta = response.toString();

Parâmetros enviados

Field Type Description
access_token String

Chave de acesso

:id Number

Código do pedido

issue_date Date

Data de emissão

number String

Número da nota fiscal

serie String

Série da nota fiscal

value Decimal

Valor total da nota fiscal

key String

Chave da nota fiscal

link String

URL de acesso da nota fiscal

xml_danfe String

XML Danfe

ProductCfop Object[]

Dados dos produtos CFOP

  product_id Number

Código do produto

  variation_id Number

Código da variação

  cfop Number

Código CFOP

Estrutura de Json

POST /orders/123/invoices/?access_token=abc96fb7b1defd2496b9a9d81071fa12319b12306465e057d0ebca9bd9ab19
{
    "issue_date": "2016-08-15",
    "number": "213123213213",
    "serie": "123",
    "value": "50.85",
    "key": "12345678901234567890123456789012345678901234",
    "link": "http://www.link.com.br/12345678901234567890123456789012345678901234",
    "xml_danfe": "### XML DANFE ###",
    "ProductCfop": [
        {
            "product_id": "123",
            "variation_id": "123",
            "cfop": "1234"
        }
    ]
}

Retorno em caso de sucesso (status code 200 ou 201)

Field Type Description
message String

Mensagem de retorno

id Number

Código da nota fiscal

code Number

Código do retorno (201)

 

Json de retorno

HTTP/1.1 201 OK
{
    "message": "Created",
    "id": "123",
    "code": 201
}
 

Atualizar Dados da Nota Fiscal

Requisição para alterar os dados de uma nota fiscal de pedidos. Deverá enviar o JSON com os dados da nota fiscal para a alteração.

Método PUT

https://{api_address}/orders/:order_id/invoices/:invoice_id

Código de Exemplo

<?php
    $params["access_token"] = "### Chave de Acesso ###";

    $data["issue_date"] = "2016-08-15";
    $data["number"] = "213123213213";
    $data["serie"] = "123";
    $data["value"] = "50.85";
    $data["key"] = "12345678901234567890123456789012345678901234";
    $data["link"] = "http://www.link.com.br/12345678901234567890123456789012345678901234";
    $data["xml_danfe"] = "### XML DANFE ###";
    $data["ProductCfop"]["product_id"] = "123";
    $data["ProductCfop"]["variation_id"] = "0";
    $data["ProductCfop"]["cfop"] = "1234";

    $url = "https://{api_address}/orders/123/invoices/456?".http_build_query($params);

    ob_start();

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
        'Content-Type: application/json',
        'Content-Length: ' . strlen(json_encode($data)))
    );
    curl_exec($ch);

    // JSON de retorno  
    $resposta = json_decode(ob_get_contents());
    $code = curl_getinfo($ch, CURLINFO_HTTP_CODE);

    ob_end_clean();
    curl_close($ch);

    if($code == "200"){
        //Tratamento dos dados de resposta da consulta.
    }else{
        //Tratamento das mensagens de erro
    }
?>

string URLAuth = "https://{api_address}/orders/123/invoices/456";

NameValueCollection queryParameters = new NameValueCollection();

queryParameters.Add("access_token", "### Chave de Acesso ###");

List items = new List();

foreach (String name in queryParameters)
    items.Add(String.Concat(name, "=", System.Web.HttpUtility.UrlEncode(queryParameters[name])));

string argsString = String.Join("&", items.ToArray());

string putString  = "{";
       putString += "  \"issue_date\": \"2016-08-15\",";
       putString += "  \"number\": \"213123213213\",";
       putString += "  \"serie\": \"123\",";
       putString += "  \"value\": \"50.85\",";
       putString += "  \"key\": \"12345678901234567890123456789012345678901234\",";
       putString += "  \"link\": \"http://www.link.com.br/12345678901234567890123456789012345678901234\",";
       putString += "  \"xml_danfe\": \"### XML DANFE ###\",";
       putString += "  \"OrderStatus\": {";
       putString += "      \"product_id\": \"123\",";
       putString += "      \"variation_id\": \"0\"";
       putString += "      \"cfop\": \"1234\"";
       putString += "  }";
       putString += "}";

HttpWebRequest webRequest = WebRequest.Create(URLAuth + "?" + argsString) as HttpWebRequest;
webRequest.Method = "PUT";
webRequest.ContentType = "application/json";

StreamWriter requestWriter = new StreamWriter(webRequest.GetRequestStream());
requestWriter.Write(putString);
requestWriter.Close();

StreamReader responseReader = new StreamReader(webRequest.GetResponse().GetResponseStream());
string responseData = responseReader.ReadToEnd();

responseReader.Close();
webRequest.GetResponse().Close();

String url = "https://{api_address}/orders/invoices/456";
StringBuffer response = null ;
try{
    String access_token = "?access_token=### Chave de Acesso ###";
    
    URL obj = new URL(url+access_token);
    HttpsURLConnection con = (HttpsURLConnection) obj.openConnection();

    //add reuqest header
    con.setRequestMethod("PUT");
    con.setRequestProperty("User-Agent", USER_AGENT);
    con.setRequestProperty("Content-Type", "application/json");
    con.setRequestProperty("Accept-Language", "en-US,en;q=0.5");

    String putString  = "{";
           putString += "  \"issue_date\": \"2016-08-15\",";
           putString += "  \"number\": \"213123213213\",";
           putString += "  \"serie\": \"123\",";
           putString += "  \"value\": \"50.85\",";
           putString += "  \"key\": \"12345678901234567890123456789012345678901234\",";
           putString += "  \"link\": \"http://www.link.com.br/12345678901234567890123456789012345678901234\",";
           putString += "  \"xml_danfe\": \"### XML DANFE ###\",";
           putString += "  \"OrderStatus\": {";
           putString += "      \"product_id\": \"123\",";
           putString += "      \"variation_id\": \"0\"";
           putString += "      \"cfop\": \"1234\"";
           putString += "  }";
           putString += "}";
           
    // Send put request
    con.setDoOutput(true);
    DataOutputStream wr = new DataOutputStream(con.getOutputStream());
    wr.writeBytes(putString);
    wr.flush();
    wr.close();

    int responseCode = con.getResponseCode();

    BufferedReader in ;
    if (responseCode == 200){
        in = new BufferedReader(
            new InputStreamReader(con.getInputStream()));
    }else{
        in = new BufferedReader(
            new InputStreamReader(con.getErrorStream()));
    }
    
    String inputLine;
    response = new StringBuffer();

    while ((inputLine = in.readLine()) != null) {
            response.append(inputLine);
    }
    in.close();

} catch (Exception ex){
    // Tratamento da Exception
}
String resposta = response.toString();

Parâmetros enviados

Field Type Description
access_token String

Chave de acesso

:order_id Number

Código do pedido

:invoice_id Number

Código da nota fiscal

issue_date Date

Data de emissão

number String

Número da nota fiscal

serie String

Série da nota fiscal

value Decimal

Valor total da nota fiscal

key String

Chave da nota fiscal

link String

URL de acesso da nota fiscal

xml_danfe String

XML Danfe

ProductCfop Object[]

Dados dos produtos CFOP

  product_id Number

Código do produto

  variation_id Number

Código da variação

  cfop Number

Código CFOP

Estrutura de Json

PUT /orders/123/invoices/456?access_token=abc96fb7b1defd2496b9a9d81071fa12319b12306465e057d0ebca9bd9ab19
{
    "issue_date": "2016-08-15",
    "number": "213123213213",
    "serie": "123",
    "value": "50.85",
    "key": "12345678901234567890123456789012345678901234",
    "link": "http://www.link.com.br/12345678901234567890123456789012345678901234",
    "xml_danfe": "### XML DANFE ###",
    "ProductCfop": [
        {
            "product_id": "123",
            "variation_id": "123",
            "cfop": "1234"
        }
    ]
}

Retorno em caso de sucesso (status code 200 ou 201)

Field Type Description
message String

Mensagem de retorno

id Number

Código da nota fiscal

code Number

Código do retorno (200)

Json de retorno

HTTP/1.1 200 OK
{
    "message": "Saved",
    "id": "1234",
    "code": 200
}

....

Considerações:

Com relação ao processo de nota fiscal via API, atualmente apenas informamos como deverá ser enviada a estrutura dos campos dentro da API. A Tray não disponibiliza nenhum exemplo de XML, pois o conteúdo do mesmo, ficará à cargo do integrador que está emitindo a nota fiscal, os dados á serem inseridos no xml, irá depender da configuração entre lojista x ERP.

O conteúdo do XML e os caracteres, o integrador deverá validar diretamente em sua aplicação. O integrador poderá fazer uso de um validador online de xml, para validar e ajustar o envio dos seus dados.

Quando se tratar de um pedido do Mercado Livre, é muito importante o integrador validar junto ao lojista, o fluxo da utilização do Faturar do ML, para que não venha ocorrer problemas de duplicação de notas fiscais.

Sendo assim, é de suma importância que o integrador contemple em sua rotina, a checagem do pedido, para averiguar se o mesmo já possui nota emitida ou não, pois é muito comum retornar um erro genérico do Mercado Livre na API, devido ao pedido já possuir uma nota fiscal e o integrador ficar tentando criar uma nota que já existe. Por este motivo, o fluxo do Faturador do ML deverá ser acertado entre ERP X LOJISTA.

https://vendedores.mercadolivre.com.br/agora-emitir-nf-e-gratis-e-possivel/

Frontend - Agencia 
Tem mais dúvidas? Envie uma solicitação

Comentários

    Artigos nessa seção

    Powered by Zendesk