Listagem de Pedidos

Requisição para consultar os dados das categorias de forma estruturada.

Método GET

https://{api_address}/orders

Código de Exemplo

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

    $url = "https://{api_address}/orders/?".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/";

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/";

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

id Number

Código do pedido

status String

Status do pedido

partner_id String

Código do parceiro

limit Number

Limite de registros

page Number

Página corrente

sort String

Ordenação ex.: [campo]_[asc/desc]

modified Date

Filtro de data de modificação, ex.: [start], [end] (Formato: aaaa-mm-dd)

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

Orders Object[]

Lista de produtos

  Order Object

Dados do pedido

    id Number

Código do pedido

    status String

Status do pedido

    date Date

Data do pedido

    customer_id Number

Código do cliente

    partial_total Decimal

Valor parcial do pedido

    taxes Decimal

Valor de acréscimo / taxa

    discount Decimal

Valor de desconto

    shipment_value Decimal

Valor de frete

    shipment_date Date

Data de envio do pedido

    discount_coupon Decimal

Código do cupom de desconto

    payment_method_rate Decimal

Taxa do meio de pagamento

    value_1 Decimal

Valor

    payment_form String

Forma de pagamento do pedido

    sending_code String

Código de Envio

    session_id Number

Código da sessão

    total Number

Valor total do pedido

    payment_date Date

Data de Pagamento

    access_code String

Código de acesso

    shipment_integrator String

Integrador de Envio

    modified Date

Data de Modificação

    id_quotation Number

Código externo de cotação de frete (Gateway de Frete)

    estimated_delivery_date Number

Tempo estimado de entrega

    total_comission_user Decimal

Comissão por usuario

    total_comission Decimal

Total de comissão

    is_traceable Number

É rastreavel

    OrderStatus Object[]

Detalhes de status do pedido

    ProductsSold Object[]

Lista de produtos do pedido

      id Number

Código dos produtos do pedido

    Payment Object[]

Informações de pagamento do pedido

      id Number

Código de pagamento do pedido

    OrderInvoice Object[]

Informações da nota fiscal do pedido

      id Number

Código da nota fiscal do pedido

 

Retorno de Sucesso

HTTP/1.1 200 OK

