Tarifas por degrau
Lê, substitui e apaga a tabela de tarifas por degrau de um método, com degraus por valor do pedido, peso ou itens.
As tarifas por degrau são uma tabela de preços simples: uma lista de degraus, cada um com uma dimension (o que se mede), um limiar amount ("acima de X") e um valor value (quanto cobrar). Elas servem a quem cobra por um único critério de cada vez. Quando precisar combinar limites de valor, peso e itens, prefira as faixas de preço, que têm limites mínimo e máximo explícitos.
Listar tarifas
/api/v1/admin/shipping-methods/{id}/ratesAdminLista as tarifas por degrau de um método
Parâmetros de caminho
iduuidobrigatórioExemplo de requisição
curl "$BASE_URL/api/v1/admin/shipping-methods/$METHOD_ID/rates" \
-H "Authorization: Bearer $TOKEN"Resposta
{
"rate_tiers": [
{
"id": "ab5e484a-9ffa-4b7d-bbfa-165450c01b45",
"shipping_id": "65d71956-dbae-4df9-a3a3-129ac66f6324",
"dimension": "C",
"amount": 10000,
"value": 1200,
"value_type": "F",
"per_unit": false,
"position": 0
}
],
"total": 1
}Campos da resposta
rate_tiersarrayrate_tiers). null quando não há nenhum.totalintegerrate_tiers[].iduuidrate_tiers[].shipping_iduuidrate_tiers[].rate_area_iduuidrate_tiers[].dimensionstringCWIrate_tiers[].amountintegerrate_tiers[].valueintegerF) ou pontos-base (P).rate_tiers[].value_typestringFPrate_tiers[].per_unitbooleanrate_tiers[].positionintegerSubstituir a tabela
Apaga todos os degraus do método e grava os enviados, na mesma transação, na ordem do vetor (position é preenchido pela posição, o que você enviar é ignorado). Enviar rate_tiers: [] esvazia a tabela.
/api/v1/admin/shipping-methods/{id}/ratesAdminSubstitui as tarifas por degrau de um método
Exige manage_shipping.
Parâmetros de caminho
iduuidobrigatórioCorpo da requisição
rate_tiersarrayobrigatórioLista completa de degraus.
dimensionstringobrigatórioCWIamountintegervalueintegervalue_typestringobrigatórioFPper_unitbooleanpadrão: falserate_area_iduuidExemplo de requisição
curl -X PUT "$BASE_URL/api/v1/admin/shipping-methods/$METHOD_ID/rates" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"rate_tiers": [
{
"dimension": "C",
"amount": 10000,
"value": 1200,
"value_type": "F"
},
{
"dimension": "C",
"amount": 20000,
"value": 0,
"value_type": "F"
}
]
}'Resposta
{
"rate_tiers": [
{
"id": "b51823d3-924f-406e-888d-a6020746655a",
"shipping_id": "65d71956-dbae-4df9-a3a3-129ac66f6324",
"dimension": "C",
"amount": 10000,
"value": 1200,
"value_type": "F",
"per_unit": false,
"position": 0
},
{
"id": "c1e3d6a2-0b6e-4a55-8f43-6a5c3d3b1e11",
"shipping_id": "65d71956-dbae-4df9-a3a3-129ac66f6324",
"dimension": "C",
"amount": 20000,
"value": 0,
"value_type": "F",
"per_unit": false,
"position": 1
}
],
"total": 2
}Apagar um degrau
/api/v1/admin/shipping-methods/{id}/rates/{tierId}AdminApaga um degrau de tarifa por degrau
Exige manage_shipping.
Parâmetros de caminho
iduuidobrigatóriotierIduuidobrigatórioExemplo de requisição
curl -X DELETE "$BASE_URL/api/v1/admin/shipping-methods/$METHOD_ID/rates/$STEP_ID" \
-H "Authorization: Bearer $TOKEN"Resposta
{
"message": "rate tier deleted"
}Erros
| Status | Quando | Corpo |
|---|---|---|
| 401 | Sem token, token inválido ou expirado | {"error":"invalid or expired token"} |
| 403 | Usuário sem o privilégio manage_shipping | {"error":"insufficient privileges","privilege_required_any":["manage_shipping"]} |
| 400 | Corpo que não é JSON, ou tierId que não é UUID | {"error":"invalid request body","detail":"..."} |
| 500 | dimension ou value_type fora dos valores aceitos (a gravação inteira é desfeita), método inexistente, ou degrau que não existe | {"error":"failed to set rate tiers","detail":"..."} / {"error":"failed to delete rate tier","detail":"rate tier not found: ..."} |