Pular para o conteúdo principal
Tudo o que você consulta com frequência durante a integração, dividido pelas duas metades: o que você chama e o que você implementa.

Você chama: API da DeliveryVip

Host: https://api.deliveryvip.com.br. Autenticação: Authorization: Bearer {token}, com token de scope=od.all dv.loyalty.

Você implementa: contrato do operador

Sob a api_base_url da extensão. Autenticação: X-App-Signature (HMAC-SHA256 do corpo bruto com o Client Secret). Spec completa: loyalty_operator.yaml.

Headers das chamadas assinadas

Limites e janelas

Regras que valem decorar

  • accountId é opaco e estável: revincular devolve o mesmo id.
  • O PIN é validado só do seu lado; nunca aparece em logs ou armazenamento da DeliveryVip.
  • amount e balance são números JSON (25.0 ≡ 25.00).
  • externalCode de item só viaja quando o produto tem código PDV/ERP (nunca null).
  • Eventos são notificação: o dado de fidelidade vive no pedido (GET /merchant/v3/orders/{orderId}), campo orderURL (grafia exata).
  • CONCLUDED = acumular; CANCELLED = estornar o acúmulo; REVERSED no bloco = somar redemption.amount.value de volta à base.
  • redemptionLimits omitido = sem limite (programa sem limites permite 100%); nunca envie null. Limite malformado é descartado em silêncio.
  • Percentual de resgate incide sobre os itens, nunca sobre o total do pedido.
  • min decide se pode resgatar, não quanto: valor abaixo dele é rejeitado, nunca ajustado.
  • redemptionLimits na conta substitui integralmente o do programa: não é merge campo a campo.