Rotas de métodos de frete
Lista, consulta, cria, altera e remove métodos de frete (formas de entrega) da loja.
Estas rotas leem e mantêm o cadastro de métodos de frete. Use-as quando um sistema externo precisa espelhar as formas de entrega da loja ou criá-las em lote. Todas exigem um usuário administrador.
/api/v1.0/shippingsAdminListar os métodos de frete
Devolve os métodos da loja em páginas.
Parâmetros de consulta
pageintegerpadrão: 1Página, a partir de 1. Valor inválido ou menor que 1 é ignorado.
items_per_pageintegerpadrão: 10Itens por página, de 1 a 250. Fora disso vale 10.
/api/v1.0/shippings/{id}AdminConsultar um método de frete
Devolve um método pelo id.
Parâmetros de caminho
idstringobrigatórioId do método (UUID).
/api/v1.0/shippingsAdminCriar um método de frete
Cria um método e responde 201 com o id. O método nasce ativo, a menos que você mande outro status.
Corpo da requisição
shippingstringobrigatórioNome do método.
statusstringpadrão: AADA ativo. Qualquer outro valor cria o método desativado.carrierstringTransportadora ou módulo (
correios, manual...).delivery_timestringPrazo em texto livre (
2-3 dias úteis).min_weightnumberPeso mínimo atendido.
0 sem limite.max_weightnumberPeso máximo atendido.
0 sem limite.ratesobjectTabela de preços, objeto livre.
service_paramsobjectParâmetros do serviço da transportadora, objeto livre.
/api/v1.0/shippings/{id}AdminAlterar um método de frete
Altera só o que você enviar e responde 200 com o id. Texto vazio e pesos iguais a 0 contam como "não enviado".
Parâmetros de caminho
idstringobrigatórioId do método.
Corpo da requisição
shippingstringNovo nome.
statusstringADA ativa; qualquer outro valor desativa.carrierstringTransportadora.
delivery_timestringPrazo.
min_weightnumberPeso mínimo (só vale acima de 0).
max_weightnumberPeso máximo (só vale acima de 0).
ratesobjectTabela de preços.
service_paramsobjectParâmetros do serviço.
/api/v1.0/shippings/{id}AdminRemover um método de frete
Remove o método e responde 204 sem corpo.
Parâmetros de caminho
idstringobrigatórioId do método.
Exemplo de requisição
bash
curl -u "$EMAIL:$API_KEY" -X POST "$BASE_URL/api/v1.0/shippings" \
-H "Content-Type: application/json" \
-d '{"shipping":"Motoboy","status":"A","carrier":"manual","delivery_time":"30 min"}'
curl -u "$EMAIL:$API_KEY" "$BASE_URL/api/v1.0/shippings?items_per_page=10"Resposta
200Lista de métodos de frete
json
{
"params": { "page": 1, "items_per_page": 10, "total_items": 1 },
"shippings": [
{
"shipping_id": "85e87a54-dcee-4947-8cfa-f6406f2f3cbb",
"shipping": "Motoboy",
"description": "",
"status": "A",
"company_id": "",
"delivery_time": "30 min",
"carrier": "manual",
"min_weight": 0,
"max_weight": 0,
"position": 0,
"rates": {},
"service_params": {},
"a_surcharge": 0,
"p_surcharge": 0,
"tax_ids": "",
"usergroup_ids": "",
"is_address_required": "N",
"localization": "",
"rate_calc_type": "",
"service_id": "",
"module": "manual"
}
]
}201Método criado
json
{ "shipping_id": "85e87a54-dcee-4947-8cfa-f6406f2f3cbb" }Campos da resposta
shipping_idstringId do método (UUID).
shippingstringNome.
descriptionstringDescrição; vazia quando não há.
statusstringADA ativo, D desativado.company_idstringId do seller dono do método; vazio quando é da loja.
delivery_timestringPrazo em texto.
carrierstringTransportadora ou módulo.
min_weightnumberPeso mínimo.
max_weightnumberPeso máximo.
positionintegerOrdem de exibição.
ratesobjectTabela de preços, como gravada.
service_paramsobjectParâmetros do serviço, como gravados.
a_surchargenumberSobretaxa fixa em decimal da moeda da loja (
2.5 = R$ 2,50).p_surchargenumberSobretaxa percentual (
10 = 10%).tax_idsstringIds de impostos separados por vírgula; vazio quando não há.
usergroup_idsstringIds de grupos de usuários que enxergam o método, separados por vírgula; vazio para todos.
is_address_requiredstringYNY quando o método exige endereço de entrega.localizationstringSempre vazio.
rate_calc_typestringSempre vazio.
service_idstringSempre vazio.
modulestringIgual a
carrier.paramsobjectpage, items_per_page e total_items (total de métodos da loja).Erros
| Status | Quando | Corpo |
|---|---|---|
| 400 | Corpo que não é JSON | {"message":"invalid request body","status":400} |
| 400 | Falta shipping na criação | {"message":"shipping name is required","status":400} |
| 401 | Sem credenciais | {"message":"Authentication required. Use HTTP Basic with email:api_key or Bearer <jwt>.","status":401} |
| 403 | Usuário que não é administrador | {"message":"Forbidden: admin scope required","status":403} |
| 404 | Método inexistente | {"message":"shipping method not found","status":404} |