{
    "paging": {
        "total": 5,
        "page": 1,
        "offset": 0,
        "limit": 30,
        "maxLimit": 50
    },
    "sort": [
        {
            "id": "asc"
        }
    ],
    "availableFilters": [
        "id",
        "status",
        "partner_id",
        "session_id",
        "sending_code",
        "customer_id",
        "shipment",
        "point_sale",
        "payment_form",
        "access_code",
        "external_code",
        "modified",
        "date",
        "shipment_date",
        "payment_date"
    ],
    "appliedFilters": [],
    "Orders": [
        {
            "Order": {
                "status": "CANCELADO AUT",
                "id": "2",
                "date": "2018-03-08",
                "customer_id": "1",
                "partial_total": "200.00",
                "taxes": "0.00",
                "discount": "0.00",
                "point_sale": "LOJA VIRTUAL",
                "shipment": "Encomenda PAC",
                "shipment_value": "19.20",
                "shipment_date": "",
                "discount_coupon": "",
                "payment_method_rate": "0.00",
                "value_1": "0.00",
                "payment_form": "Boleto - Yapay",
                "sending_code": "",
                "session_id": "123abc123abc123abc123abc12",
                "total": "219.20",
                "payment_date": "0000-00-00",
                "access_code": "AD8BC6B29CAD4D9",
                "shipment_integrator": "Correios",
                "modified": "2018-04-05 16:27:26",
                "id_quotation": "",
                "estimated_delivery_date": "2018-03-15",
                "external_code": "",
                "total_comission_user": "0.00",
                "total_comission": "0.00",
                "is_traceable": "0",
                "OrderStatus": {
                    "type": "canceled",
                    "allow_edit_order": "0"
                },
                "ProductsSold": [
                    {
                        "id": "2"
                    }
                ],
                "Payment": [],
                "OrderInvoice": [],
                "MlOrder": [],
                "OrderTransactions": [],
                "Extensions": []
            }
        }

 

Dados do Pedido

Requisição para consultar os dados das categorias de forma estruturada.

Método GET

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

Código de Exemplo

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

    $url = "https://{api_address}/orders/123?".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";

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";

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
Order Object

Dados do pedido

  id Number

Código do pedido

  status String

Status do pedido

  date Date

Data do pedido

  hour Hour

Horário do pedido

  customer_id Number

Código do cliente

  partial_total Decimal

Valor parcial do pedido

  taxes Decimal

Valor de acréscimo / taxa

  discount Decimal

Valor de desconto

  point_sale String

Local de venda

  shipment String

Tipo de frete

  shipment_value Decimal

Valor de frete

  shipment_date Date

Data de envio do pedido

  delivered Number

Pedido enviado (Veja Tabela A)

  store_note String

Informações adicionais da loja

  customer_note String

Informações adicionais do cliente

  partner_id Number

Código do parceiro

  discount_coupon Decimal

Código do cupom de desconto

  payment_method_rate Decimal

Taxa do meio de pagamento

  installment Number

Quantidade de parcelas

  value_1 Decimal

Valor

  sending_code String

Código de envio

  sending_date Date

Data de envio

  billing_address Number

Código do endereço de cobrança

  delivery_time String

Tempo de entrega

  payment_method_id Number

Código do meio de pagamento

  payment_method Number

Meio de pagamento

  session_id Number

Código da sessão

  total Number

Valor total do pedido

  access_code String

Código de acesso

  shipment_integrator String

Integrador de envio

  modified Date

Data de Moticação

  id_quotation Number

Código externo de cotação de frete (Gateway de Frete)

  estimated_delivery_date Number

Tempo estimado de entrega

  is_traceable Number

É rastreavel

  external_code String

codigo externo

  has_payment String

se o retorno for 1 - existe pagamento efetuado

se o retorno for 0 - não há pagamento confirmado

  has_shipment String

se o retorno for 1 - existe forma de envio

se o retorno for 0 - não há forma de envio

  has_invoice String

se o retorno for 1 - existe dados fiscais

se o retorno for 0 - ainda não há dados fiscais

  printed String

se o retorno for 1 - o pedido já foi impresso

se o retorno for vazio "" - o pedido ainda não foi impresso

  total_comission_user String

Total de commisão por Usuario

 total_comission String

Total de commisão

 OrderStatus Object

Detalhes do status do pedido

  ProductsSold Object[]

Lista de produtos do pedido

    id Number

Código dos produtos do pedido

  Payment Object[]

Informações de pagamento do pedido

    id Number

Código de pagamento do pedido

  OrderInvoice Object[]

Informações da nota fiscal do pedido

    id Number

Código da nota fiscal do pedido

  CustomerAddress Object

Informações de endereço do cliente

    id Number

Código de endereço do cliente

  payments_notification Object

Informações de notificação do pedido

    notification String

URL de notificação do pedido

 

Retorno de Sucesso

HTTP/1.1200 OK


{
    "Order": {
        "status": "FINALIZADO",
        "id": "1",
        "date": "2018-12-26",
        "hour": "14:58:46",
        "customer_id": "1",
        "partial_total": "5.00",
        "taxes": "0.00",
        "discount": "0.00",
        "point_sale": "LOJA VIRTUAL",
        "shipment": "Encomenda PAC",
        "shipment_value": "20.80",
        "shipment_date": "",
        "delivered": "",
        "store_note": "",
        "customer_note": "",
        "partner_id": "",
        "discount_coupon": "",
        "payment_method_rate": "0.00",
        "installment": "1",
        "value_1": "0.00",
        "sending_code": "",
        "sending_date": "0000-00-00",
        "billing_address": "",
        "delivery_time": "7",
        "payment_method_id": "80",
        "payment_method": "Boleto - Yapay",
        "session_id": "abc123abc123abc123abc123",
        "total": "25.80",
        "access_code": "48B8E08A466849F",
        "shipment_integrator": "Correios",
        "modified": "2018-12-26 15:01:26",
        "id_quotation": "",
        "estimated_delivery_date": "2019-01-07",
        "is_traceable": "0",
        "external_code": "",
        "total_comission_user": "0.00",
        "total_comission": "0.00",
        "OrderStatus": {
            "type": "closed",
            "allow_edit_order": "0"
        },
        "ProductsSold": [
            {
                "id": "1"
            }
        ],
        "Payment": [],
        "OrderInvoice": [],
        "MlOrder": [],
        "OrderTransactions": [
            {
                "url_payment": ""
            }
        ],
        "Extensions": {
            "AdditionalProductInfo": [
                {
                    "product_id": "4",
                    "product_name": "Produto Informação Adicional",
                    "variant_id": "0",
                    "information": "nome: teste"
                }
            ]
        },
        "CustomerAddress": {
            "id": "4"
        },
        "payments_notification": {
            ""
        },
        "partner_name": ""
    }
}

 

Dados Completo do Pedido

Requisição para consultar os dados das categorias de forma estruturada.

Método GET

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

Código de Exemplo

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

    $url = "https://{api_address}/orders/123/complete?".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/complete";

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/complete";

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
}
			

Parameter

Field Type Description
access_token String

Chave de acesso

:id Number

Código do pedido

Success 200

Field Type Description
Order Object

Dados do pedido

  id Number

Código do pedido

  status String

Status do pedido

  date Date

Data do pedido

  hour Hour

Horário do pedido

  customer_id Number

Id do usuario

  partial_total Decimal

Valor parcial do pedido

  taxes Decimal

Valor de acréscimo / taxa

  discount Decimal

Valor de desconto

  point_sale String

Local de venda

  shipment String

Tipo de frete

  shipment_value Decimal

Valor de frete

  shipment_date Date

Data de envio do pedido

  delivered Number

Pedido enviado (Veja Tabela A)

  store_note String

Informações adicionais da loja

  customer_note String

Informações adicionais do cliente

  partner_id Number

Código do parceiro

  discount_coupon Decimal

Código do cupom de desconto

  PickupLocation String

Dados referente ao ponto de coleta dos Correios

  shipping_id Number

Id da modalidade de frete selecionada

  code Number

Código da agência no sistema dos Correios em que o produto será retirado

  name String

Nome da agência dos Correios em que o produto será retirado

  address String

Dados do endereço da agência dos Correios onde o produto será retirado

  value Number

Valor do frete

  information String

Dados gerais sobre a retirada do produto

  cellphone Number

Telefone para contato da agência

  payment_method_rate Decimal

Taxa do meio de pagamento

  installment Number

Quantidade de parcelas

  sending_code String

Código de envio

  sending_date Date

Data de envio

  billing_address Number

Código do endereço de cobrança

  delivery_time String

Tempo de entrega

  payment_method_id Number

Código do meio de pagamento

  payment_method Number

Meio de pagamento

  session_id Number

Código da sessão

  total Number

Valor total do pedido

  modified Number

Data de modificação do pedido

  id_quotation Number

Código externo de cotação de frete (Gateway de Frete)

  estimated_delivery_date Number

Tempo estimado de entrega

  has_payment String

se o retorno for 1 - existe pagamento efetuado

se o retorno for 0 - não há pagamento confirmado

  has_shipment String

se o retorno for 1 - existe forma de envio

se o retorno for 0 - não há forma de envio

  has_invoice String

se o retorno for 1 - existe dados fiscais

se o retorno for 0 - ainda não há dados fiscais

  printed String

se o retorno for 1 - o pedido já foi impresso

se o retorno for vazio "" - o pedido ainda não foi impresso

  cupom Object

Dados do cupom de desconto

    code Object

Código do cupom de desconto

    discount Object

Valor de desconto

  Customer Object

Dados do cliente

    id Number

Código do cliente

    name String

Nome

    rg String

RG

    cpf String

CPF

    phone String

Telefone fixo

    cellphone String

Telefone celular

    birth_date Date

Data de aniversário

    gender Number

Sexo (Veja Tabela C)

    email String

E-mail

    nickname String

Apelido

    token String

Chave única do cliente

    total_orders Number

Total de pedidos

    observation String

Informações sobre o cliente

    type Number

Tipo de cliente (Veja Tabela B)

    cnpj String

CNPJ

    company_name String

Razão social

    state_inscription String

Inscrição estatual

    reseller Number

Cliente revendedor

    discount Decimal

Valor de desconto

    blocked Number

Cliente bloqueado (Veja Tabela F)

    credit_limit Decimal

Valor de crédito

    indicator_id Number

Código de indicação

    profile_customer_id Number

Código do perfil do cliente

    last_sending_newsletter Date

Data do último envio de newsletter

    last_purchase Date

Data da última compra

    last_visit Date

Data da última visita

    last_modification Date

Data de modificação

    address String

Logradouro

    zip_code String

CEP

    number Number

Número do endereço

    complement String

Complemento

    neighborhood String

Bairro

    city String

Cidade

    state String

Sigla do estado

    newsletter Number

Newsletter ativa

    registration_date Date

Data de registro

    modified Date

Data de modificação

    CustomerAddresses Object[]

Lista de endereços do cliente

      CustomerAddress Object

Endereços do cliente

        id String

Código do endereço do cliente

        customer_id String

Código do cliente

        recipient String

Nome do cliente

        address String

Logradouro

        number Number

Número do endereço

        complement String

Complemento

        neighborhood String

Bairro

        city String

Cidade

        state String

Sigla do estado

        zip_code String

CEP

        country String

País

        type Number

Tipo de endereço (Veja Tabela D)

        active Number

Endereço ativo (Veja Tabela E)

        description String

Descrição do Endereço

  ProductsSolds Object[]

Lista de produtos vendidos

    ProductsSold Object

Dados do produto vendido

      id Number

Código do produto vendido

      product_id Number

Código do produto

      order_id Number

Código do pedido

      name String

Nome do produto

      original_price Decimal

Valor original

      weight Number

Peso

      weight_cubic Number

Peso cúbico

      quantity Number

Quantidade vendida

      model String

Modelo

      reference String

Código de referência

      length String

Comprimento do produto

      width String

Largura do produto

      height String

Altura do produto

      variant_id Number

Código da variação

      additional_information String

Informações adicionais

  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

      cfop Number

Código CFOP

      order_invoice_id Number

Código da nota fiscal

  Payment Object[]

Informações de pagamento do pedido

    Payment Object

Informações de pagamento do pedido

      id Number

Código do pagamento do pedido

      order_id Number

Código do pedido

      payment_method_id Number

Código da forma de pagamento

      method String

Nome da forma de pagamento

      payment_place String

Local do pagamento

      value Decimal

Valor do pagamento

      date Date

Data do pagamento

      note String

Observação do pagamento

      created Date

Data de criação do pagamento

      modified Date

Data de modificação do pagamento

  MlOrder Object[]

Lista de Dados do Mercado Livre

*verificar retorno dos campos do ML no rodapé

    MlOrder Object

Dados do Mercado Livre

*verificar retorno dos campos do ML no rodapé

      id Number

Codigo interno

      created Date

Data de criação

      updated Date

Data de atualização

      cliente_id Number

Código interno do cliente

      codigo Number

Código do Mercado Livre

      item_id String

Código do item

      user_id Number

Código do usuário no Mercado Livre

      nickname String

Apelido do usuário

      mercado_envio String

Código do mercado envio

      shipment_id Number

Código do envio

      status_frete_ml String

Status de frete do Mercado Livre

      substatus_frete_ml String

Substatus de frete do Mercado Livre

      ml_coleta Number

Coleta do Mercado Livre

      romaneio_id Number

Código do romaneio

      invoice_data_id Number

Código da data da fatura

      service_id Number

Código do serviço

      order_id Number

Código interno do pedido

      ml_collect Number

Coletado pelo Mercado Livre

      shipping_mode String

Modo de envio

  payments_notification Object

Informações de notificação do pedido

    notification String

URL de notificação do pedido


    {
    "Order": {
        "status": "A ENVIAR",
        "id": "85",
        "date": "2017-08-17",
        "hour": "14:23:33",
        "customer_id": "2",
        "partial_total": "0.01",
        "taxes": "0.00",
        "discount": "0.00",
        "point_sale": "LOJA VIRTUAL",
        "shipment": "ENTREGA RAPIDA",
        "shipment_value": "25.51",
        "shipment_date": "",
        "delivered": "",
        "store_note": "17/08/2017 14:23:33 Pedido em 1 vez de R$ 25.52 através do Boleto - TrayCheckout - Boleto",
        "customer_note": "",
        "partner_id": "",
        "discount_coupon": "",
        "payment_method_rate": "0.00",
        "installment": "1",
        "value_1": "0.00",
        "sending_code": "",
        "sending_date": "0000-00-00",
        "billing_address": "",
        "delivery_time": "2 a 4",
        "payment_method_id": "80",
        "payment_method": "Boleto - Yapay",
        "session_id": "sdasdsadasidaqidjas9dasd",
        "total": "25.52",
        "access_code": "EADE00",
        "shipment_integrator": "gateway",
        "modified": "2018-04-05 16:08:46",
        "id_quotation": "",
        "estimated_delivery_date": "",
        "is_traceable": "0",
        "external_code": "",
        "Extensions": [],
        "total_comission_user": "0.00",
        "total_comission": "0.00",
        "OrderStatus": {
            "type": "open",
            "allow_edit_order": "1"
        },
        "PickupLocation": {
            "shipping_id": "49",
            "code": "00027300",
            "name": "CORREIOS - AC MARILIA",
            "address": {
            "zip_code": "17500970",
            "street": "AVENIDA SAMPAIO VIDAL",
            "number": "1029",
            "neighborhood": "CENTRO",
            "complement": "",
            "city": "MARILIA",
            "uf": "SP"
            },
            "values": {
            "value": "21.00",
            "information": "Retire em um de nossos pontos de atendimento credenciados pelos Correios."
            },
            "cellphone": "14981253696"
            },
        "urls": {
            "payment": "https://lojax.commerce.com.br/loja/pagamento.php?loja=406562&pedido=EADE00"
        },
        "Customer": {
            "cnpj": "07.551.102/0001-44",
            "created": "0000-00-00 00:00:00",
            "id": "2",
            "name": "Tray Sistemas",
            "registration_date": "2008-10-14",
            "rg": "",
            "cpf": "00126908601",
            "phone": "1434546185",
            "cellphone": "",
            "birth_date": "0000-00-00",
            "gender": "0",
            "email": "teste@tray.com.br",
            "nickname": "",
            "token": "8D9",
            "total_orders": "8",
            "observation": "aaa",
            "type": "1",
            "company_name": "Tray Locação de Sistema de Internet LTDA ME",
            "state_inscription": "Isento",
            "reseller": "1",
            "discount": "0.100",
            "blocked": "",
            "credit_limit": "0.00",
            "indicator_id": "0",
            "profile_customer_id": "1",
            "last_sending_newsletter": "0000-00-00",
            "last_purchase": "2019-01-30",
            "last_visit": "2019-01-30",
            "last_modification": "2017-07-03 09:22:37",
            "address": "Avenida Alcides Lajes Magalhães",
            "zip_code": "17525-181",
            "number": "130",
            "complement": "",
            "neighborhood": "Jardim Acapulco",
            "city": "Marília",
            "state": "SP",
            "country": "Brasil",
            "newsletter": "0",
            "modified": "2019-01-30 10:14:20",
            "Extensions": [],
            "CustomerAddresses": [
                {
                    "CustomerAddress": {
                        "id": "100",
                        "customer_id": "2",
                        "address": "Avenida Maria Fernandes Cavallari 1",
                        "number": "1655",
                        "complement": "Sala 021",
                        "neighborhood": "Jardim Cavallari1",
                        "city": "Marília",
                        "state": "SP",
                        "zip_code": "17526-431",
                        "country": "Brasil",
                        "type": "1",
                        "active": "0",
                        "description": "",
                        "recipient": "",
                        "type_delivery": "1",
                        "not_list": "0"
                    }
                }
            ]
        },
        "ProductsSold": [
            {
                "ProductsSold": {
                    "product_kit_id": "0",
                    "product_kit_id_kit": "0",
                    "id_campaign": "",
                    "id": "95",
                    "product_id": "1338",
                    "order_id": "85",
                    "name": "Produto Teste API (Ref. 111)",
                    "original_name": "",
                    "virtual_product": "0",
                    "Sku": [],
                    "price": "0.01",
                    "cost_price": "0.01",
                    "original_price": "0.01",
                    "weight": "1000",
                    "weight_cubic": "209",
                    "quantity": "1",
                    "brand": "marca",
                    "model": "",
                    "reference": "111",
                    "length": "10",
                    "width": "10",
                    "height": "10",
                    "variant_id": "0",
                    "additional_information": "",
                    "text_variant": "",
                    "warranty": "",
                    "bought_together_id": "0",
                    "ncm": "",
                    "included_items": "",
                    "release_date": "",
                    "comissao": "0.00",
                    "ProductSoldImage": [],
                    "is_giveaway": "0",
                    "ProductSoldPackage": [],
                    "ProductSoldCard": [],
                    "url": {
                        "http": "",
                        "https": ""
                    }
                }
            }
        ],
        "OrderInvoice": [
            {
                "OrderInvoice": {
                    "id": "18",
                    "order_id": "85",
                    "issue_date": "2017-12-04",
                    "number": "2285",
                    "serie": "1",
                    "value": "1139.01",
                    "key": "000000102550010000022851493279299",
                    "link": "",
                    "xml_danfe": ""
                },
                "ProductCfop": []
            }
        ],
        "Payment": [
            {
                "Payment": {
                    "created": "2017-11-10 15:47:12",
                    "modified": "2017-11-10 15:47:12",
                    "id": "4",
                    "order_id": "85",
                    "payment_method_id": "80",
                    "method": "Boleto - TrayCheckout",
                    "payment_place": "Teste",
                    "value": "25.52",
                    "date": "2017-11-09",
                    "note": "teste de teste"
                }
            }
        ],
        "MlOrder": [],
        "OrderTransactions": [],
        "payments_notification": {
            "notification": "https://com.pay.tray.com.br/loja/retorno_pagamento.php?loja=406562&gateway=5&numeroTransacao=85&notification=true"
        },
        "partner_name": ""
    },
    "Extensions": []
}
    

 

Cadastrar Pedido

Requisição para consultar os dados das categorias de forma estruturada.

Método POST

https://{api_address}/orders

Código de Exemplo

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

    $data["Order"]["point_sale"] = "PARTICULAR";
    $data["Order"]["shipment"] = "Sedex";
    $data["Order"]["shipment_value"] = "10.44";
    $data["Order"]["payment_form"] = "Boleto - TrayCheckout";
    $data["Order"]["Customer"]["type"] = "0";
    $data["Order"]["Customer"]["name"] = "Nome do Cliente";
    $data["Order"]["Customer"]["cpf"] = "00000000000";
    $data["Order"]["Customer"]["email"] = "email@docliente.com";
    $data["Order"]["Customer"]["rg"] = "00.000.000-X";
    $data["Order"]["Customer"]["gender"] = "M";
    $data["Order"]["Customer"]["phone"] = "1133330001";
    $data["Order"]["Customer"]["CustomerAddress"][0]["address"] = "Endereço do Cliente";
    $data["Order"]["Customer"]["CustomerAddress"][0]["zip_code"] = "04001001";
    $data["Order"]["Customer"]["CustomerAddress"][0]["number"] = "123";
    $data["Order"]["Customer"]["CustomerAddress"][0]["complement"] = "Sala 123";
    $data["Order"]["Customer"]["CustomerAddress"][0]["neighborhood"] = "Bairro do Cliente";
    $data["Order"]["Customer"]["CustomerAddress"][0]["city"] = "Cidade do Cliente";
    $data["Order"]["Customer"]["CustomerAddress"][0]["state"] = "SP";
    $data["Order"]["Customer"]["CustomerAddress"][0]["country"] = "BRA";
    $data["Order"]["Customer"]["CustomerAddress"][0]["type"] = "1";
    $data["Order"]["Customer"]["ProductsSold"][0]["product_id"] = "1";
    $data["Order"]["Customer"]["ProductsSold"][0]["variant_id"] = "12";
    $data["Order"]["Customer"]["ProductsSold"][0]["price"] = "42.90";
    $data["Order"]["Customer"]["ProductsSold"][0]["original_price"] = "42.90";
    $data["Order"]["Customer"]["ProductsSold"][0]["quantity"] = "1";

    $url = "https://{api_address}/orders/?".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/";

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 += "  \"Order\": {";
       postString += "      \"point_sale\": \"PARTICULAR\",";
       postString += "      \"shipment\": \"Sedex\",";
       postString += "      \"shipment_value\": \"10.44\",";
       postString += "      \"payment_form\": \"Boleto - TrayCheckout\",";
       postString += "      \"Customer\": {";
       postString += "          \"type\": \"0\",";
       postString += "          \"name\": \"Nome do Cliente\",";
       postString += "          \"cpf\": \"00000000000\",";
       postString += "          \"email\": \"email@docliente.com\",";
       postString += "          \"rg\": \"00.000.000-X\",";
       postString += "          \"gender\": \"M\",";
       postString += "          \"phone\": \"1133330001\",";
       postString += "          \"CustomerAddress\": [";
       postString += "              {";
       postString += "                  \"address\": \"Endereço do Cliente\",";
       postString += "                  \"zip_code\": \"04001001\",";
       postString += "                  \"number\": \"123\",";
       postString += "                  \"complement\": \"Sala 123\",";
       postString += "                  \"neighborhood\": \"Bairro do Cliente\",";
       postString += "                  \"city\": \"Cidade do Cliente\",";
       postString += "                  \"state\": \"SP\",";
       postString += "                  \"country\": \"BRA\",";
       postString += "                  \"type\": \"1\",";
       postString += "              }";
       postString += "          ]";
       postString += "      },";
       postString += "      \"ProductsSold\": [";
       postString += "          {";
       postString += "              \"product_id\": \"1\",";
       postString += "              \"variant_id\": \"12\",";
       postString += "              \"price\": \"42.90\",";
       postString += "              \"original_price\": \"42.90\",";
       postString += "              \"quantity\": \"1\",";
       postString += "          }";
       postString += "      ]";
       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/";
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 += "  \"Order\": {";
           postString += "      \"point_sale\": \"PARTICULAR\",";
           postString += "      \"shipment\": \"Sedex\",";
           postString += "      \"shipment_value\": \"10.44\",";
           postString += "      \"payment_form\": \"Boleto - TrayCheckout\",";
           postString += "      \"Customer\": {";
           postString += "          \"type\": \"0\",";
           postString += "          \"name\": \"Nome do Cliente\",";
           postString += "          \"cpf\": \"00000000000\",";
           postString += "          \"email\": \"email@docliente.com\",";
           postString += "          \"rg\": \"00.000.000-X\",";
           postString += "          \"gender\": \"M\",";
           postString += "          \"phone\": \"1133330001\",";
           postString += "          \"CustomerAddress\": [";
           postString += "              {";
           postString += "                  \"address\": \"Endereço do Cliente\",";
           postString += "                  \"zip_code\": \"04001001\",";
           postString += "                  \"number\": \"123\",";
           postString += "                  \"complement\": \"Sala 123\",";
           postString += "                  \"neighborhood\": \"Bairro do Cliente\",";
           postString += "                  \"city\": \"Cidade do Cliente\",";
           postString += "                  \"state\": \"SP\",";
           postString += "                  \"country\": \"BRA\",";
           postString += "                  \"type\": \"1\",";
           postString += "              }";
           postString += "          ]";
           postString += "      },";
           postString += "      \"ProductsSold\": [";
           postString += "          {";
           postString += "              \"product_id\": \"1\",";
           postString += "              \"variant_id\": \"12\",";
           postString += "              \"price\": \"42.90\",";
           postString += "              \"original_price\": \"42.90\",";
           postString += "              \"quantity\": \"1\",";
           postString += "          }";
           postString += "      ]";
           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

Campo Tipo (Tamanho) Descrição
access_token String

Chave de acesso

Order JSON

Dados do pedido

  point_sale String (45)

Local de venda

  shipment String (100)

Tipo de frete

  shipment_value Decimal (9)

Valor de frete

  payment_form String (50)

Forma de pagamento

  Customer Object

Informações do cliente

    type Object

Tipo do cliente (Veja Tabela B)

    name Object (300)

Nome completo do cliente

    cpf Object

CPF do cliente

    email Object (100)

E-mail do cliente

    rg Object

RG do cliente

    gender Object (1)

Sexo do cliente (Veja Tabela C)

    phone Object

Telefone do cliente

    CustomerAddress Object[] (200)

Informações de endereços do cliente

      address Number (9)

Logradouro

      zip_code Number (8)

CEP

      number Number (9)

Número

      complement Number (60)

Complemento

      neighborhood Number (100)

Bairro

      city Number (200)

Cidade

      state Number (2)

Sigla do estado

      country Number (3)

Sigla do país

      type Number

Tipo de endereço (Veja Tabela D)

  ProductsSold Object[]

Lista de produtos do pedido

    product_id Number

Código do produto

    variant_id Number

Código da variação do produto

    price Number

Preço do produto

    original_price Number

Valor original do produto

    quantity Number

Quantidade vendida do produto

 

Estrutura de Json


    {
	"Order":{
	"point_sale":"PARTICULAR",
	"shipment":"Sedex",
	"shipment_value":"10.44",
	"payment_form":"Boleto - TrayCheckout",
	"Customer":{"type":"0",
	"name":"Nome do Cliente",
	"cpf":"00000000000",
	"email":"email@docliente.com",
	"rg":"00.000.000-X",
	"gender":"M",
	"phone":"1133330001",
	"CustomerAddress":[{
		"address":"Endereço do Cliente",
		"zip_code":"04001001",
		"number":"123",
		"complement":"Sala 123",
		"neighborhood":"Bairro do Cliente",
		"city":"Cidade do Cliente",
		"state":"SP",
		"country":"BRA",
		"type":"1"
				}
	]},
	"ProductsSold":[{
		"product_id":1,
		"variant_id":12,
		"price":"42.90",
		"original_price":"42.90",
		"quantity":1
		
				}
	]}

	
}
    
    

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

Field Type Description
message String

Mensagem de retorno

id Number

Código do pedido

code Number

Código do retorno (201)

Json de retorno

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

 

Atualizar Dados do Pedido

Requisição para alterar os dados de um pedido. Deverá enviar o JSON com os dados do pedido para a alteração.

Método PUT

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

Código de Exemplo

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

    $data["Order"]["status_id"] = "16";
    $data["Order"]["taxes"] = "0.01";
    $data["Order"]["shipment"] = "Sedex";
    $data["Order"]["shipment_value"] = "5.58";
    $data["Order"]["discount"] = "0.01";
    $data["Order"]["sending_code"] = "123456";
    $data["Order"]["sending_date"] = "2015-04-20";
    $data["Order"]["store_note"] = "Pedido em 1 vez de R$ 51,85 através do Boleto.";
    $data["Order"]["customer_note"] = "";
    $data["Order"]["partner_id"] = "2";

    $url = "https://{api_address}/orders/123?".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";

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 += "  \"Order\": {";
       putString += "      \"status_id\": \"16\",";
       putString += "      \"taxes\": \"0.01\",";
       putString += "      \"shipment\": \"Sedex\",";
       putString += "      \"shipment_value\": \"5.58\",";
       putString += "      \"discount\": \"0.01\",";
       putString += "      \"sending_code\": \"123456\",";
       putString += "      \"sending_date\": \"2015-04-20\",";
       putString += "      \"store_note\": \"Pedido em 1 vez de R$ 51,85 através do Boleto.\",";
       putString += "      \"customer_note\": \"\",";
       putString += "      \"partner_id\": \"2\"";
       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/123";
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 += "  \"Order\": {";
           putString += "      \"status_id\": \"16\",";
           putString += "      \"taxes\": \"0.01\",";
           putString += "      \"shipment\": \"Sedex\",";
           putString += "      \"shipment_value\": \"5.58\",";
           putString += "      \"discount\": \"0.01\",";
           putString += "      \"sending_code\": \"123456\",";
           putString += "      \"sending_date\": \"2015-04-20\",";
           putString += "      \"store_note\": \"Pedido em 1 vez de R$ 51,85 através do Boleto.\",";
           putString += "      \"customer_note\": \"\",";
           putString += "      \"partner_id\": \"2\"";
           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

:id Number

Código do pedido

Order JSON

Dados do pedido

  status_id Number

Código de status do pedido

  taxes Decimal

Valor de acréscimo / taxa

  shipment Decimal

Tipo de frete

  shipment_value Decimal

Valor de frete

  discount Decimal

Valor de desconto

  sending_code String

Código de envio

  sending_date Date

Data de envio

  store_note String

Informações adicionais da loja

  customer_note String

Informações adicionais do cliente

  partner_id Number

Código do parceiro

Estrutura de Json

PUT /orders/123?access_token=abc96fb7b1defd2496b9a9d81071fa12319b12306465e057d0ebca9bd9ab19
{
    "Order": {
        "status_id": "16",
        "taxes": "0.01",
        "shipment": "Sedex",
        "shipment_value": "0.01",
        "discount": "0.01",
        "sending_code": "123456",
        "sending_date": "2015-04-20",
        "store_note": "Pedido em 1 vez de R$ 51,85 através do Boleto.",
        "customer_note": "",
        "partner_id": "2"
    }
}

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

Field Type Description
message String

Mensagem de retorno

id Number

Código do pedido

code Number

Código do retorno (200)

Json de retorno

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

Cancelar Pedido

Requisição para cancelar um pedido.

Método PUT

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

Código de Exemplo

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

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

    ob_start();

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
    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/cancel/123";

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

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

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

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

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

String url = "https://{api_address}/orders/cancel/123";
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");

    // Send put request
    con.setDoOutput(true);
    DataOutputStream wr = new DataOutputStream(con.getOutputStream());
    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

:id Number

Código do pedido

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

Field Type Description
message String

Mensagem de retorno

id Number

Código do pedido

code Number

Código do retorno (200)

Json de retorno

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

 

Incluir Produtos no Pedido

Requisição para inclusão de um produto no pedido. Deverá enviar o JSON com os dados do produto para inclusão do mesmo no pedido.

Método POST

https://{api_address}/orders/includeProduct/{order_id}

Código de Exemplo

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

    $data["ProductsSold"]["product_id"] = "9999";
    $data["ProductsSold"]["variant_id"] = "123";
    $data["ProductsSold"]["price"] = "55.80";
    $data["ProductsSold"]["original_price"] = "55.80";
    $data["ProductsSold"]["quantity"] = "1";

    $url = "https://{api_address}/orders/includeProduct/30?".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/includeProduct/20";

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 += "  \"Product\": {";
       postString += "      \"ean\": \"9999\",";
       postString += "      \"name\": \"Produto Teste API\",";
       postString += "      \"description\": \"Descrição do Produto de Teste da API\",";
       postString += "      \"description_small\": \"Produto de Teste da API\",";
       postString += "      \"price\": 0.01,";
       postString += "      \"cost_price\": 0.01,";
       postString += "      \"promotional_price\": 0.01,";
       postString += "      \"start_promotion\": \"25-09-2014\",";
       postString += "      \"end_promotion\": \"01-09-2015\",";
       postString += "      \"brand\": \"marca\",";
       postString += "      \"model\": \"Modelo\",";
       postString += "      \"weight\": 1000,";
       postString += "      \"length\": 10,";
       postString += "      \"width\": 10,";
       postString += "      \"height\": 10,";
       postString += "      \"stock\": 100,";
       postString += "      \"category_id\": \"2\",";
       postString += "      \"available\": 1,";
       postString += "      \"reference\": \"111\",";
       postString += "      \"payment_option\": \"\",";
       postString += "      \"related_categories\": \"\",";
       postString += "      \"release_date\": \"\",";
       postString += "      \"shortcut\": \"\"";
       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/includeProduct/30";
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 += "  \"Product\": {";
           postString += "      \"ean\": \"9999\",";
           postString += "      \"name\": \"Produto Teste API\",";
           postString += "      \"description\": \"Descrição do Produto de Teste da API\",";
           postString += "      \"description_small\": \"Produto de Teste da API\",";
           postString += "      \"price\": 0.01,";
           postString += "      \"cost_price\": 0.01,";
           postString += "      \"promotional_price\":  0.01,";
           postString += "      \"start_promotion\": \"25-09-2014\",";
           postString += "      \"end_promotion\": \"01-09-2015\",";
           postString += "      \"brand\": \"marca\",";
           postString += "      \"model\": \"Modelo\",";
           postString += "      \"weight\": 1000,";
           postString += "      \"length\": 10,";
           postString += "      \"width\": 10,";
           postString += "      \"height\": 10,";
           postString += "      \"stock\": 100,";
           postString += "      \"category_id\": \"2\",";
           postString += "      \"available\": 1,";
           postString += "      \"reference\": \"111\",";
           postString += "      \"payment_option\": \"\",";
           postString += "      \"related_categories\": \"\",";
           postString += "      \"release_date\": \"\",";
           postString += "      \"shortcut\": \"\"";
           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

Token de acesso

:order_id String

Código do pedido

ProductsSold JSON

Dados do Produto

  product_id Number

Código produto

  variant_id Number

Código da variação

  price Decimal

Valor de venda do produto / variação

  original_price Decimal

Valor original do produto / variação

  quantity Number

Quantidade do roduto / variação

 

Estrutura de Json

POST /orders/includeProduct/30?access_token=abc96fb7b1defd2496b9a9d81071fa12319b12306465e057d0ebca9bd9ab19
{
    "ProductsSold": {
        "product_id": "9999",
        "variant_id": "123",
        "price": "55.80",
        "original_price": "55.80",
        "quantity": "1"
    }
}

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

Field Type Description
message String

Mensagem de retorno

order_id Number

Código do pedido

code Number

Código do retorno (201)

Json de retorno

HTTP/1.1 201 OK
{
    "message": "Success",
    "order_id": "123",
    "code": 201
}

 

Excluir Produto do Pedido

Requisição para excluir um produto do pedido.

Método PUT

https://{api_address}/orders/excludeProduct/:order_id/:product_id

Código de Exemplo

<?php
    $params["access_token"] = "### Chave de Acesso ###";
    $order_id = "456";
    $product_id = "123";

    $url = "https://{api_address}/orders/excludeProduct/".$order_id."/".$product_id."?".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 order_id = "456";
string product_id = "123";
string URLAuth = "https://{api_address}/orders/excludeProduct/"+order_id+"/"+product_id;

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

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

StreamWriter requestWriter = new StreamWriter(webRequest.GetRequestStream());

requestWriter.Close();

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

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

String order_id = "456";
String product_id = "123";
String url = "https://{api_address}/products/"+order_id+"/"+product_id;
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");
           
    // Send put request
    con.setDoOutput(true);
    DataOutputStream wr = new DataOutputStream(con.getOutputStream());
    
    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

Token de acesso

:order_id String

Código do pedido

:product_id String

Código do produto

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

Field Type Description
message String

Mensagem de retorno

order_id Number

Código do pedido

code Number

Código do retorno (200)

Json de retorno

HTTP/1.1 200 OK
{
    "message": "Success",
    "order_id": "123",
    "code": 200
}

 

Tabelas Auxiliares

Tabelas Auxiliares de Pedidos

Tabela A - Confirmação de pedido enviado (campo delivered)

Valor Descrição
0 Pedido não enviado
1 Pedido enviado

Tabela B - Tipo do cliente (campo Customer.type)

Valor Descrição
0 Pessoa física
1 Pessoa jurídica

Tabela C - Sexo do cliente (campo Customer.gender)

Valor Descrição
0 Masculino
1 Feminino

Tabela D - Tipo de endereço do cliente (campo Customer.CustomerAddress.type)

Valor Descrição
0 Endereço de cobrança
1 Endereço de entrega

Tabela E - Tipo de status do pedido (campo OrderStatus.default)

Valor Descrição
0 Status padrão
1 Status adicional

Tabela F - Bloqueio do cliente (campo blocked)

Valor Descrição
0 Cliente desbloqueada
1 Cliente bloqueada

Tabela G - Tipo de arquivo da etiqueta (campo type)

Valor Descrição
zpl2 Arquivo ZPL2
pdf Arquivo PDF

Retorno da API dentro de Pedidos Completo, quando á venda ocorrer no Mercado Livre

Retorno dos campos:

Field Type Description
MlOrder String

Retorno dos dados do Mercado Livre

id String

Id do pedido no MLorders - Controle Tray

created String

Data da criação do pedido na Tray

updated String

Data da ultima atualização do pedido

pedido_id String

ID do pedido na Tray

cliente_id String

ID do cliente na Tray

codigo String

Código da venda no Mercado Livre

item_id String

Anúncio do Mercado Livre comprado

item_quantity String

Quantidade do anúncio que foi comprado

item_title String

Nome do produto comprado

user_id String

ID do apelido que teve venda

nickname String

Nome do apelido que teve venda

mercado_envio String

Tipo de envio da venda.

shipment_id String

Código que identifica o envio no ML

pack_id String

ID do carrinho, quando ocorre venda de mais de 1 produto.

status_frete_ml String

Status do shipments no ML

substatus_frete_ml String

Substatus do shipments no ML

ml_coleta String

Se é um serviço de coleta do ML (0 ou 1)

romaneio_id String

Não é mais utilizado, não precisa ser mais considerado no fluxo da aplicação

invoice_data_id String

ID da nota fiscal no ML.

service_id String

Identificação do ID de serviço no ML.

logistic_type String

Tipo de logistica do envio. Dado com base na API do ML

messages_locked_by String

Campo interno Tray. É utilizado pra controlar qual usuario ta enviando mensagens nesse pedido no momento, para que outro usuario não tente mandar ao mesmo tempo

date_delivered String

Data quando foi entregue o pedido.

estimated_delivery_time String

Estimativa de entrega

estimated_handling_limit String

Data-limite para o vendedor encaminhar

shipping_option_id String

Id do shipments option da API do ML

pickup_id String

ID do pickup quando existente

order_id String

ID do pedido na Tray

ml_collect String

Se é um serviço de coleta do ML (0 ou 1)

shipping_mode String

Tipo de entrega no ML

shipping_status String

Status do shipments no ML

shipping_substatus String

Substatus do shipments no ML

 

Exemplo de retorno do MLorder


      "MlOrder": [
    {
    "MlOrder": {
    "id": "1919191111",
    "created": "2020-08-03 17:05:11",
    "updated": "2020-08-03 17:05:11",
    "pedido_id": "9874566666",
    "cliente_id": "664654",
    "codigo": "9415263",
    "item_id": "MLB1111111111",
    "item_quantity": "1",
    "item_title": "Nome do produto",
    "user_id": "2222222",
    "nickname": "APELIDO",
    "mercado_envio": "me2",
    "shipment_id": "44444444444",
    "pack_id": "",
    "status_frete_ml": "shipped",
    "substatus_frete_ml": "out_for_delivery",
    "ml_coleta": "1",
    "romaneio_id": "0",
    "invoice_data_id": "161616166",
    "service_id": "151515",
    "logistic_type": "fulfillment",
    "messages_locked_by": "",
    "date_delivered": "0000-00-00",
    "estimated_delivery_time": "2020-08-04",
    "estimated_handling_limit": "2020-08-03",
    "shipping_option_id": "3133133133",
    "pickup_id": "",
    "order_id": "88888",
    "ml_collect": "1",
    "shipping_mode": "me2",
    "shipping_status": "shipped",
    "shipping_substatus": "out_for_delivery"
    }
    }
    ],
    
Bruna Lourencini 
Tem mais dúvidas? Envie uma solicitação

Comentários

    Artigos nessa seção

    Powered by Zendesk