Skip to main content

Using Webhooks to push reservation data to Third Party Applications

C
Written by CATeam CA

Follow these step-by-step instructions to configure Webhook Settings in ChargeAutomation, ensuring seamless connectivity and reliable operation.

  1. Login to your ChargeAutomation account here chargeautomation.com

  2. Go to Settings => Integrations => Webhooks.

New Booking Created

  • Add the Url for the new booking created.

  • A response will be received based on the request. A successful request returns a 200 status code, indicating that a new booking has been created. If the resource is not found, a 404 status code will be returned, indicating that the requested data is unavailable.

    Example response (200):

    {
    "status": "success",
    "status_code": 200,
    "type": "booking",
    "event": "booking.created",
    "data": [
    {
    "id": "1079-14567017",
    "external_id": "9779e22e-745d-11ec-90d6-0242ac120003",
    "property_id": "101476",
    "rental_id": 2,
    "status": "0",
    "check_in": "2021-12-05T01:00:00+05:00",
    "check_out": "2021-12-05T04:00:00+05:00",
    "booking_time": "2021-08-26T01:00:00+00:00",
    "guest_title": "Mr.",
    "guest_first_name": "John",
    "guest_last_name": "Doe",
    "guest_email": "[email protected]",
    "guest_phone": "909-638-9950",
    "guest_mobile": "909-638-9950",
    "guest_fax": "",
    "guest_address": "75298 Alexandrine LightPort Javier, NY 39474-4720",
    "guest_city": "Toronto",
    "guest_post_code": "66777",
    "guest_country": "Canada",
    "guest_nationality": "Canadian",
    "notes": "VIP",
    "total_price": "200",
    "currency_code": "USD",
    "booking_referer": "ch:19",
    "referer_original": "Booking.com",
    "channel_code": "Booking.com",
    "guest_comments": "You may charge it as of 2021-08-24.",
    "guest_arrive": "23:20",
    "master_id": null,
    "num_adult": 2,
    "num_child": 1,
    "channel_reference": "ch:19",
    "guest_id": "29cae72c-745e-11ec-90d6-0242ac12234",
    "guest_notes": null,
    "booking_access_code": null,
    "language_code": "en",
    "payment_method_id": "1EBXBSDuWL9wT9brGOaALeD2",
    "stripe_guest_id": null,
    "confirmation_code": "112e",
    "pre_checkin_completed": true,
    "routes": {
    "pre_checkin": "{url}"
    }
    }
    ]
    }

    Example response (404):

    {
    "status": "fail",
    "status_code": 404,
    "message": "Invalid Parameters."
    }

Pre-Checkin Completed

  • Add the Url for the Pre-Checkin Completed.

  • A response will be received based on the request. A successful request returns a 200 status code, indicating that the Pre-Checkin has been completed. If the resource is not found, a 404 status code is returned, indicating that the requested data is unavailable.

    Example response (200):

    {
    "status": "success",
    "status_code": 200,
    "type": "booking",
    "event": "booking.pre_checkin.completed",
    "data": [
    { "id": "1079-14567017",
    "external_id": "9779e22e-745d-11ec-90d6-0242ac120003",
    "property_id": "101476",
    "rental_id": 2,
    "status": "0",
    "check_in": "2021-12-05T01:00:00+05:00",
    "check_out": "2021-12-05T04:00:00+05:00",
    "booking_time": "2021-08-26T01:00:00+00:00",
    "guest_title": "Mr.",
    "guest_first_name": "John",
    "guest_last_name": "Doe",
    "guest_email": "[email protected]",
    "guest_phone": "909-638-9950",
    "guest_mobile": "909-638-9950",
    "guest_fax": "",
    "guest_address": "75298 Alexandrine LightPort Javier, NY 39474-4720",
    "guest_city": "Toronto",
    "guest_post_code": "66777",
    "guest_country": "Canada",
    "guest_nationality": "Canadian",
    "notes": "VIP",
    "total_price": "200",
    "currency_code": "USD",
    "booking_referer": "ch:19",
    "referer_original": "Booking.com",
    "channel_code": "Booking.com",
    "guest_comments": "You may charge it as of 2021-08-24.",
    "guest_arrive": "23:20",
    "master_id": null,
    "num_adult": 2,
    "num_child": 1,
    "channel_reference": "ch:19",
    "guest_id": "29cae72c-745e-11ec-90d6-0242ac12234",
    "guest_notes": null,
    "booking_access_code": null,
    "language_code": "en",
    "payment_method_id": "1EBXBSDuWL9wT9brGOaALeD2",
    "stripe_guest_id": null,
    "confirmation_code": "112e",
    "pre_checkin_completed": true,
    "routes": {
    "pre_checkin": "{url}"
    }
    }
    ]
    }

    Example response (404):

    {
    "status": "fail",
    "status_code": 404,
    "message": "Invalid Parameters."
    }

