알림

이 페이지에서는 예약 이벤트 알림을 보내주는 알림 서비스에 대해 간략하게 설명합니다.

개요

Rapid API 알림은 그 어느 때보다 긴밀하게 Rapid와 통합할 수 있도록 지원하는 솔루션입니다. 비즈니스에 영향을 줄 수 있는 변경이 발생하면 Rapid에서 표준 POST 메시지를 통해 시스템에 바로 자세한 변경 사항을 푸시합니다. 푸시 알림을 통해 계속해서 정보를 얻고 운영 작업을 간소화하며 비즈니스를 확장할 수 있습니다.

현재 API 외부에서 발생하는 모든 예약 이벤트에 대한 알림을 지원하고 있습니다. 따라서 콜센터에서 예약을 변경하거나 호텔에서 예약을 취소하는 경우 관련 정보가 즉시 통지됩니다. 이는 시작에 불과하며, 곧 더 많은 알림 이벤트 유형을 제공할 예정입니다.

이러한 알림은 비즈니스와의 원활한 통합을 지원하여 다음과 같은 Rapid 제품과 서비스를 보완합니다.

  • Rapid
  • Affiliate Voyager 상담원 예약 도구
  • 파트너 및 고객 지원 서비스

현재 알림에 지원되는 모든 이벤트 유형에 대한 테스트 API를 제공하고 있습니다. 아래의 다음 주요 섹션에서 자세한 내용을 확인해 주세요. 자체 요청을 설정하지 않으려는 경우 새로운 알림 테스터 도구를 사용할 수도 있습니다.

지원되는 메시지 유형

Rapid 알림은 다음과 같은 이벤트 메시지를 통해 시스템에 알림을 보낼 수 있습니다.

event_type 값소스이벤트세부 정보
itinerary.agent.create고객 지원 상담원 또는 Affiliate Voyager예약 생성Rapid 고객 지원 상담원 또는 Affiliate Voyager에서 새로운 예약을 생성했습니다.
itinerary.agent.change고객 지원 상담원 또는 Affiliate Voyager예약 업데이트Rapid 고객 지원 상담원 또는 Affiliate Voyager에서 기존 예약을 업데이트했습니다.
itinerary.agent.cancel고객 지원 상담원 또는 Affiliate Voyager예약 취소Rapid 고객 지원 상담원 또는 Affiliate Voyager에서 기존 예약을 취소했습니다.
itinerary.supplier.cancel호텔예약 취소호텔에서 기존 예약을 취소했습니다. 고객이 파트너사의 고객 지원 서비스에 문의해야 합니다.
itinerary.supplier.confirm호텔예약 업데이트호텔에서 예약에 대한 숙박 시설 확인 ID를 업데이트했습니다.
itinerary.fraud.cancelExpedia예약 취소거래에 적용되는 이용약관을 준수하지 않아 Expedia에서 기존 예약을 취소했습니다. 고객이 본인 전화번호와 취소 관련 사항을 논의하기에 가장 편리한 시간을 기재하여 transactionprocessing@travelscape.com으로 문의해야 합니다.
itinerary.message.received호텔숙박 시설 메시지 센터의 새로운 메시지숙박 시설에서 숙박 시설 메시지 센터(PMC)를 통해 새로운 메시지를 보냈습니다. 이 이벤트에는 전체 숙박 시설 메시지 텍스트가 포함됩니다. 이메일과 PMC 도구를 통해 메시지와 알림을 확인하실 수 있습니다.
itinerary.supplier.change공급업체예약 업데이트여행객의 도착 지연 또는 이른 체크아웃으로 인해 호텔 측에서 기존 예약을 변경했습니다.
itinerary.traveler.noshow공급업체여행객 노쇼여행객이 나타나지 않았으므로 공급업체가 예약을 노쇼로 표시했습니다.
itinerary.supplier.refund공급업체예약 업데이트Expedia Collect 예약의 경우, 호텔에서는 여행객이 요청하면 환불을 제공합니다. 여행객이 환불을 받을 수 있도록 하는 것은 파트너의 의무입니다.

메시지 스키마 및 세부 정보

모든 메시지는 아래 간략하게 설명된 스키마를 준수합니다. 새로운 메시지 유형이 다른 이벤트에 추가되면 스키마가 달라질 수 있습니다.

개체설명
event_id메시지마다 다른 고유 식별자입니다.
event_type알림을 유발한 이벤트를 나타냅니다. 이 값은 메시지를 처리하고 라우팅하는 데 사용할 수 있습니다. 자세한 내용은 이벤트 유형 목록을 참조해 주세요.
event_timeUTC(협정 세계시)로 제공된 이벤트 알림의 타임스탬프입니다.
itinerary_id관련 예약의 일정 ID입니다.
email관련 일정과 연관된 고객 이메일 주소입니다.
message이벤트 알림 설명입니다.
affiliate_reference_id관련 예약의 제휴사 참조 ID입니다.

