SkyHub API
SkyHub PortalApi Explorer
  • Sobre a API SkyHub
  • Comunicados
    • Comunicados 2025
      • Criação e atualização de produtos e variações no Marketplace
      • Atualizações dos pedidos no Marketplace
      • Etiquetas Americanas Entrega
    • Comunicados 2024
      • Novo canal de atendimento
      • Remoção do array "categories" na busca de produtos
      • Novos campos no JSON de Pedidos
    • Comunicados 2023
      • Personalização de Preço Por Marca
      • Obrigatoriedade de body em métodos POST/PUT/PATCH
    • Comunicados 2022
      • Inativação do endpoint /categories
      • MultiCD: Substituição do store_status pelo statuses
      • Bloqueio de requisições com x-account inválido - Prazo não definido
      • Mudança na atualização da chave da nota fiscal
    • Comunicados 2021
      • Código de homologação da Anatel
      • Atributo Garantia
      • Envio de Imagens para o Mktp B2W
      • Mudança response HTTP /delivery
      • Mudança Faturamento Pedidos B2W Entrega Direct
      • Limite de Categorias na SkyHub
      • Limite de Imagens na SkyHub
      • Mudança response HTTP /invoice e /shipments
      • Mudança Infraestrutura SkyHub
      • Protocolo HTTP/HTTPS
      • Consumo de Pedidos | Preço
      • X-Accountmanager-Key
    • Comunicados 2020
      • Requisição Duplicada
      • Requisição Contas Inativas
      • Entrega Agendada by Direct
      • Headers para Requisições
      • Consumo de Pedidos
      • Atributo Data Faturamento
      • Atributo Data Enviado
  • Guias API SkyHub
    • Autenticação e formato dos dados
    • Códigos de retorno (HTTP status)
    • Limite de requisições
    • Melhores práticas
  • Recursos
    • Produtos
    • Rehub
    • Pedidos
    • Erros
    • Etiquetas
    • Fulfillment
    • Multi Origem
    • Perguntas e Respostas
    • SAC
    • Credenciamento
  • Processo de Homologação
    • Perfil para Homologação
    • Pré-Requisitos
    • Validações
      • Produtos
      • Conexão via API (Rehub)
      • Pedidos
      • Etiqueta (PLP)
    • Melhores Práticas
      • Produtos
      • Pedidos
      • Etiqueta PLP
  • Perguntas Frequentes
  • Produtos
    • > Integração Produto
    • Categorização
      • Consultar lista de Categorias
      • Consultar atributos por categoria
    • Consultar Marcas
    • Criação de Produto
      • Produto Simples
      • Produto Variável
    • Atualização de Produto
      • Produto Simples
      • Produto Variável
    • Consulta de Produto
      • Produto Simples e Variável
      • Variação de Produto
    • Exclusão de Produto
      • Produto Simples e Variável
      • Variação de Produto
    • Outros Recursos de Produtos
      • Filtros de Consultas
      • Endpoint Atributos
      • Consulta URL
        • URL Variações
  • Rehub
    • > Integração Rehub
    • Rehub - Ações de Produto
    • Resultado das Ações de Produto
  • Pedidos
    • > Integração Pedido
    • Criação e Aprovação de Pedido Teste
    • Atualização de Pedidos
    • Faturamento Pedido - Americanas Entrega Direct
    • Consumo de Pedidos - Queues
    • Notificação de Pedidos
    • Consulta de Pedidos
  • Erros
    • Consulta de Erros de Sincronização e Produção
  • Etiquetas Americanas Entrega
    • > Integração Etiqueta
    • Etiqueta de Frete - Direct
      • Padrão da Etiqueta Direct
      • Direct - Processos via API
      • Etiqueta Clique e Retire - Direct
    • Etiqueta de Frete - Correios
      • Padrão da Etiqueta Correios
      • Correios - Processos via API
      • Etiqueta Clique e Retire - Correios
  • Frete
    • > Integração Frete
    • Como Homologar
    • Melhores Práticas
  • Fulfillment
    • > Integração Fulfillment
    • Consulta de Estoque
    • Identificando Pedido
    • Faturamento
    • Consulta de Notas
    • Faturador
      • Regra Fiscal
      • Regras Tributárias
      • Relacionamento entre Produto e Regra
        • Produto Simples
        • Produto Variável
  • Multi Origem
    • > Integração Multi Origem
    • Solicitar Credenciais
    • Criar e Consultar CD
    • Criação e Atualização de Estoque
    • Pedido Multi Origem
    • Etiqueta Multi Origem
  • Perguntas e Respostas Americanas
    • > Integração Q&A
    • Perguntas e Respostas (Q&A)
  • SAC
    • > Integração SAC
    • Listar SAC
    • Chats
    • Consulta de Itens
    • Instâncias geradas de SAC
    • Actions
    • Refunds
Powered by GitBook
On this page
  • GET - Baixando pedidos (fila de integração)
  • Dicas sobre a fila de integração de pedidos
  • DELETE - Confirmando o consumo do pedido
  1. Pedidos

