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

Moedas

Como a loja habilita moedas além do real, define a taxa de câmbio e deixa a taxa se atualizar sozinha.

Uma loja vende em uma moeda principal (normalmente o real, BRL) e pode mostrar preços em outras moedas habilitadas. O cliente escolhe a moeda na vitrine; os preços são convertidos pela taxa de câmbio cadastrada aqui. Os preços do catálogo continuam guardados na moeda principal.

Pontos principais
  • Todas as rotas exigem o privilégio manage_settings, inclusive as de leitura.
  • A taxa responde: "quantas unidades desta moeda valem 1 unidade da moeda principal". Com BRL como principal, exchangeRate: 0.17 para EUR significa R$ 1,00 = € 0,17.
  • A moeda principal tem sempre taxa 1. Só existe uma principal.
  • Os nomes dos campos desta API são em camelCase (exchangeRate, isPrimary).
  • Remover a moeda é idempotente: apagar uma moeda que não está habilitada responde 204 do mesmo jeito.

Como funciona

  1. Consulte o catálogo de moedas existentes na plataforma.
  2. Habilite uma delas informando a taxa.
  3. Ajuste a taxa à mão, ou ligue a atualização automática para a plataforma buscar a cotação (fonte ptax do Banco Central, com awesomeapi de reserva) e aplicar uma margem de proteção (Taxas de câmbio).
  4. Para trocar a moeda principal, use set-primary: a plataforma refaz a taxa de todas as outras moedas em relação à nova principal.

Campos de uma moeda

CampoSignificado
codeCódigo ISO 4217 em maiúsculas (BRL, USD, EUR).
symbol, decimals, decimalSep, thousandsSep, symbolAfter, symbolSpaceComo o valor é escrito (R$ 1.234,56).
enabledSe a moeda aparece para o cliente.
isPrimarySe é a moeda principal.
exchangeRateTaxa contra a principal (4 casas decimais).
positionOrdem de exibição (menor primeiro).
autoUpdate, autoSource, marginPct, roundingRuleAtualização automática (veja abaixo).

Regras de arredondamento

roundingRule ajusta o preço convertido: none (padrão, mantém os centavos), end_90 (sobe para o próximo valor terminado em ,90) e integer (sobe para o real inteiro seguinte). Um valor desconhecido é tratado como none.

Endpoints

MétodoCaminhoPara quê
GET/api/v1/admin/currenciesLista as moedas da loja
GET/api/v1/admin/currencies/catalogLista o catálogo da plataforma
GET/api/v1/admin/currencies/{code}Consulta uma moeda
POST/api/v1/admin/currenciesHabilita uma moeda
PATCH/api/v1/admin/currencies/{code}Altera uma moeda
POST/api/v1/admin/currencies/{code}/set-primaryDefine a moeda principal
DELETE/api/v1/admin/currencies/{code}Remove uma moeda
POST/api/v1/admin/currencies/{code}/refresh-rateAtualiza a taxa agora
GET/api/v1/admin/currencies/{code}/rate-historyHistórico de taxas

Erros comuns

  • Inverter a taxa. exchangeRate é "moeda estrangeira por 1 da principal", não o preço do dólar em reais. Para US$ 1 = R$ 5,00, a taxa de USD é 0.2.
  • Habilitar uma moeda duas vezes. A segunda chamada devolve 409. Use PATCH.
  • Tentar desativar ou remover a principal. Devolve 409. Troque a principal antes.
  • Apagar uma moeda usada por um mercado ativo. Devolve 409 com o nome do mercado.
  • Enviar exchangeRate diferente de 1 para a principal. Devolve 422.
  • Esperar que o PATCH valide autoSource e roundingRule. Valores desconhecidos são gravados; uma regra desconhecida simplesmente não arredonda.

Próximos passos

Habilitar e alterar
Ponha uma moeda no ar.
Taxas de câmbio
Atualização automática e histórico.
Anterior
Regras de desconto da compra programada
Próxima
Consultar moedas
Nesta página
  • Como funciona
  • Campos de uma moeda
  • Regras de arredondamento
  • Endpoints
  • Erros comuns
  • Próximos passos