각 메시지는 JSON 메시지 본문이 포함된 HTTPS POST 요청입니다.

참고: 알림을 받으려면 파트너가 모든 이벤트 유형에 대해 알림을 개별적으로 활성화해야 합니다. 새로운 알림 API 이벤트 유형을 활성화하려면 Rapid 지원에 문의해 주세요.

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"
 }

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"
            }
        }
    ]
}

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"
}

통합

메시지 수신

알림을 받기 시작하려면 엔드포인트로 푸시되는 POST 메시지를 수락할 수 있는 엔드포인트의 효력을 유지해야 합니다. 엔드포인트는 다음 조건을 갖춰야 합니다.

  • 공개적으로 액세스 가능
  • HTTPS 및 TLS 1.2 이상 지원
  • 대부분의 최신 애플리케이션에서 신뢰하는 유효한 TLS 인증서 구성(자체 서명된 인증서는 신뢰하지 않을 수 있음)

Rapid 통합 컨설턴트와 협력하여 다음을 설정하고 제공합니다.

  • 구독하려는 이벤트 유형 목록(위에 나열됨)
  • 메시지를 처리할 엔드포인트의 URL

통합을 테스트할 수 있는 셀프 서비스 도구를 제공하기 위해 노력하고 있습니다. 제공 준비가 마무리될 때까지 통합 컨설턴트가 테스트 예약을 만들어 구독 중인 오프라인 이벤트의 알림을 수신하는지 확인할 수 있도록 도와드립니다.

중요한 구성 참고 사항

  • Rapid는 클라우드 기반 서버를 사용하여 리스너 엔드포인트가 서로 다른 잠재적 IP 주소에서 푸시되는 알림을 받을 수 있도록 구성됩니다.
  • 엔드포인트 URL을 변경하려는 경우 알림 푸시 메시지를 수신할 새 URL의 유효성을 검사할 때까지 원래 URL을 계속 유지해야 합니다. 이렇게 변경하기 전에 Rapid 담당자에게 문의해 주시기 바랍니다.
  • 알림용 URL은 하나만 사용할 수 있습니다. event_type의 변형 또는 다른 기준은 지원되지 않습니다.

메시지 처리

예약 이벤트가 발생했다는 메시지를 수신하면 메시지의 이메일 주소와 일정 ID를 사용하여 최신 예약 세부 정보를 검색할 수 있습니다.

메시지는 순서가 지정되지 않은 상태로 도착할 수 있습니다. 예약 이벤트의 순서를 확인하고 일정을 검색하여 업데이트된 상태 정보를 얻으려면 타임스탬프를 참조해 주세요.

메시지를 수신한 후 통합에서 적절한 HTTP 상태 코드를 사용하여 응답해야 합니다. 200 수준 상태 코드를 수신하지 않은 메시지는 전송되지 않은 것으로 간주되고 알림 서비스에서 재시도하기 위해 대기열에 포함됩니다.

처리 결과세부 정보응답 상태 코드
성공메시지가 예상대로 수신되었습니다. 메시지가 적절히 처리되었습니다.200
실패메시지가 예상대로 수신되지 않았습니다. 메시지를 적절히 처리할 수 없습니다.400s
실패클라이언트 서버 오류 때문에 클라이언트에서 메시지를 처리할 수 없습니다.500s

전송할 수 없는 메시지

메시지를 엔드포인트에 전송할 수 없는 경우 아래의 일정에 따라 자동으로 재시도합니다.

  • 5분 후 1차 재시도
  • 1시간 후 2차 재시도
  • 7일간 12시간 간격으로 후속 재시도(총 14회)

수신 확인(200 OK 상태 코드)을 받지 않고 메시지가 재시도를 위해 대기 처리되면 중복된 메시지가 표시될 수 있습니다. 중복된 메시지를 식별하려면 event_id가 동일하지만 timestamp가 원래보다 늦은 메시지를 찾으면 됩니다.

전송할 수 없는 알림 API

이 요청은 구독 및 테스트 엔드포인트에 대해 전송되지 않은 알림을 반환합니다. 메시지는 제공된 API 키를 기반으로 반환됩니다. 7일 동안 전송 시도 후 메시지는 전송할 수 없는 것으로 간주되며, 이 API에서 검색할 수 있도록 저장소로 이동됩니다(이전 섹션 참조).

  • 전송할 수 없는 메시지는 한 번만 반환됩니다. 요청으로 인해 반환된 모든 메시지는 데이터 저장소에서 삭제됩니다. 이에 따라 이 API에 대한 응답 처리를 계획해 주세요.
  • 각 요청과 함께 최대 25개의 전송되지 않은 메시지가 반환됩니다.
  • api.ean.com에 대한 요청은 하나의 응답에 테스트 및 프로덕션 알림을 모두 반환합니다. 테스트 엔드포인트 test.ean.com에 대한 요청은 공식적으로 지원되지 않습니다. 프로덕션 엔드포인트가 활성화되는 즉시 테스트 엔드포인트는 사용하지 않는 것이 좋습니다. 이렇게 하면 프로덕션 알림을 반환한 후 삭제될 수 있기 때문입니다.

