Endpoints

These endpoints and methods apply to all API requests unless otherwise noted.

Note that booking requests must be sent on a separate secure endpoint via POST.

General Requests: GET http://api.ean.com
Booking Requests: POST https://book.api.ean.com

Common Request Parameters

Most of these parameters must be sent as part of every request you make to the API; some can be provided optionally for testing purposes, or are only required for specific setups.

Name Value Required Description
apiExperience string yes

Use this attribute to identify the origin of your request. Choose an applicable value from the set provided below for each request you send.

Values:
PARTNER_CALL_CENTER - request from an agent in your call center
PARTNER_WEBSITE - request from a customer-facing website
PARTNER_MOBILE_WEB - request from a mobile-formatted website
PARTNER_MOBILE_APP - request from a mobile app
PARTNER_BOT_CACHE - request from a cache bot
PARTNER_BOT_REPORTING - request from a reporting bot
PARTNER_AFFILIATE - request from an API/platform that serves your own affiliate base

cid long yes

Your EAN-issued account ID. This number is used for tracking sales for statistics and commissions purposes on live sites.

Paired with apiKey(s) as part of authentication.

apiKey string yes Your EAN-issued access key to the API. Determines your access to live bookings, your authentication method (IP or signature-based) and request quotas.

Paired with a cid as part of overall authentication.
minorRev int yes Sets the minor revision used for processing requests and returning responses.
Defaults to 24 (oldest supported release) if omitted.
locale string yes Identifies your customer’s country and the nationality of the Point of Sale used for booking. See our supported locales.

Default: en_US
currencyCode string no, only for booking and payment type Returns data in other currencies where available.

When booking, this value must match the value returned within the ChargeableRateInfo node from the prior room availability response to prevent price mismatch errors.

Default: USD
customerSessionId string yes Insert your own unique value for each customer beginning with their first hotel list search, or use the value returned in the initial list response for the remainder of the booking path.

Continue to pass this same value for each customer during each booking session, using a new value for every new customer session.

Including this value greatly eases EAN's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual customers.

customerIpAddress string yes IP address of the customer, as captured by your integration. Send IPV4 addresses only.

Ensure your integration passes the customer's IP, not your own. This value helps determine their location and assign the correct payment gateway.

Also used for fraud recovery and other important analytics.
customerUserAgent string yes

The user-agent header string from the customer’s request, as captured by your integration.

The API will detect the usage of a mobile device via the contents of the raw user-agent string.

For traffic from mobile or desktop apps, use the following format:
{App Name}/{App Version} ({OS} {OS Version})

Examples:

TravelWizard/1.0 (iOS 10_10_3)
Explorer/2.1 (Windows 7)
Explorer/2.1 (Linux 2.6.32)

A desktop browser is assumed if neither of the mobile strings nor any mobile-specific keywords are detected.

sig string yes, if using sig authentication The sig value used with signature authentication - ensure this value remains clear of any visible code.

All sig values are required to be at least 32 lower-case characters in length.

If you receive errors when generating your own digital signature, send a ping request to verify your Unix time against EAN's or check your value against EAN's sig generator.

Common Response Elements

These elements may appear in any response for any EAN API request.

Name Value Description
customerSessionId string The API will always return a unique value for this element for any initial request.

To track individual user sessions, take the value returned in the response for that user's initial request and include it in their next request.

Every time you send the value back, the same value will then be returned rather than a new value. You can then trace user request/response paths by tracing this value as it was passed back and forth between your servers and the API.
EanWSError object If your request generates an error, information will be contained within this object. See our exceptions overview for details on this object.