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_typeconvencional pode termethod_idD3, 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_typeexpresso pode termethod_idEXP120, 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
}Authorization
sellerGroupKey In: header
Path Parameters
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\""