Consumo de Pedidos - Queues

Nesta seção mostraremos como é realizado o consumo de pedidos criados e atualizados pelo marketplace

Quando criado no marketplace, o pedido tem suas informações encaminhadas para a API, cabendo a plataforma/ERP o consumo de seus dados. O mesmo ocorre para atualizações do pedido: A informação será disponibilizada na API para consumo da plataforma/ERP.

Tanto criação quanto atualização serão notificadas pelo marketplace e deverão ser consumidas no recurso /queues/orders.

GET - Baixando pedidos (fila de integração)

Quando um pedido é gerado ou tem o status atualizado pelo o marketplace ele (pedido) é colocado em uma fila de integração e fica disponível para a baixa, que deve ser realizada através de um GET no endpoint visto a seguir:

https://api.skyhub.com.br/queues/orders

Request headers:

Key
Value

X-User-Email

email_de_usuario

X-Api-Key

token_de_integracao de sua conta SkyHub

X-Accountmanager-Key

token_account único de cada Plataforma/ERP

Accept

application/json

Content-Type

application/json

Example request:

curl --location --request GET 'https://api.skyhub.com.br/queues/orders' \
--header 'X-User-Email: email_de_usuario' \
--header 'X-Api-Key: token_de_integracao de sua conta SkyHub' \
--header 'X-Accountmanager-Key: token_account único de cada Plataforma/ERP' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json'

Response esperado:

Dois possíveis retornos são esperados para o GET:

204 [Success] - No content: Retorno esperado caso não hajam pedidos novos/atualizados para consumo;

200 [Success] - OK: Caso existam pedidos novos/atualizados, será visualizado status 200 e o response body trará as informações da entrega, conforme exemplo:

{
    "channel": "AMERICANAS",
    "calculation_type": "b2wentregacorreios",
    "shipping_carrier": "Courier",
    "invoices": [],
    "tags": [],
    "expedition_limit_date": null,
    "code": "Lojas Americanas-1000000000005",
    "approved_date": "",
    "delivered_date": null,
    "shipping_cost": 0.0,
    "shipped_date": "",
    "items": [
        {
            "special_price": 39.9,
            "shipping_cost": null,
            "remote_store_id": null,
            "qty": 1,
            "product_id": "2023001",
            "original_price": 39.9,
            "name": "Camiseta Branca Tam. Único",
            "listing_type_id": null,
            "id": "2023001",
            "gift_wrap": null,
            "detail": null,
            "delivery_line_id": null
        }
    ],
    "imported_at": "2023-03-27T16:48:07-03:00",
    "import_info": {
        "ss_name": "Lojas Americanas",
        "remote_id": null,
        "remote_code": "1000000000005",
        "pack_id": null,
        "cart_id": null
    },
    "target_order": null,
    "shipping_method": "Courier",
    "shipping_address": {
        "street": "Avenida Paulista",
        "secondary_phone": "99 999999999",
        "region": "SP",
        "reference": null,
        "postcode": "90000000",
        "phone": "99 999999999",
        "number": "1000",
        "neighborhood": "Bela Vista",
        "full_name": "João dos Santos",
        "detail": "Ao lado da cafeteria",
        "country": "BR",
        "complement": null,
        "city": "São Paulo"
    },
    "sync_sale_system": null,
    "discount": 0.0,
    "first_exported_at": null,
    "billing_address": {
        "street": "Avenida Paulista",
        "secondary_phone": "99 999999999",
        "region": "SP",
        "reference": null,
        "postcode": "90000000",
        "phone": "99 999999999",
        "number": "1234",
        "neighborhood": "Bela Vista",
        "full_name": "João dos Santos",
        "detail": "Próximo ao museu",
        "country": "BR",
        "complement": null,
        "city": "São Paulo"
    },
    "interest": 0.0,
    "available_to_sync": true,
    "payments": [
        {
            "value": 39.9,
            "type": null,
            "transaction_date": null,
            "status": null,
            "sefaz": {
                "type_integration": null,
                "payment_indicator": null,
                "name_payment": null,
                "name_card_issuer": null,
                "id_payment": null,
                "id_card_issuer": null
            },
            "parcels": 1,
            "method": "CREDIT_CARD",
            "description": "SkyHub",
            "card_issuer": null,
            "autorization_id": null
        }
    ],
    "placed_at": "2023-03-27T16:48:07-03:00",
    "delivery_contract_type": "",
    "shipping_estimate_id": "",
    "linked_order": null,
    "estimated_delivery_shift": null,
    "shipping_method_id": null,
    "estimated_delivery": "2023-03-30T00:00:00-03:00",
    "id": "6000f0f0d0ee0000000f0e00",
    "shipments": [],
    "total_ordered": 39.9,
    "updated_at": "2023-03-27T16:48:07-03:00",
    "status": {
        "type": "NEW",
        "label": "Pagamento Pendente (new) (SkyHub)",
        "code": "book_product"
    },
    "customer": {
        "vat_number": "23455567899",
        "phones": [
            "99 999999999"
        ],
        "name": "João dos Santos",
        "gender": "male",
        "email": "comprador@exemplo.com.br",
        "date_of_birth": "1989-01-01"
    },
    "delivery_token": {
        "takeout": null,
        "failure": null,
        "customer": null
    },
    "sync_status": "NOT_SYNCED",
    "exported_at": null
}