Payment Successful

  • Add the Url for the Payment Successful.

  • A response will be received based on the request. A successful request returns a 200 status code, indicating that the payment has been successfully processed. If the resource is not found, a 404 status code is returned, indicating that the requested data is unavailable.

    Example response (200):

    {
    "status": "success",
    "status_code": 200,
    "type": "transaction",
    "event": "booking.payment.successful",
    "data": [
    {
    "pms_booking_id": "1079-14567017",
    "price": "200",
    "currency_code": "USD",
    "payment_status": "Paid",
    "charge_ref_no": "11ec90d6c024d2ac120003",
    "due_date": "2021-12-05T01:00:00+05:00",
    "client_remarks": "You may charge it as of 2021-08-24."
    }
    ]
    }

    Example response (404):

    {
    "status": "fail",
    "status_code": 404,
    "message": "Invalid Parameters."
    }

Upsell Purchased

  • Add the Url for the Upsell Purchased.

  • ChargeAutomation sends this event to your trigger URL when an upsell is purchased. A successful delivery is acknowledged with a 200 status code.

    id is the upsell product. Every purchase of that same upsell uses the same id. charge_ref_no is the payment reference for that purchase when a charge was taken. Use charge_ref_no to match the payment. It is not the same value as id. If the upsell was not charged, charge_ref_no can be empty.

    There is no API to list or approve pending upsell requests. Use Upsell → Requests in ChargeAutomation for that. The payment-request verification endpoint only checks payment requests. It does not look up an upsell purchase.

    Example response (200):

    {
    "status": "success",
    "status_code": 200,
    "type": "upsell",
    "event": "booking.upsell.purchased",
    "data": [
    {
    "pms_booking_id": "1079-14567017",
    "id": 101476,
    "title": "Breakfast",
    "internal_name": "Breakfast",
    "note": "N/A",
    "charge_ref_no": "11ec90d6c024d2ac120003",
    "client_approval_status": "Approved",
    "is_client_approval_required": null,
    "declined_reason": "N/A",
    "currency_symbol": "$",
    "meta": null,
    "upsell_price_details": null,
    "order_details": {
    "amount": 200,
    "persons": 2,
    "num_nights": 3,
    "qty": 2,
    "user_name": "Doe John"
    },
    "due_date": "2021-12-05T01:00:00+05:00",
    "upsell_thumbnail": "N/A",
    "upsell_images": null
    }
    ]
    }

    Example response (404):

    {
    "status": "fail",
    "status_code": 404,
    "message": "Invalid Parameters."
    }

Auth successful

  • Add the Url for the Auth successful.

  • Response will be received based on the request. A successful request returns a 200 status code, indicating that authentication was successful. If the resource is not found, a 404 status code will be returned, indicating that the requested data is unavailable.

    Example response (200):

    {
    "status": "success",
    "status_code": 200,
    "type": "auth",
    "event": "booking.auth.successful",
    "data": [
    {
    "pms_booking_id": "1079-14567017",
    "hold_amount": "200",
    "currency_code": "USD",
    "status": "Paid",
    "charge_ref_no": "11ec90d6c024d2ac120003",
    "due_date": "2021-12-05T01:00:00+05:00",
    "capture_before": "2021-12-05T01:00:00+05:00"
    }
    ]
    }

    Example response (404):

    {
    "status": "fail",
    "status_code": 404,
    "message": "Invalid Parameters."
    }
Did this answer your question?