API de banco de pontos

Permita que clientes usem ganhos de fidelidade para reservar viagens

Você escolhe se o seu modelo de site sem marca vai se conectar ao seu programa de fidelidade, para que clientes possam juntar ou resgatar pontos (ou ambos). O programa de fidelidade define quais compras dos seus clientes vão receber em troca a moeda de fidelidade (pontos, dinheiro ou outra), incluindo as compras no seu modelo de site. Você também pode permitir que as pessoas resgatem ganhos acumulados no seu modelo de site para reservar viagens.

Os clientes vão ter duas opções para resgatar os ganhos de fidelidade: direto no modelo de site ou com agentes da Expedia por telefone. Com a API de banco de pontos, os seus clientes podem:

  • Resgatar os ganhos de fidelidade
  • Reverter compras de viagens (também chamado de cancelamento ou anulação)
  • Receber um reembolso integral ou parcial do total dos ganhos de fidelidade para planos de viagem cancelados
  • Consultar o saldo da conta de fidelidade

Consulte mais informações na página sobre dados e respostas comuns.

Information

Podemos exibir o saldo de fidelidade do cliente no cabeçalho do modelo de site. No entanto, como as chamadas de API ocorrem no carregamento da página, os pontos mostrados não vão ser atualizados até que a página seja atualizada. Por isso, podem não refletir outros usos de fidelidade.

A API de banco de pontos tem pontos de extremidade que abrangem resgate, reversão e reembolso dos ganhos de fidelidade. Ela também pode chamar um ponto de extremidade de saldo da conta. Para garantir precisão, a API precisa ser consultada no momento da transação. Cada um dos pontos de extremidade é detalhado nas guias abaixo, mas todos (inclusive o de saldo da conta) compartilham os mesmos campos de cabeçalho.

Variáveis de cabeçalho

CampoDescriçãoExemplo do valorTipo e comprimento do campoObrigatório?
partnerIdIdentificador exclusivo da empresa, disponibilizado pela Expedia.SUA MARCASequência, máximo de 20 caracteresSim
AuthorizationToken de acesso recebido pela Expedia do seu servidor de autorização, a ser validado pela sua equipe.JSON Web Token (JWT) padrãoSequência, comprimento padrão de JWTNão
Authorization2JSON Web Token (JWT) enviado pela Expedia. Assinatura e declarações a serem validadas por você.JWT padrãoSequência, comprimento padrão de JWTNão

Confira a página de exemplo de solicitação e resposta para saber mais sobre o conteúdo.

Resgate

Esse processo de confirmação em etapa única permite que clientes resgatem as suas recompensas de fidelidade por meio do banco de pontos usando POST /redeem.

Solicitação

CampoDescriçãoExemplo do valorTipo e comprimento do campoObrigatório?
requestIdIdentificador exclusivo da solicitação de transação.a5783c58-c5ce-4ff9-b83c-58c5cedff988Sequência, máximo de 40 caracteresSim
membershipIdIdentificador exclusivo de cliente, recebido via SSO.a6fgju7he1bfSequência, máximo de 40 caracteresSim
loyaltyAccountNumberNúmero da conta do programa de fidelidade do cliente (também chamado de programAccountNumber). Deve ser preenchido apenas se um identificador diferente de membershipId for necessário para operações de fidelidade
.- 234986576
Sequência, máximo de 40 caracteresNão
programIdIdentificador do programa de fidelidade ao qual o cliente é afiliado ou o nome do nível associado ao programa de fidelidade.Silver
Gold
Platinum
Sequência, máximo de 20 caracteresNão
sourceConfirmationIdIdentificador de confirmação da Expedia (também chamado de orderId). É enviado em solicitações de resgate, reembolso e anulação e deve ser enviado de volta como parte do conteúdo de resposta e como parte do arquivo de reconciliação de pontos diário.9223371998507503799Sequência, máximo de 50 caracteresSim
totalproductCostCusto total da reserva (até duas casas decimais). Igual ao equivalente em dinheiro do valor pago em pontos + valor pago em dinheiro ou cartão.230,09Sequência, máximo de 10 caracteresSim
PaymentDetailsMoeda de fidelidade e dados de pagamento em dinheiro ou cartão. Consulte a tabela PaymentDetails para campos aninhados.  Sim

