Solicitar envio (modalidade específica)

Solicita o despacho de uma entrega para um pedido escolhendo uma modalidade/transportadora específica.

Conceito relacionado

Entenda o conceito no guia: Envio (Delivery).

Header obrigatório. Toda chamada exige o header x-abbiamo-seller-group-key. Preencha-o no canto superior direito desta página ou veja como obter a sua chave.

Rate limit: 300 requisições por minuto por chave. Acima disso a API retorna HTTP 429.

A lógica para montar o body segue de perto a estrutura do objeto de entrega usado no processo create-order-v2.

Existem quatro formas diferentes de compor o objeto de entrega, e vamos explorá-las da abordagem mais simples e menos detalhada até a opção mais específica disponível.

1 - Preference Rule (minimal Object)

A forma mais simples de montar o delivery object é especificando apenas preference_rule. A regra escolhida determina qual delivery_method, entre as opções cadastradas, é usado no despacho. Existem duas preference_rules: cheapest e fastest.

{
  "preference_rule": "fastest"
}

Você pode usar esta forma do delivery object mesmo sem utilizar o endpoint de cotação ou as opções de entrega.


2 - By Carrier Name

Outra forma menos específica é informar o nome da transportadora escolhida. Como o nome da transportadora não basta para definir o método exato, este formato permite incluir o nome junto com um preference_rule opcional. Sem preference_rule, o valor padrão é cheapest. Para listar os nomes das transportadoras disponíveis para um pedido, use o endpoint Opções de entrega.

{
	"carrier_name": "TRANSPORTADORA-B",
  "preference_rule": "fastest" //optional
}

3 - By Carrier Name + Carrier Method Type

Este formato é um pouco mais específico do que apenas carrier_name porque também leva em conta o method_type da transportadora. Para listar os nomes das transportadoras e métodos disponíveis, use o endpoint Opções de entrega.

{
  "carrier_name": "TRANSPORTADORA-B",
  "method_type": "CONVENCIONAL"
}

4 - By Logistic_id

Esta é a forma mais precisa e específica de solicitar uma coleta usando o objeto de entrega. Há duas formas de compor esse objeto, ambas requerendo o uso do endpoint de cotação.

Tanto o logistic_id quanto o method_id podem ser obtidos no endpoint de cotação. O logistic_id representa a transportadora e o method_type, enquanto o method_id indica o prazo da entrega.

Existem dois tipos de method_id:

  • O primeiro tipo é D(n), comumente usado para métodos convencionais, onde n representa o número de dias (ex.: uma transportadora com method_type convencional pode ter method_id D3, o que significa entrega convencional em 3 dias).
  • O segundo tipo é EXP(n), usado para métodos expressos, onde n representa o tempo em minutos (ex.: uma transportadora com method_type expresso pode ter method_id EXP120, o que significa entrega expressa em 120 minutos).

Montando o objeto logístico

Por ser o objeto de entrega mais específico possível, é necessário fornecer o logistic_id junto com o method_id (prazo).

Alternativamente, você pode enviar apenas o logistic_id — o comportamento é equivalente ao formato 3 (Carrier Name + Method Type), com o desempate definido pelo preference_rule.

Aviso: em casos raros, o endpoint de cotação pode retornar o method_id como um UUID. Não se preocupe — esses métodos estão sendo descontinuados, mas continuarão funcionando por enquanto. Você pode usá-los normalmente.

{
  "logistic_id": "9edc4f36-0444-47a7-a8e1-3ba0ba9deb45",
  "method_id": "D1"
}
{
  "logistic_id": "9edc4f36-0444-47a7-a8e1-3ba0ba9deb45",
  "preference_rule"?: "cheapest" //fastest
}
POST
/seller-group/v1/orders/{order_id}/request-delivery

Authorization

sellerGroupKey
x-abbiamo-seller-group-key<token>

In: header

Path Parameters

order_id*string

Identificador único do pedido

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

curl -X POST "https://example.com/seller-group/v1/orders/string/request-delivery" \  -H "Content-Type: application/json" \  -d '{    "carrier_name": "TRANSPORTADORA-B",    "method_type": "fdb3234c-7b31-4a85-bcfc-877c8850537d"  }'
{}

"{\n    \"status_code\": 404,\n    \"timestamp\": \"2024-11-07T23:07:49.266Z\",\n    \"message\": \"Order with id: 148c92bb-fa05-440c-bdf5-24917e16c672 does not found\",\n    \"code\": \"ORDER_NOT_FOUND\",\n    \"error_id\": \"b6239447-ca67-4293-a48c-f0e8eb3cdf65\""

Nesta página