Notificações
Esta página descreve o serviço de notificações, que envia alertas sobre eventos de reserva para você.
Visão geral
Notificações da Rapid API é uma solução que permite que você se integre ainda mais com a Rapid. Quando ocorrem alterações que podem afetar a sua empresa, a Rapid vai enviar os detalhes da alteração direto para os seus sistemas via mensagens POST padrão. Com as nossas notificações de push, você pode se manter a par, simplificar operações e dimensionar os seus negócios.
Oferecemos suporte a todos os eventos de reserva que ocorrem fora da nossa API. Portanto, se uma central de atendimento fizer uma alteração ou um hotel cancelar uma reserva, você vai receber uma notificação no mesmo instante. Esse é apenas o começo, mais tipos de evento de notificação vão existir em breve.
Ao ativar uma integração perfeita com a sua empresa, essas notificações servem para complementar os seguintes produtos e serviços da Rapid:
- Rapid
- Ferramenta de reservas do agente do Affiliate Voyager
- Serviços de atendimento ao cliente e ao parceiro
Oferecemos uma API de teste para todos os tipos de evento compatíveis para as notificações. Veja detalhes completos na seção principal abaixo. Se você não deseja configurar as suas solicitações, pode usar a nossa nova ferramenta, o Notifications Tester.
Tipos de mensagem compatíveis
As notificações da Rapid podem informar os seus sistemas com uma mensagem sobre os seguintes eventos:
Valor do event_type | Origem | Evento | Detalhes |
---|---|---|---|
itinerary.agent.create | Agente de atendimento ao cliente ou Affiliate Voyager | Criação da reserva | Uma nova reserva foi criada por um agente de atendimento ao cliente da Rapid ou do Affiliate Voyager. |
itinerary.agent.change | Agente de atendimento ao cliente ou Affiliate Voyager | Atualização de reserva | Uma reserva existente foi atualizada por um agente de atendimento ao cliente da Rapid ou do Affiliate Voyager. |
itinerary.agent.cancel | Agente de atendimento ao cliente ou Affiliate Voyager | Cancelamento de reserva | Uma reserva existente foi cancelada por um agente de atendimento ao cliente da Rapid ou do Affiliate Voyager. |
itinerary.supplier.cancel | Hotel | Cancelamento de reserva | Uma reserva existente foi cancelada pelo hotel. O cliente deve entrar em contato com o serviço de atendimento ao cliente da sua empresa. |
itinerary.supplier.confirm | Hotel | Atualização de reserva | O hotel atualizou o ID de confirmação da propriedade para a reserva. |
itinerary.fraud.cancel | Expedia | Cancelamento de reserva | Uma reserva existente foi cancelada pela Expedia porque não estava em conformidade com os termos e condições da transação. O cliente precisa enviar uma mensagem a transactionprocessing@travelscape.com informando o número de telefone e o melhor horário para conversar sobre o cancelamento. |
itinerary.message.received | Hotel | Nova comunicação da Central de mensagens da propriedade | A propriedade enviou uma nova comunicação pela Central de mensagens (PMC). Este evento inclui o texto completo da mensagem da propriedade. Além da notificação, as mensagens também podem ser acessadas por e-mail e pela ferramenta PMC. |
itinerary.supplier.change | Fornecedor | Atualização de reserva | Uma reserva existente é alterada pelo hotel devido a atraso na chegada ou check-out antecipado do viajante. |
itinerary.traveler.noshow | Fornecedor | No show de viajante | O viajante não compareceu e o fornecedor marcou a reserva como No show. |
itinerary.supplier.refund | Fornecedor | Atualização de reserva | Para reservas Expedia Collect, o hotel vai fornecer os reembolsos solicitados por viajantes. É dever do parceiro garantir que o viajante receba os reembolsos. |
Esquema e detalhes da mensagem
Todas as mensagens seguem o esquema abaixo. À medida que novos tipos de mensagem são adicionados em eventos diferentes, o esquema sofre alterações.
Objeto | Descrição |
---|---|
event_id | Identificador único para cada mensagem. |
event_type | Uma indicação de qual evento causou a notificação. Este valor pode ser usado no tratamento e no roteamento da mensagem. Consulte a lista de tipos de evento para mais informações. |
event_time | O registro de data e hora da notificação do evento, em UTC. |
itinerary_id | O ID do itinerário da reserva afetada. |
email | O e-mail do cliente associado ao itinerário afetado. |
message | Descrição da notificação do evento |
affiliate_reference_id | O número de referência do afiliado da reserva afetada |
Cada mensagem é uma solicitação HTTPS POST com um corpo de mensagem JSON.
Observação: é preciso habilitar os parceiros em cada tipo de evento, um a um, para que possam receber notificações. Se você quiser habilitar um novo tipo de evento da API de notificações, entre em contato com o suporte da Rapid.
Exemplo de itinerary.agent.create
{
"event_id": "dbacce6c-afcb-4b23-ae66-48050757551c",
"event_type": "itinerary.agent.create",
"event_time": "2017-08-09T16:47:32.039Z",
"itinerary_id": "8091234567890",
"email": "customer@example.com",
"message": "An agent created a new itinerary.",
"affiliate_reference_id": "b086d299-2f1f-4134-a23c-f4a1c9286fac"
}
Exemplo de itinerary.supplier.confirm
{
"event_id": "e02d6f41-4708-476f-915d-8a7032942e94",
"event_type": "itinerary.supplier.confirm",
"event_time": "2018-04-28T20:31:03.423Z",
"itinerary_id": "8999989898988",
"email": "alice@example.com",
"message": "The supplier confirmed one or more rooms on this itinerary.",
"affiliate_reference_id": "R194193582",
"rooms": [
{
"confirmation_id": {
"expedia": "926784314",
"property": "BEF23123AA"
}
},
{
"confirmation_id": {
"expedia": "926784315"
}
}
]
}
Exemplo de itinerary.message.received
{
"event_id": "1aed5641-7285-4c42-b079-f5f2f139d148",
"event_type": "itinerary.message.received",
"event_time": "2023-11-14T02:33:18.860105363Z",
"itinerary_id": "9025254271673",
"email": "john@email.com",
"message": "We accept your request for river view room. Looking forward to your visit",
"affiliate_reference_id": "b086d299-2f1f-4134-a23c-f4a1c9286fac"
}
Integração
Recebimento de uma mensagem
Para começar a receber notificações, você vai precisar de um ponto de extremidade que aceite a mensagem POST que será enviada ao seu ponto de extremidade. O ponto de extremidade deve:
- ser acessível ao público.
- ter HTTPS e TLS 1.2 ou superior habilitados.
- configurar um certificado TLS válido, confiável para a maioria dos aplicativos modernos (um certificado autoassinado pode não ser confiável).
Entre em contato com o seu consultor de integração da Rapid para configurar e enviar:
- Uma lista de tipos de evento que você deseja assinar (relacionada acima).
- O URL do seu ponto de extremidade para receber mensagens.
Estamos trabalhando para oferecer ferramentas de autoatendimento para você testar a sua integração. Até lá, o seu consultor de integração pode ajudar você com as reservas de teste para confirmar que você está recebendo notificações dos eventos off-line para os quais se inscreveu.
Observações importantes sobre a configuração
- A Rapid usa servidores baseados em nuvem que garantem que os seus pontos de extremidade receptores estejam configurados para receber notificações de push de endereços IP em potencial.
- Se você desejar alterar o URL do seu ponto de extremidade, deve manter o URL original ativo até que validemos o seu novo URL para receber notificação de push. Fale com o seu representante da Rapid antes de fazer essas alterações.
- Apenas um URL pode ser usado nas notificações. Não são aceitas variações de
event_type
ou outros critérios.
Tratamento de mensagens
Quando você receber uma mensagem de que um evento de reserva ocorreu, use o ID do itinerário e o endereço de e-mail da mensagem para recuperar os detalhes mais recentes da reserva.
As mensagens podem chegar foram de ordem. Consulte o carimbo de hora para determinar a ordem e recuperar o itinerário de evento de reserva para ver o status atualizado.
Após receber a mensagem, a sua integração deve responder com o código de status HTTP apropriado. Qualquer mensagem que não receber um código de status de nível 200 será considerada como não entregue e será colocada em fila para uma tentativa de serviço de notificação.
Como lidar com o resultado | Detalhes | Código de status da resposta |
---|---|---|
Success | A mensagem foi recebida conforme o esperado. A mensagem foi processada de maneira apropriada. | 200 |
Failure | A mensagem não foi recebida conforme o esperado. A mensagem não foi processada de maneira apropriada. | 400s |
Failure | O cliente não conseguiu processar a mensagem por causa de um erro no servidor do cliente. | 500s |
Mensagens que não podem ser entregues
Se não conseguirmos entregar uma mensagem para o seu ponto de extremidade, vamos recuperar o cronograma abaixo de maneira automática:
- Primeira tentativa após 5 minutos.
- Segunda tentativa após 1 hora.
- Tentativa subsequente a cada 12 horas por 7 dias (14 no total).
Você poderá receber uma mensagem duplicada se não recebermos uma confirmação de recebimento (código de status 200 OK) e a mensagem entrar em fila para tentativa. Você pode identificar uma mensagem duplicada localizando o mesmo event_id
mas em um timestamp
posterior ao original.
API de notificações não entregues
Essa solicitação retorna todas as notificações para as quais você se inscreveu e não recebeu e os pontos de extremidade de teste. As mensagens são retornadas com base na chave de API informada. As mensagens são classificadas como não podem ser entregues e movidas para o armazenamento para recuperação pela API após 7 dias de tentativas de entrega (consulte a seção anterior).
- As mensagens que não podem ser entregues serão retornadas apenas uma vez. Quaisquer mensagens que você retornar serão removidas do armazenamento de dados. Tenha isso em mente quando processar essa API.
- Até 25 mensagens não entregues são retornadas com cada solicitação.
- As solicitações para api.ean.com vão retornar notificações de teste e produção em uma resposta. Nosso ponto de extremidade de teste, test.ean.com, não aceita solicitações. Recomendamos não usar o ponto de extremidade de teste logo que os seus pontos de extremidade de produção forem ativados, pois isso pode resultar em notificações de produção que serão excluídas em seguida.
Esquema e detalhes da mensagem
As mensagens não entregues retornadas por essa API seguem o mesmo esquema das notificações de produção, conforme descrito nas seções anteriores.
Exemplo 2, mensagens não entregues
[
{
"event_id": "e02d6f41-4708-476f-915d-8a7032942e94",
"event_type": "itinerary.agent.change",
"event_time": "2018-04-28T20:31:03.423Z",
"itinerary_id": "1204309424793",
"email": "alice@example.com",
"message": "An agent changed this itinerary.",
"affiliate_reference_id": "R194193582"
},
{
"event_id": "fe97op1b-595a-406e-8e0e-90108d5cb4a1",
"event_type": "itinerary.agent.cancel",
"event_time": "2018-05-24T04:08:50.839Z",
"itinerary_id": "1204329124126",
"email": "bob@sample.net",
"message": "An agent canceled one or more rooms on this itinerary.",
"affiliate_reference_id": ""
}
]
API de teste de notificações
A API de teste de notificações da Rapid permite solicitar que notificações de teste sejam enviadas ao ponto de extremidade de teste especificado para verificar a sua integração com o Serviço de notificações. Você também pode usar o nosso Notifications Service Tester para enviar as notificações de teste para o seu ponto de extremidade sem que você precise solicitar.
Observações importantes
A função de solicitação do serviço não está na API de notificações de produção, você não pode enviar solicitações ao ponto de extremidade ativo para acionar ou atualizar as notificações de produção. As solicitações são oferecidas pela API de teste apenas para realizar testes.
Como essa API apenas realiza testes, o seu gatilho de solicitação POST só está disponível via test.ean.com.
Esquema de mensagem e tipos de mensagem compatíveis
Todas as notificações de teste seguem o mesmo esquema e os mesmos tipos de mensagem como uma notificação de produção, conforme destacado na documentação da API de notificações anterior a esta seção.
Integração
Recebimento de uma mensagem
Para começar a receber notificações de teste, você precisa manter um ponto de extremidade HTTPS acessível ao público que aceite uma mensagem POST que será enviada ao seu ponto de extremidade.
Entre em contato com o seu consultor de integração da Rapid para configurar e enviar:
- Uma lista de tipos de evento que você deseja assinar para teste (relacionada acima na seção anterior).
- O URL do seu ponto de extremidade de teste para tratar as notificações de teste.
Se você não receber uma notificação de teste 30 minutos após a solicitação, entre em contato com o seu consultor de integração da Rapid para ajudar a solucionar o seu problema.
Observações importantes
Observações importantes
- Nas notificações recebidas, você não vai conseguir distinguir as notificações de teste das notificações de produção. Recomendamos que você tenha um ponto de extremidade específico para notificações de teste para isolar as mensagens de teste das de produção.
- Ao configurar um ponto de extremidade para cada notificação, você vai receber no seu ponto de extremidade de teste apenas notificações de teste, e no seu ponto de extremidade de produção, apenas notificações de produção.
Ao configurar um ponto de extremidade para cada notificação, você vai receber no seu ponto de extremidade de teste apenas notificações de teste, e no seu ponto de extremidade de produção, apenas notificações de produção.
Como verificar notificações
Para confirmar se as notificações vêm da Rapid, vamos enviar um cabeçalho de solicitação para validar o evento.
Quando a Rapid enviar uma notificação, você vai receber um cabeçalho de autorização. Este é o mesmo cabeçalho de autorização que você envia com qualquer solicitação para a API.
A Rapid vai enviar o cabeçalho de autorização no formato abaixo:
Authorization: EAN
APIKey=yourAPIKey,Signature=sha512Hash,timestamp=UNIXTimestampUsedForTheSignature
Validação
Para validar o evento, você precisa comparar o hash de assinatura SHA512 no cabeçalho com um que você gerou usando a sua chave de API, o seu segredo compartilhado e o carimbo de data e hora no cabeçalho da solicitação.
Consulte a página de referência de autenticação de assinatura para saber como preparar o hash.
Observações importantes
Detalhes da API
Explore as definições dos pontos de extremidade relacionados a notificações nesta página e use o API Explorer ou outro software de teste para comparar os exemplos e as definições de esquemas com o resultado real.
Recursos adicionais
Não importa se deseja testar todos os pontos de extremidade da Rapid API, ou baixar a especificação OpenAPI ou a nossa coleção Postman Collection, você pode contar conosco.