Resposta

CampoDescriçãoExemplo do valor
statusStatus da transação (valores:  Approved ou Declined)Declined
requestIdIdentificador exclusivo da solicitação de transação (do conteúdo da solicitação).a5783c58-c5ce-4ff9-b83c-58c5cedff9
transactionDateTimeData e hora da transação, conforme registrado no sistema do parceiro.2023-04-20T12:01:23.203057Z
sourceConfirmationIdIdentificador do pedido da Expedia (também chamado de orderId). É enviado em solicitações de resgate, reembolso e anulação e deve ser incluído no conteúdo de resposta e no arquivo de reconciliação de pontos diário.9223371998507503799
redemptionDetailsConfirmação do prêmio de fidelidade resgatado. Consulte a tabela RedemptionDetails para itens aninhados. 
DeclineReasonMotivo pelo qual a transação foi recusada. Consulte a tabela de dados comuns DeclineReason para itens aninhados. 
reasonMessageUma mensagem personalizada para acompanhar uma resposta de recusa para melhor registro. Consulte a tabela de dados comuns DeclineReason para itens aninhados. 

PaymentDetails

CampoDescriçãoObrigatório?
redemptionDetailsInformações do resgate de fidelidade. Consulte a tabela RedemptionDetails para itens aninhados.Sim
amountPaidInCashValor pago pelo cliente ao fazer a reserva em dinheiro ou no cartão. Consulte a tabela de dados comuns Amount para itens aninhados.Sim

RedemptionDetails

CampoDescriçãoExemplo do valorTipo e comprimento do campoObrigatório?
amountPaidInLoyaltyCurrencyNúmero total de pontos, milhas (ou qualquer outra moeda de fidelidade) pagos pela reserva. Consulte a tabela de dados comuns Amount para campos aninhados.  Sim
redemptionConfirmationIdIdentificador da operação de resgate. É enviado na solicitação de reembolso ou anulação da Expedia e deve ser preenchido no relatório reconciliação de pontos diário como "ID de confirmação do parceiro" para a transação de resgate.expedia-a5783c58-c5ce-4ff9-b83c-58c5cedff988Sequência, máximo de 50 caracteresSim
loyaltyRedemptionCodeCódigo de resgate exigido por algumas implementações, em geral, preenchido na solicitação. É uma senha de uso único ou código de resgate predefinido para um produto, se necessário.SKUSequência, máximo de 20 caracteresNão

Reversões

Para processar reversões (ou seja, reversão de transações de fidelidade, também chamadas de cancelamentos ou anulações) no banco de pontos, você vai usar o ponto de extremidade POST /rollback.

Essa API é acionada quando uma operação de resgate é bem-sucedida, mas precisa ser revertida pela Expedia por algum motivo, como falha de fornecimento (por exemplo, enquanto o cliente está tentando reservar, o hotel fica lotado). Como essa é uma reversão de resgate, vai ser necessária uma reconciliação antes que os ganhos de fidelidade estejam disponíveis de novo.

Observação: as transações de resgate e de reversão não devem aparecer no relatório de reconciliação de pontos diário.

Solicitação

CampoDescriçãoExemplo do valorTipo e comprimento do campoObrigatório?
requestIdIdentificador exclusivo da solicitação de transação.a5783c58-c5ce-4ff9-b83c-58c5cedff988Sequência, máximo de 40 caracteresSim
membershipIdIdentificador exclusivo de cliente do seu programa de fidelidade
.- a6fgju7he1bf
Sequência, máximo de 40 caracteresSim
sourceConfirmationIdIdentificador do pedido da Expedia (também chamado de orderId). É enviado em solicitações de resgate, reembolso e anulação e deve ser incluído no conteúdo de resposta e no arquivo de reconciliação de pontos diário.9223371998507503799Sequência, máximo de 50 caracteresSim
CancellationDetailsInformações sobre a transação de reversão. Consulte a tabela CancellationDetails para itens aninhados.   