Através da queues não é possível consumir um pedido especificamente. A fila deverá ser consumida por completo com as informações disponibilizadas pelo marketplace.

Suponha-se que existam 20 pedidos gerados/atualizados pelo marketplace; as notificações cairão na fila aleatoriamente, porém visando aquelas mais recentes, sendo de responsabilidade da plataforma/ERP o consumo de todas as informações disponibilizadas.

Mantendo a fila de integração "limpa", isto é, consumindo sempre todos os pedidos, garante-se que todos os novos gerados e todas as alterações de status estarão atualizados na plataforma/ERP.

O consumo do pedido sempre trará o campo calculation_type, responsável por identificar o método de cálculo de frete.

Sempre que o calculation_type for preenchido com o valor b2wentregadirect, espera-se para o payload o array pick_ups contendo informações da warehouse (CD) e SKU de venda.

Por padrão, o array pick_ups é incluso apenas para pedidos b2wentregadirect, desta forma, para pedidos cujo calculation_type for b2wentregacorreios não haverá a inclusão do referido array (pick_ups).

Dicas sobre a fila de integração de pedidos

-> Verificar o campo status[code]

Ao recuperar um pedido da fila, a integração deve verificar o campo status[code] para saber qual foi o tipo de evento: pedido novo ou uma atualização (aprovação ou cancelamento).

-> O GET na /queues/orders sempre irá retornar o status atual do pedido

O pedido entra na fila sempre que receber alguma atualização proveniente do marketplace e para a plataforma/ERP será disponibilizada a informação da última alteração sofrida.

Imagine o seguinte cenário:

  1. O pedido é gerado no marketplace (status NEW) e entra na fila (/queues/orders);

  2. A plataforma/ERP não consome o recurso /queues/orders;

  3. O pedido tem o pagamento confirmado no marketplace (status APPROVED) e esta atualização entra novamente na fila /queues/orders;

  4. Nesse momento a integração faz uma chamada GET /queues/orders. O JSON do pedido retornado conterá o status APPROVED (status atual do pedido) ao invés do status NEW (status que o pedido tinha quando entrou na fila pela primeira vez);

  5. Como o pedido entrou duas vezes na fila e não havia sido consumido, ao ser repetida a chamada GET /queues/orders (sem que haja uma nova atualização do marketplace), a integração receberá o mesmo JSON novamente.

-> Estoque Disponível x Estoque Empenhado

É obrigatório consumir todos os pedidos da fila de integração (/queues) com status NEW para que os produtos sejam empenhados em seus estoques.

Esta obrigatoriedade se dá para que sejam evitadas divergências entre o estoque disponível e o estoque empenhado.

O que pode acontecer caso não consuma todos os status do pedido? Ao não consumir o status de NEW não haverá empenho de estoque na plataforma, assim a API receberá a informação de que há estoque disponível para venda, consequentemente, poderão haver vendas sem estoque.

Vale lembrar:

  • As plataformas que não se adequarem a essa regra de negócios podem arcar com prejuízo do seller;

  • Para a API deve ser enviado apenas o estoque disponível para venda.

DELETE - Confirmando o consumo do pedido

https://api.skyhub.com.br/queues/orders/{code}

O {code} a ser utilizado é o código de identificação do pedido, visualizado após o GET.

Se em até 5 minutos a API não receber a confirmação de que a integração conseguiu processar o pedido com sucesso, o mesmo voltará para a fila, ou seja, após o GET na /queues/orders a plataforma/ERP tem até 5 minutos para realizar a confirmação do consumo da informação.

Caso o sistema tente confirmar o consumo (DELETE) após os 5 minutos sem que haja um novo GET na /queues/orders será retornado status 404.

Example request:

curl --location --request DELETE 'https://api.skyhub.com.br/queues/orders/Lojas Americanas-1000000000005' \
--header 'X-User-Email: email_de_usuario' \
--header 'X-Api-Key: token_de_integracao de sua conta SkyHub' \
--header 'X-Accountmanager-Key: token_account único de cada Plataforma/ERP' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json'

Response esperado:

204 [Success] - No content

Importante que como boa prática aconselhamos que seja realizado o DELETE logo na sequência do GET, para evitar possíveis furos no consumo de pedidos.

PreviousFaturamento Pedido - Americanas Entrega DirectNextNotificação de Pedidos

Last updated 1 month ago

Após o GET na /queues/orders o pedido apresentado sairá da fila de integração e ficará aguardando por 5 minutos para que a plataforma/ERP confirme o seu processamento. Esta confirmação é realizada utilizando os padrões na API e aplicando um DELETE no endpoint:

No disponibilizado acima, temos o "code": "Lojas Americanas-1000000000005".

headers
exemplo