Skip to main content
Every exchange on the Channel Manager API, in both directions, answers inside the same <message> root, with the same envelope: <success> when all went well, <failure> or <warning> otherwise. Get hotel is the one interface whose successful answer is the configuration itself rather than a <success>; the plain-text exception on Push bookings is noted at the end of this page. This page describes the envelope, the golden rule on HTTP status codes, and the error codes each interface expects.

Always 200 OK

Return 200 OK even when the request fails. Errors are expressed inside the XML envelope, not through HTTP status codes: D-EDGE reads the error from the body, and only parses the body of a 200 OK. The only accepted exception is a 5xx when your service is genuinely down. The consequences of a <failure> are real. On a planning update, D-EDGE may stop processing the rest of the stream, especially during a full synchronisation, and an update that generated a failure is not resent. Reserve failures for messages you could not apply. When only part of a message is invalid, the expected answer is still a <failure> with the precise error code, and D-EDGE recommends applying the valid parts anyway.

The envelope

Success:
Failure, or warning with the same shape under <warning>:
string
required
The error code, from the tables below.
string
The error name, from the tables below. @type and @message matter most: D-EDGE identifies the error from them.
string or CDATA
A free description you can customise. Never put a stack trace in it.
A <failure> means the request was refused; a <warning> reports a problem on a request that was otherwise processed. On Get bookings, a <success> with no bookings is the normal answer for a quiet period.

Error codes to return

Return these codes from your endpoints so D-EDGE can react precisely. Replace [HotelCode], [RoomCode], and [RateCode] with the real values. One case can match several codes. A missing hotelCode is reported as 1, 2, or 203 depending on whether your platform treats it as an unknown hotel, an inactive one, or a processing error; D-EDGE accepts all three.

Get hotel

Planning updates

Get bookings

Confirm bookings

Same envelope, same discipline: <success> when the acknowledgement is recorded, <warning> when it is recorded with a reservation. On a refusal, <failure> with 3 when the credentials do not match, or 201, 202, or 203 when the message could not be read.

Error codes D-EDGE returns

On Push bookings, the roles flip and D-EDGE answers your call with the same envelope: A <success> on a push means the booking was read, not that it is integrated. Integration is asynchronous, and the definitive signal is the Confirm bookings message. A booking sent for an unknown hotel is refused with HotelNotLinked; a booking for an unknown room, or in the past, does not raise an error at push time. On an unexpected D-EDGE error, the push response may be plain text instead of this envelope. The Push bookings page says how to handle it.