Loy API · piloto com parceiros Documentação para quem desenvolve a integração.

Erros

Toda falha volta no mesmo envelope. O code é estável e é o que o seu sistema deve tratar; a message é para pessoas e pode mudar.

{
  "error": {
    "type": "validation_error",
    "code": "validation_failed",
    "message": "Confira os dados enviados.",
    "errors": [
      {
        "param": "name",
        "message": "não pode ficar em branco"
      }
    ],
    "request_id": "c0a8f2e1-…"
  }
}

type agrupa o erro; param e errors aparecem quando há um campo específico. Novos campos podem ser acrescentados — ignore os que você não conhece.

HTTPcodeO que fazer
400api_key_in_urlEnvie a chave só no cabeçalho Authorization.
400malformed_jsonCorrija o JSON enviado.
400invalid_requestConfira os parâmetros obrigatórios.
400idempotency_key_requiredEnvie o cabeçalho Idempotency-Key no cadastro de cliente.
400invalid_idempotency_keyUse uma chave de idempotência com até 255 caracteres.
400invalid_paginationUse limit entre 1 e 100 e um cursor recebido da própria API.
401invalid_api_keyConfira a chave; se foi revogada, peça uma nova.
403api_not_enabledA API ainda não foi habilitada para a empresa.
403api_suspendedO acesso à API está suspenso; fale com o Loy.
403account_inactiveA assinatura da empresa no Loy não está ativa.
403insufficient_scopeA chave não tem o escopo exigido pelo endpoint.
404not_foundO recurso não existe nesta empresa.
404customer_not_foundO customer_id da visita não existe nesta empresa.
404service_not_foundO service_id da visita não existe nesta empresa.
404reward_not_foundNenhuma recompensa com esse código nesta empresa; confira com o cliente.
409reward_already_redeemedA recompensa já foi utilizada; não entregue de novo.
422reward_expiredA recompensa venceu e não pode mais ser utilizada.
409webhook_endpoint_limit_reachedRemova um endereço de webhook antes de cadastrar outro.
422invalid_webhook_urlUse um endereço https:// público.
503webhooks_unavailableOs webhooks ainda não estão disponíveis; tente mais tarde.
409customer_email_takenJá existe cliente com este e-mail; busque-o com GET /customers?email=.
409customer_external_id_takenJá existe cliente com este external_id; busque-o com GET /customers?external_id=.
409idempotency_key_in_useOutra requisição com a mesma chave está em andamento; tente de novo em instantes.
422idempotency_key_reusedA chave já foi usada com outro conteúdo; gere uma chave nova.
422validation_failedConfira o campo errors: cada item traz param e message.
429rate_limitedEspere o tempo de Retry-After e tente de novo.
429concurrency_limitedReduza as requisições simultâneas.
429quota_exceededQuota do mês atingida; fale com o Loy.
500internal_errorTente de novo com espera; se persistir, envie o request_id.
503api_unavailableA API está temporariamente indisponível.

Códigos de novos endpoints são listados na referência e em Novidades.

O acesso é liberado pela equipe do Loy. Pedir acesso.