For the complete documentation index, see llms.txt. This page is also available as Markdown.

Webhook Registration & Incidents

Atlas API webhook registration and incident query reference for endpoint setup, updates, and event reconciliation.

💬 Need help? If you're stuck, ask Eva in the Help Center for instant diagnostics.

Ask Eva

Use this page to register your webhook endpoint and query incident records from the API reference layer.

Start here when you need to:

  • register or update the webhook URL before go-live

  • query incidents after missed or unresolved events

  • reconcile webhook delivery with incident records

FAQ

When should we register the webhook URL?

Register the webhook URL before go-live.

Then update it whenever the receiving endpoint changes.

The same URL receives all supported events, including order.void.

When should we query incidents?

Query incidents when webhook delivery, schedule-change handling, or operational follow-up needs deeper reconciliation.

Use incident lookup when the event trail is incomplete or still unclear after webhook processing.

How should fulfillment-flow orders use webhook and incident query?

Use webhook as the early signal.

Use incident query when the event trail is incomplete.

Keep active order polling during the 5-minute fulfillment window.

What this page covers

  • updateWebhookURL.do for webhook registration

  • event/getPageList.do for incident lookup

What comes next?

Use Webhook Overview for the operating model and event coverage.

Use Incident Query and Incident Notification when you need deeper incident follow-up.

Typical flow

1

Register your webhook URL

Save the endpoint that Atlas should call for webhook delivery.

2

Receive webhook events

Handle ticketing, void, schedule change, airline status, email, and incident notifications.

For fulfillment-flow orders, use these events to reduce reaction time, not to replace order query.

3

Query incidents when needed

Use incident lookup to reconcile missed or unresolved events.

Use this when you need

  • initial webhook setup

  • webhook endpoint updates

  • incident reconciliation

  • operational follow-up after schedule changes or cancellations

Registration scope

Register one webhook URL with updateWebhookURL.do.

Atlas uses that URL for all supported webhook event types.

That includes order.void.

The same registration should already be live before you start fulfillment traffic with getOfferPrice.do.

Register Webhook

post

Endpoint: https://sandbox.atriptech.com/updateWebhookURL.do

Header parameters
AcceptstringRequiredExample: application/json
Content-TypestringRequiredExample: application/json
Accept-EncodingstringRequiredExample: gzip
x-atlas-client-idstringRequiredExample: <YOUR_CLIENT_ID>
x-atlas-client-secretstringRequiredExample: <YOUR_CLIENT_SECRET>
Body
urlstringRequired

The URL for receiving webhook notifications

Responses
200Success
application/json
statusintegerRequired
msgstring · nullableOptional

It serves as an additional description of the response result. Especially when the interface reports an error (status !=0), it is usually a human-readable error message. Note: Do not use this field in any programming scenarios. For example, do not judge whether the interface responds successfully based on this field. Instead, you should only determine it by checking whether the status is equal to0at any time.

post/updateWebhookURL.do
POST /updateWebhookURL.do HTTP/1.1
Accept: text
Accept-Encoding: text
x-atlas-client-id: text
x-atlas-client-secret: text
Content-Type: application/json
Content-Length: 47

{
  "cid": "XXXXXXXX",
  "url": "https://xxx.com/xxxx"
}
200Success
{
  "status": 0,
  "msg": "success"
}

Incident List

post

Endpoint: https://sandbox.atriptech.com/event/getPageList.do

Header parameters
AcceptstringRequiredExample: application/json
Content-TypestringRequiredExample: application/json
Accept-EncodingstringRequiredExample: gzip
x-atlas-client-idstringRequiredExample: <YOUR_CLIENT_ID>
x-atlas-client-secretstringRequiredExample: <YOUR_CLIENT_SECRET>
Body
eventIdstringOptional

Incident ID

orderNostringOptional

Order number

eventTypestringOptional

Incident type:

  • email.schedulechange: Schedule Change-Email Notification
  • abnormal.cancelled: Unacounted Cancellation
  • order.schedulechange: Schedule Change-API Notification
pnrstringOptional

Order's pnr.

paxNamestringOptional

Order's passenger names.

paxEmailstringOptional

Order's passenger Email. Email address passed to the Airline.

airlinestringOptional

Airline IATA code.

eventStatusinteger[]Optional

A list containing incident stauses

  • 0: Unconfirmed
  • 1: Confirmed
eventTimeStartstringOptional

Incident Receiving Time Start Format: yyyy-MM-dd HH:mm:ss UTC+08:00

eventTimeEndstringOptional

Incident Receiving Time End Format: yyyy-MM-dd HH:mm:ss UTC+08:00

depTimeStartstringOptional

Departure Time Start(Departure local time) Format: yyyy-MM-dd HH:mm:ss

depTimeEndstringOptional

Departure Time End(Departure local time) Format: yyyy-MM-dd HH:mm:ss

updateTimeStartstringOptional
pageIndexinteger · nullableOptional

Pagination

Default: 1
pageSizeintegerRequired

Number of records per page

Responses
200Success
application/json
statusintegerRequired
msgstring · nullableOptional
pageIndexstringRequired

Current pagination

pageSizestringRequired

Page size

totalstringRequired

Total number of records

post/event/getPageList.do
POST /event/getPageList.do HTTP/1.1
Accept: text
Accept-Encoding: text
x-atlas-client-id: text
x-atlas-client-secret: text
Content-Type: application/json
Content-Length: 218

{
  "eventId": "",
  "orderNo": "",
  "eventType": "",
  "eventStatus": [
    0,
    1
  ],
  "airline": "",
  "eventTimeStart": "2023-04-01 00:00:00",
  "eventTimeEnd": "2023-05-01 00:00:00",
  "depTimeStart": null,
  "depTimeEnd": null,
  "pageIndex": 1,
  "pageSize": 100
}
200Success
{

    "records": [

        {

            "eventId": "20230401003644225YJQGR",

            "orderNo": "HCNMN20230227142411968",

            "subOrderNo": "HCNMN20230227142411968_1",

            "eventType": "email.schedulechange",

            "eventStatus": 0,

            "eventTime": "Apr 1, 2023 12:36:44 AM",

            "extraInfo": "4775822",

            "confirmedResult": null,

            "confirmedRemark": null,

            "clientCode": "TAC00001",

            "createTime": "Apr 1, 2023 12:36:44 AM",

            "updateIme": "Apr 1, 2023 12:36:44 AM",

            "airline": "F9",

            "depTime": "Mar 31, 2023 11:12:00 AM",

            "confirmTime": null,

            "confirmUsr": null,

            "notified": 1,

            "pnr": "G7ZNW5",

            "paxName": "SOWERS/REBECCA MUSETTA,STEPHENS/DAVID JEROME",

            "paxEmail": "GeraldineDushkin2005@ttjipiao.top"

        },


    ]

}

Last updated

Was this helpful?