Resposta

CampoDescriçãoExemplo do valorTipo e comprimento do campoObrigatório?
statusStatus da transação de reversão indicando se o cancelamento foi bem-sucedido (valores: Approved ou Declined)ApprovedSequênciaSim
requestIdIdentificador exclusivo da solicitação de transação (do conteúdo da solicitação)
.- a5783c58-c5ce-4ff9-b83c-58c5cedff988
Sequência, máximo de 40 caracteresSim
transactionDateTimeData e hora da transação, conforme registrado no seu sistema
.- 2023-04-20T12:01:23.203057Z
Sequência, máximo de 40 caracteresSim
sourceConfirmationIdIdentificador do pedido da Expedia (também chamado de orderId). É enviado em solicitações de resgate, reembolso e anulação e deve ser incluído no conteúdo de resposta e no arquivo de reconciliação de pontos diário.9223371998507503799Sequência, máximo de 50 caracteresSim
CancellationDetailsInformações sobre a transação de reversão (obrigatórias se o valor status for  Approved). Consulte a tabela CancellationDetails para itens aninhados.   
BalanceQuantidade de pontos, milhas ou qualquer outra moeda de fidelidade disponível na conta do cliente. Consulte os dados comuns na tabela Amount para itens aninhados
.-  
  
DeclineReasonMotivo pelo qual a transação foi recusada. Consulte a tabela de dados comuns DeclineReason para itens aninhados
.-  
  
reasonMessageUma mensagem personalizada para acompanhar uma resposta de recusa. Consulte a tabela de dados comuns DeclineReason para itens aninhados.   

CancellationDetails

CampoDescriçãoExemplo do valorTipo e comprimento do campoObrigatório?
redemptionConfirmationIdIdentificador de confirmação para resgate, enviado na resposta de resgate. Se revertido, não deve ser preenchido no relatório de pontos diário.a5783c58-c5ce-4ff9-b83c-58c5cedff991Sequência, máximo de 50 caracteresSim
cancellationConfirmationIdIdentificador de confirmação para operação de reversão (obrigatório se o valor status for Approved). Não deve ser preenchido no relatório de pontos diário.a5783c58-c5ce-4ff9-b83c-58c5cedff993Sequência, máximo de 50 caracteresNão

Reembolsos

Essa API é usada para processar reembolsos de fidelidade no seu banco de pontos com POST /refund. É acionada quando clientes precisam cancelar os seus planos após já terem usado os ganhos de fidelidade para reservar. Como se trata de um reembolso de ganhos de fidelidade, é necessária uma reconciliação antes que a moeda reembolsada esteja disponível na conta do cliente.

Solicitação

CampoDescriçãoExemplo do valorTipo e comprimento do campoObrigatório?
requestIdIdentificador exclusivo da solicitação de reembolso
.- a5783c58-c5ce-4ff9-b83c-58c5cedff988
Sequência, máximo de 40 caracteresSim
membershipIdIdentificador exclusivo de cliente.a6fgju7he1bfSequência, máximo de 40 caracteresSim
sourceConfirmationIdIdentificador do pedido da Expedia (também chamado de orderId). É enviado em solicitações de resgate, reembolso e anulação e deve ser incluído no conteúdo de resposta e no arquivo de reconciliação de pontos diário.9223371998507503799Sequência, máximo de 50 caracteresSim
RefundDetailsInformações sobre a transação de reembolso. Consulte a tabela RefundDetails para itens aninhados.   

Resposta

