A integração de pedidos poderá ser feita de duas maneiras:

  • Utilizando a API de busca de pedidos, por data e status;
  • Através de notificação via Webhook.


OBS: Recomendamos que o seller implemente os dois modelos de integração, por padrão via webhook e que tenha uma rotina de atualização pontual, para contingencia, caso alguma notificação não tenha sido entregue corretamente.


Recebendo pedidos criados:


Os pedidos criados (PRE-ORDER), são pedidos que ainda não tiveram o pagamento confirmado pelo marketplace, nesse momento o seller deverá fazer a reserva do estoque apenas. O pedido será atualizado para Pago ou Cancelado em seguida (PAID, CANCELED, IN-PROCESSING).


Referencia da API: Listagem de pedidos.


Recebendo atualizações via WebHook:


Para receber atualização via Webhook, o seller deverá configurar seu endpoint antes. Saiba como fazer clicando aqui.


Exemplo de notificação via webhook:


{
  "_id": "string",
  "storeId": "string",
  "clientId": "string",
  "status": "PRE-ORDER",
  "paymentStatus": "PRE-ORDER",
  "summary": {
    "items": 1,
    "total": 0,
    "totalPriceDiscount": 0,
    "totalShippingCost": 0,
    "totalShippingDiscount": 0,
    "maxShippingTime": 0,
    "ordersDiscount": 0,
    "_id": "string"
  },
  "deliveryAddress": {
    "receiverName": "string",
    "street": "string",
    "city": "string",
    "complement": "string",
    "shortState": "string",
    "state": "string",
    "number": "string",
    "zipcode": "stringst",
    "countryCode": "BR",
    "neighborhood": "string",
    "metadata": {},
    "_id": "string"
  },
  "parentOrderId": "string",
  "customer": {
    "ref": "string",
    "name": "string",
    "email": "string",
    "phone": {
      "countryCode": "string",
      "areaCode": "string",
      "number": "stringst"
    },
    "document": "string",
    "type": "string",
    "metadata": {},
    "_id": "string"
  },
  "items": [
    {
      "offerId": "string",
      "skuId": "string",
      "productName": "string",
      "productSlug": "string",
      "slug": "string",
      "name": "string",
      "thumbnail": "string",
      "quantity": 1,
      "sellerName": "string",
      "sellerId": "string",
      "sellerSkuId": "string",
      "warehouseId": "string",
      "unitOriginalPrice": 0,
      "unitPrice": 0,
      "originalPrice": 0,
      "priceDiscount": 0,
      "price": 0,
      "estimatedBusinessDays": 0,
      "deliveryMethodName": "string",
      "shippingCost": 0,
      "shippingDiscount": 0,
      "finalShippingCost": 0,
      "logisticProviderName": "string",
      "attributes": {},
      "metadata": {},
      "_id": "string"
    }
  ],
  "discounts": [
    {
      "_id": "string"
    }
  ],
  "shipments": [
    {
      "_id": "string"
    }
  ],
  "shoppingCart": [
    {
      "ownerId": "string",
      "skuId": "string",
      "selectedSellerId": "string",
      "storeId": "string",
      "name": "string",
      "slug": "string",
      "productName": "string",
      "productSlug": "string",
      "qtd": 1,
      "metadata": {},
      "attributes": [],
      "thumbnail": {
        "sort": 0,
        "ext": "string",
        "path": "string"
      }
    }
  ],
  "tokens": {
    "simulation": "string",
    "customer": "string",
    "shoppingCart": "string"
  },
  "metadata": {},
  "transactionId": "string",
  "verifyToken": "string",
  "exceptionDetails": "string",
  "createdAt": "string",
  "updatedAt": "string"
}


Faturar pedidos:


Após o pagamento ser confirmado (PAID) e o seller faturar o pedido no seu backoffice, o marketplace deverá ser informado com essa atualização, podendo ser total ou parcial.


Exemplo da requisição: 

{
  "billing": {
    "protocol": "string", // opcional
    "accessKey": "string", // chave de acesso da nota fiscal
    "number": "string", // numero da nota fiscal
    "serial": "string", // serie da nota fiscal
    "issueDate": "2019-08-24T14:15:22Z", // data de emissão
    "xmlContent": "string" // conteudo do XML da Danfe, em base64
  },
  // o campo items é opcional caso o seller queira faturar todos itens do pedido
  "items": [
    {
      "id": "string", // SKU do seller 
      "quantity": 0 // quantidade de itens dentro da nota fiscal
    }
  ]
}

Referencia da API: Faturamento de pedidos.


Incluir rastreio:


Após o pedido ser faturado, o marketplace criará uma entrega para essa nota fiscal enviada, a partir desse momento toda atualização sobre o item dessa nota fiscal é feito com a referencia da chave de acesso da nota fiscal criada.


Exemplo da requisição:


{
  "sendDate": "2019-08-24T14:15:22Z", // data da postagem
  "protocol": "string", // código de rastreio ou instrução
  "carrier": "string", // nome da transportadora
  "deliveryMethod": "string" // forma de envio, ex.: expresso, sedex, pac
}

Referencia da API: Atualização de tracking de um envio.


Informar entrega do pedido:


Finalmente, após o pedido já estar em trânsito (SENT), o seller poderá informar a confirmação de entrega desse pedido.


Referencia da API: Informar entrega de um envio.


STATUS DE PEDIDO


STATUSPOSSIVEL STATUS DESCRIÇÃO
PRE-ORDERIN-PROCESSING, PAID, CANCELEDPedido criado no marketplace, sem confirmação de pagamento nesse status.
IN PROCESSINGPAID, CANCELEDPedido foi enviado para o gateway de pagamento e esta sendo processado ou em analise de risco.
PAIDBILLED, CANCELEDPagamento do pedido foi confirmado.
BILLEDSENTPedido está totalmente faturado.
SENTDELIVEREDPedido está totalmente entregue.
DELIVERED-Pedido está totalmente entregue.



Fluxo de atualização do pedido: