VenddorDocumentação API
API atualAPI legada
Guia rápidoReferência completa
Carregando índice…
API legada/Referência completa

Impostos

Gerencie as regras de imposto da loja: liste e filtre, consulte uma regra, crie, atualize e exclua.

A API de impostos gerencia as configurações de imposto da loja, incluindo alíquotas, isenções e as regras para diferentes regiões e tipos de produto. Uma regra de imposto diz quanto de imposto se aplica, onde ele se aplica (país, estado, CEPs) e qual tipo de endereço decide a regra.

Você usa estas rotas para carregar as regras de imposto de uma loja nova, para ajustar uma alíquota quando as regras mudam ou para ler as regras que estão valendo hoje. Elas ficam em $BASE_URL/api/taxes, exigem uma conta de administrador e usam credenciais HTTP Basic ($EMAIL:$API_KEY).

Pontos principais
  • rate_type é P (percentual) ou F (valor fixo).
  • address_type é S (endereço de entrega) ou B (endereço de cobrança): ele escolhe qual endereço decide a alíquota.
  • status é A (ativo), D (desativado) ou H (oculto).
  • A listagem é paginada e pode ser filtrada por país, estado e alíquota, veja Paginação.
  • A lista completa das propriedades de um imposto está em Campos.

Como funciona

Uma regra de imposto é criada uma vez e depois consultada e ajustada ao longo do tempo. Em vez de excluir uma regra que você quer pausar, atualize o status dela para D.

Códigos de status do imposto

CódigoDescrição
AAtivo
DDesativado
HOculto

Códigos de tipo de alíquota

CódigoDescrição
PPercentual (por exemplo, 7,25%)
FValor fixo (por exemplo, $5.00)

Códigos de tipo de endereço

CódigoDescrição
SEndereço de entrega
BEndereço de cobrança

Conceitos principais

As alíquotas são enviadas e devolvidas como texto ("7.25"), e identificadores como tax_id também voltam como texto. O indicador price_includes_tax informa se o imposto já está dentro do preço do produto (Y) ou se é somado a ele (N).

Importante

Excluir uma regra de imposto a remove da loja de forma permanente. Se você quiser desativar uma regra apenas por um tempo, atualize o status dela para "D" (desativado).

Endpoints

MétodoCaminhoFinalidadeAutenticação
GET/api/taxesRecupera a lista de todas as regras de imposto da loja, veja abaixoAdmin
GET/api/taxes/{tax_id}Recupera os detalhes de uma regra de imposto, veja abaixoAdmin
POST/api/taxesCria uma nova regra de imposto, veja abaixoAdmin
PUT/api/taxes/{tax_id}Atualiza uma regra de imposto existente, veja abaixoAdmin
DELETE/api/taxes/{tax_id}Exclui uma regra de imposto, veja abaixoAdmin

Listar regras de imposto

GET/api/taxesAdmin

Recupera a lista de todas as regras de imposto da loja

Parâmetros de consulta

pageintegerpadrão: 1
Número da página.
items_per_pageintegerpadrão: 10
Quantidade de itens por página.
country_codestring
Filtra as regras pelo código do país.
state_codestring
Filtra as regras pelo código do estado ou província.
rate_minfloat
Filtra as regras pela alíquota mínima.
rate_maxfloat
Filtra as regras pela alíquota máxima.

Esta rota aceita paginação e filtros.

bash
curl -u "$EMAIL:$API_KEY" "$BASE_URL/api/taxes?country_code=US&state_code=CA"
200Regras de imposto
json
{
  "taxes": [
    {
      "tax_id": "12",
      "tax_name": "Sales Tax - California",
      "rate_type": "P",
      "rate_value": "7.25",
      "country_code": "US",
      "state_code": "CA",
      "status": "A"
    },
    {
      "tax_id": "13",
      "tax_name": "GST - Canada",
      "rate_type": "P",
      "rate_value": "5.00",
      "country_code": "CA",
      "state_code": "",
      "status": "A"
    }
  ],
  "params": {
    "page": 1,
    "items_per_page": 10,
    "total_items": 2
  }
}

Consultar uma regra de imposto

GET/api/taxes/{tax_id}Admin

Recupera os detalhes de uma regra de imposto pelo ID

Parâmetros de caminho

tax_idintegerobrigatório
O ID da regra de imposto.
bash
curl -u "$EMAIL:$API_KEY" "$BASE_URL/api/taxes/12"
200Regra de imposto
json
{
  "tax_id": "12",
  "tax_name": "Sales Tax - California",
  "description": "California state sales tax",
  "rate_type": "P",
  "rate_value": "7.25",
  "priority": "0",
  "country_code": "US",
  "state_code": "CA",
  "zip_codes": "",
  "address_type": "S",
  "product_categories": [],
  "tax_exemptions": [],
  "price_includes_tax": "N",
  "status": "A"
}

Criar uma regra de imposto

POST/api/taxesAdmin

Cria uma nova regra de imposto

Corpo da requisição

tax_namestringobrigatório
Nome da regra de imposto.
rate_typestringobrigatório
PF
Tipo de alíquota: "P" para percentual, "F" para valor fixo.
rate_valuestringobrigatório
Valor da alíquota.
country_codestringobrigatório
Código do país, com duas letras.
state_codestring
Código do estado ou província.
address_typestring
SB
Tipo de endereço: "S" para entrega, "B" para cobrança.
product_categoriesarray
Lista de IDs das categorias de produto às quais o imposto se aplica.

O exemplo de requisição também envia description, zip_codes, price_includes_tax e status, que são campos do imposto (veja Campos).

bash
curl -X POST -u "$EMAIL:$API_KEY" "$BASE_URL/api/taxes" \
  -H "Content-Type: application/json" \
  -d '{
  "tax_name": "New York City Tax",
  "description": "NYC local sales tax",
  "rate_type": "P",
  "rate_value": "4.5",
  "country_code": "US",
  "state_code": "NY",
  "zip_codes": "10001,10002,10003,10004,10005,10006,10007",
  "address_type": "S",
  "price_includes_tax": "N",
  "status": "A"
}'

Atualizar uma regra de imposto

PUT/api/taxes/{tax_id}Admin

Atualiza uma regra de imposto existente

Parâmetros de caminho

tax_idintegerobrigatório
O ID da regra de imposto a atualizar.

Envie somente os campos que você quer alterar.

bash
curl -X PUT -u "$EMAIL:$API_KEY" "$BASE_URL/api/taxes/12" \
  -H "Content-Type: application/json" \
  -d '{
  "rate_value": "8.25",
  "description": "Updated California state sales tax",
  "status": "A"
}'

Excluir uma regra de imposto

DELETE/api/taxes/{tax_id}Admin

Exclui uma regra de imposto

Parâmetros de caminho

tax_idintegerobrigatório
O ID da regra de imposto a excluir.
bash
curl -X DELETE -u "$EMAIL:$API_KEY" "$BASE_URL/api/taxes/12"

Erros comuns

  • Excluir uma regra de imposto para pausá-la. A exclusão é permanente, defina status como D.
  • Enviar rate_type como uma palavra. Ele é uma única letra, P ou F.
  • Esquecer country_code ao criar uma regra: ele é obrigatório, junto com tax_name, rate_type e rate_value.
  • Procurar as regras no nível principal da resposta da listagem. No exemplo, elas vêm dentro de taxes, ao lado de um objeto params com os dados de paginação.

Próximos passos

Endpoints
As URLs /api/taxes e os códigos de resposta.
Paginação
Percorra listas grandes de regras de imposto.
Campos
Todas as propriedades de um objeto de imposto.
Anterior
Formas de envio para apps
Próxima
Endpoints de impostos
Nesta página
  • Como funciona
  • Códigos de status do imposto
  • Códigos de tipo de alíquota
  • Códigos de tipo de endereço
  • Conceitos principais
  • Endpoints
  • Listar regras de imposto
  • Consultar uma regra de imposto
  • Criar uma regra de imposto
  • Atualizar uma regra de imposto
  • Excluir uma regra de imposto
  • Erros comuns
  • Próximos passos