CampoDescriçãoExemplo do valorTipo e comprimento do campoObrigatório?
statusStatus do reembolso (valores: Approved ou Declined)ApprovedSequênciaSim
requestIdIdentificador exclusivo da solicitação de reembolso (do conteúdo da solicitação).a5783c58-c5ce-4ff9-b83c-58c5cedff988Sequência, máximo de 40 caracteresSim
transactionDateTimeData e hora da transação, conforme registrado no seu sistema
.- 2023-04-20T12:01:23.203057Z
Sequência, máximo de 40 caracteresSim
sourceConfirmationIdIdentificador do pedido da Expedia (também chamado de orderId). É enviado em solicitações de resgate, reembolso e anulação e deve ser incluído no conteúdo de resposta e no arquivo de reconciliação de pontos diário.9223371998507503799Sequência, máximo de 50 caracteresSim
RefundDetailsInformações sobre a transação de reembolso. Consulte a tabela RefundDetails para itens aninhados.   
BalanceQuantidade de pontos, milhas ou qualquer outra moeda de fidelidade disponível na conta do cliente. Consulte os dados comuns na tabela Amount para itens aninhados
.-  
  
DeclineReasonMotivo pelo qual a transação foi recusada. Consulte a tabela de dados comuns DeclineReason para itens aninhados
.-  
  
reasonMessageUma mensagem personalizada para acompanhar uma resposta de recusa. Consulte a tabela de dados comuns DeclineReason.   

RefundDetails

CampoDescriçãoExemplo do valorTipo e comprimento do campoObrigatório?
loyaltyRefundAmountNúmero total de pontos, milhas ou qualquer outra moeda de fidelidade reembolsada. Consulte a tabela de dados comuns Amount para campos aninhados.   
redemptionConfirmationIdIdentificador da operação de resgate. Enviado na resposta de resgate.a5783c58-c5ce-4ff9-b83c-58c5cedff918Sequência, máximo de 50 caracteresSim
refundConfirmationIdIdentificador da operação de reembolso. É enviado na solicitação de reembolso ou anulação da Expedia e deve ser preenchido no arquivo de reconciliação de pontos diário como "ID de confirmação do parceiro" para a transação de reembolso.a324554f03-c5ce-4ff9-b83c-58c5cedff988Sequência, máximo de 50 caracteresNão

Saldo da conta

Para buscar o saldo da conta de fidelidade do cliente, use o ponto de extremidade POST /balance.

Solicitação

CampoDescriçãoExemplo do valorTipo e comprimento do campoObrigatório?
requestIdIdentificador exclusivo da solicitação de transação.a5783c58-c5ce-4ff9-b83c-58c5cedff988Sequência, máximo de 40 caracteresSim
membershipIdIdentificador exclusivo de cliente do seu programa de fidelidade
.- a6fgju7he1bf
Sequência, máximo de 40 caracteresSim
loyaltyAccountNumberNúmero da conta do programa de fidelidade do cliente (também chamado de programAccountNumber). Deve ser preenchido apenas se um identificador diferente de membershipId for necessário para operações de fidelidade
.- 234986576
Sequência, máximo de 40 caracteresNão
programIdIdentificador do programa de fidelidade ao qual o cliente é afiliado ou o nome do nível associado ao programa de fidelidade.PlatinumSequência, máximo de 20 caracteresNão

Resposta (bem-sucedida)

CampoDescriçãoExemplo do valorTipo e comprimento do campoObrigatório?
requestIdIdentificador exclusivo da solicitação de transação.a5783c58-c5ce-4ff9-b83c-58c5cedff988Sequência, máximo de 40 caracteresSim
BalanceQuantidade de pontos, milhas ou qualquer outra moeda de fidelidade disponível na conta do cliente. Consulte os dados comuns na tabela Amount para itens aninhados
.-  
  

Detalhes da API

Esta página foi útil?
Como podemos melhorar esse conteúdo?
Agradecemos por nos ajudar a melhorar.