메시지 스키마 및 세부 정보

이 API에서 반환된 전송할 수 없는 메시지는 위의 섹션에서 설명한 대로 프로덕션 알림과 동일한 스키마를 따릅니다.

예 - 전송되지 않은 메시지 2개

[
    {
        "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

Rapid 알림 테스트 API를 통해 특정 테스트 엔드포인트로 전송할 테스트 알림을 요청하여 알림 서비스와의 통합을 확인할 수 있습니다. 또한, 알림 서비스 테스터를 사용하여 자체 요청을 만들지 않고 엔드포인트에 바로 테스트 알림을 보낼 수도 있습니다.

중요 참고 사항

이 서비스의 요청 기능은 프로덕션 알림 API에 제공되지 않으므로 프로덕션 알림을 트리거하거나 새로 고침하기 위해 실시간 엔드포인트로 요청을 전송할 수 없습니다. 테스트 목적으로만 이 테스트 API를 통해 요청이 제공됩니다.

이 API는 테스트용으로만 지원되므로 POST 요청 트리거는 test.ean.com을 통해서만 사용할 수 있습니다.

메시지 스키마 및 지원되는 메시지 유형

모든 테스트 알림은 이 섹션 앞의 알림 API 설명서에서 설명한 대로 프로덕션 알림과 동일한 스키마동일한 메시지 유형을 따릅니다.

통합

메시지 수신

테스트 알림을 받기 시작하려면 엔드포인트로 푸시될 POST 메시지를 수락할 수 있는 공개적으로 액세스 가능한 HTTPS 엔드포인트가 효력을 유지해야 합니다.

Rapid 통합 컨설턴트와 협력하여 다음을 설정하고 제공합니다.

  • 테스트용으로 구독하려는 이벤트 유형 목록(위의 이전 섹션에 나열됨)
  • 테스트 알림을 처리할 테스트 엔드포인트의 URL

요청한 지 30분이 경과한 후에도 테스트 알림을 받지 못한 경우 문제를 해결하려면 담당 Rapid 통합 컨설턴트에게 문의해 주세요.

중요 참고 사항

중요 참고 사항

  • 수신한 알림의 경우 테스트 알림과 프로덕션 알림 간에 차이가 없습니다. 테스트 메시지와 프로덕션 메시지를 완전히 구분하려면 테스트 알림에 해당하는 엔드포인트를 설정하는 것이 좋습니다.
  • 테스트 엔드포인트와 프로덕션 엔드포인트를 다르게 설정하면 프로덕션 엔드포인트에서 프로덕션 알림만 수신하게 되는 것처럼 테스트 엔드포인트에서 테스트 알림만 수신하게 됩니다.

테스트 엔드포인트와 프로덕션 엔드포인트를 다르게 설정하면 프로덕션 엔드포인트에서 프로덕션 알림만 수신하게 되는 것처럼 테스트 엔드포인트에서 테스트 알림만 수신하게 됩니다.

알림 확인

알림이 Rapid에서 시작되었는지 확인하기 위해 요청 헤더를 보내 이벤트를 검증합니다.

Rapid에서 알림을 보내면 승인 헤더를 받게 됩니다. 이는 API에 대한 요청과 함께 전송되는 것과 동일한 승인 헤더입니다.

Rapid는 승인 헤더를 아래와 같은 형식으로 전송합니다.

Authorization: EAN
APIKey=yourAPIKey,Signature=sha512Hash,timestamp=UNIXTimestampUsedForTheSignature

검증

이벤트를 검증하려면 헤더의 서명 SHA512 해시를 API 키, 공유 암호 및 요청 헤더의 타임스탬프를 사용하여 생성한 값과 비교해야 합니다.

해시 구성 방법은 서명 인증 참조 페이지를 참조해 주세요.

중요 참고 사항

API 세부 정보

이 페이지에서 알림 관련 엔드포인트 정의를 살펴본 후 API Explorer 또는 다른 테스트 소프트웨어를 사용하여 예시 및 스키마 정의가 실제 출력과 어떤 차이가 있는지 확인해 보세요.


추가 리소스

모든 Rapid API 엔드포인트를 사용해 보거나 OpenAPI 사양 또는 Postman 컬렉션을 다운로드하려는 경우 다음 사항을 참조해 주세요.



이 페이지가 도움이 되었나요?
이 콘텐츠를 어떻게 개선하면 좋을까요?
더 나은 만드는 데 도움을 주셔서 감사합니다!