Join Programme API Documentation
The Join Programme endpoint creates a new account within a loyalty programme, registers the member’s security credentials (if provided) and associates the member with the partner or partner programme.
Firstly, the member details and username are checked to ascertain if they are pre-existing within the Loyalty platform. Processing of the request will occur if the member and username do not exist. Successful processing of a request will create a loyalty account and associate the security profile with this new account, if it has been provided.
The member details along with membership number are returned to the consumer as a successful response, however if the request fails an appropriate error message is returned.
Business Context
The process relating to the consumption of the Join Programme endpoint is illustrated in the following swim-lanes diagram:
- A member wishing to join a partner’s programme accesses a form within the partner channel
- The member details are entered into the form, including the security profile information
- The member details are then passed to the Join Programme endpoint
- The request is validated
- The provided username is checked for uniqueness. If unique, the service continues to process the request, otherwise an appropriate error is returned
- The Join Programme endpoint checks the member details and ensures that the member has not previously joined
- Upon successful processing of the new member details, member details and membership number are returned to the partner as part of the successful response
- If the request fails, an appropriate error message is returned in the response
Technical Context
The Join Programme endpoint is an independent service and does not rely on any other service having been called. To invoke the Join Programme endpoint the partner must have previously been issued with a valid API key. The following steps are performed by the Join Programme endpoint:
- Validate input request
- Standardise postal address in request
- Persist member information in the system
- Return member information as successful response
Important Technical Notes
This endpoint can receive upper or lower case ASCII or accented data but this will be converted to upper case ASCII on receipt by the Join Programme endpoint. The response message will contain only upper case ASCII characters.
This endpoint provides functionality to create a new account with the minimal dataset of First Name, Last Name and Email Address of a member.
This endpoint supports accented characters as input in First Name, Middle Initial, Last Name, Address Lines and Security Question Responses but converts them into equivalent uppercase ASCII character before validating the data and persisting data into the systems. Please refer to Appendix G for further details.
Telephone numbers are supplied as separate area code and number fields in the request but are returned as a single combined field in the response.
Pre-conditions
- The partner must have a valid API key to access the Join Programme endpoint.
Post-conditions
Success outcome: Member information along with account details are returned.
Error outcome: Service error is returned.
Service Details
URI Parameters
Production Endpoint:
POST https://api.avios.com/{version}/memberships?api_key={api_key}
Example
https://api.avios.com/v3/memberships?api_key=abcdef
Name | Type | Description | Example |
---|---|---|---|
version Required | String | The version of the endpoint which will be confirmed during the on-boarding process. Format: Alpha numeric v | v3 |
api_key Required | String | The partner API Key provided during initial partner configuration within Loyalty Programme systems as part of the standard partner on-boarding process. Format: Alpha-numeric only Min Length: 24 Max Length: 24 | abcdefabcdefabcdefabcdef |
Request Headers
Name | Type | Description | Example |
---|---|---|---|
Accept Optional | String | The Accept request-header field is used to specify certain media types which are acceptable for the response. Only application/json is accepted currently. Format: application/< content-type > | application/JSON |
content-type Required | String | The Content-Type request-header field indicates the media type of the entity-body sent to the recipient as request payload. Only application/json is accepted currently. Format: application/< content-type > | application/JSON |
X-Forwarded-For Optional | String | Identifies the originating IP address of a consumer. Second and following IP addresses aren’t validated. Format: Comma separated valid IP address | 172.128.25.24, 172.128.25.24 |
Request Elements
The elements that make up the request message are detailed in the following table. These elements represent the data required to describe a new member within the loyalty programme. The following rules apply to request elements:
- This endpoint can receive accented characters, upper or lower case ASCII name, address and security response data, however this will be converted to upper case ASCII.
- The response message will contain only upper case ASCII characters.
Example Requests:
{
"member": {
"person": {
"name": {
"firstName": "MARK",
Name | Data type | Description |
---|---|---|
campaign Optional | Complex type | A campaign allows a partner to associate the joining of the programme to marketing activity, for example, to associate a bonus award. |
campaign. Required | String | A value that represents the partner’s campaign. Case sensitive. This value must be agreed in advance with Avios and configured within the partner’s and Avios’ systems. It is possible to configure a single campaign for a partner used in all Join Programme API requests; this ensures any member account created is appropriately associated with the Partner in Avios systems. In the case where the provided campaign identifier is not valid for the requesting partner an Invalid Campaign Identifier error will be returned. Format: Max length: 8 Alphabetic |
member Required | Complex type | A complex type that represents the member within Avios systems. This type contains a person and an optional security profile, which represent the member’s descriptive information and their security credentials and associated data elements. |
member. Required | Complex type | Represents the person details within Avios systems. |
member. Required | Complex type | Contains the name of the member, split into various fields that represent a name in a recognised format. Salutation, forename, middle initial (if present), family name. |
member. Optional | String | Title (Salutation) of the member. API will derive the Gender of the member based on gender specific titles (Mr, Mrs, Ms, Miss, Dr, Lady, Sir, and Lord), if any other value will be provided the Gender of the member will be set to NOT_KNOWN. Format: Min Length: 1, Max length: 30, Alphabetic. |
member. Required | String | First name (forename) of the Loyalty Programme member. Allowable special characters: apostrophe (‘), hyphen (-), spaces and accent characters. First Name must begin with a letter. Hyphen, apostrophe and space are not accepted as the first character for this field.Please refer to Appendix G for accented character conversion rules. Format: Min Length: 1, Max Length: 25, Alphabetic plus some special characters. |
member. Optional | String | Middle initial of the Loyalty Programme member.If this value is not supplied a default will not be assigned.Please refer to Appendix G for accented character conversion rules. Format: Max Length: 1, Alphabetic and accented characters. |
member. Required | String | Surname (or last name) of the Loyalty Programme member.Allowable special characters: apostrophe (‘), hyphen (-), spaces and accent characters. Family Name must begin with a letter.Hyphen, space and apostrophe are not accepted as the first character for this field.Please refer to Appendix G for accented character conversion rules. Format: Max Length: 40, Alphabetic plus some special characters. |
member. Optional | Date | The member’s Date of Birth in ISO-8601 Calendar date format.Member must be at least 18 years old (adult) and future dates are not permitted. Format: YYYY-MM-DD |
Member. Optional | String | Gender identification of Loyalty Programme member. Case Sensitive and must be set to: MALE FEMALE NOT_SPECIFIED NOT_KNOWN API will derive the Gender of the member based on gender specific titles (Mr, Mrs, Ms, Miss, Dr, Lady, Sir, and Lord), if any other value will be provided the Gender of the member will be set to NOT_KNOWN. Format: Enumeration. |
member. Conditional | Complex type | This complex type represents the Identification document provided by the member. In some countries, for example South Africa, there is a requirement to collect recognised Identification when joining. This is typically the passport but could be another government issued Identification document. This element is mandatory in the request if the country of residence is South Africa. |
Member. Required | String | The passport number or other Identification Card issue number for the Identification provided by the member as part of the Join process. Format: Max length: 24. Alphanumeric |
Member. Required | Complex type | Place of issue of the identity document related to the token provided above. |
Member. Required | String | Location identifier of the place where identification document has been issued. Only length of provided value is validated. Format: Max length: 2, Min length: 2, ISO 3166-1, Two character alphabetic Country code. |
member. Required | String | The type of location for place of issue. Case sensitive and must be “COUNTRY”. Format: Enumeration. |
member. Required | String | Type of identification document. Case sensitive and must be one of the following: PASSPORT NATIONAL_IDENTITY_CARD Format: Enumeration. |
member. Optional | Complex type | Contains information about preferred locale for member. |
member. Required | String | Preferred language of the member for use within Avios systems and channels. Supported values are: EN ES CA FR IT Format: Max length: 2, Min length: 2, ISO 639-1, Alphabetic 2 character language code. |
member. Optional | Complex type | A complex type representing the Member’s postal addresses. |
Member. Required | Complex type | A complex type representing the preferred postal address of the member. |
Member. Required | String | Type of postal address. Case sensitive and must be one of the following: PERSONAL BUSINESS Preferred and other Postal Address types must have different values. If type PERSONAL will be provided in request address will be saved under preferred postal address details if type will be BUSINESS, address details will be saved under other Postal Address Format: Enumeration. |
member. Required | Array of string | An array of string values, each of which represents a line of the member’s preferred postal address, excluding postcode and country.For countries where postcode is not mandatory, at least two lines of address should be provided For countries where postcode is mandatory, at least one line of address should be provided There should not be a comma (,) at the end of each address line The request should follow JSON format for providing multiple address linesThe field can also have accented characters, which will be converted to equivalent ASCII before any validations. Refer Appendix G for details.Please refer to the Country Address Rules document, which identifies the mandatory elements for each country. Format: Max length: 30, Alphanumeric plus period (.), comma (,), dash (-), space ( ), ampersand (&), ‘ and accented characters. |
member. Required | String | The country of the member’s preferred address.This field will determine the member’s Market within Avios systems, which will not have an impact on the Partner’s interactions with the customer. If a value is not supplied the member will be assumed to be within a country with code XX, in Europe. Format: Max length: 2, Min length:2, ISO 3166-1, Alphabetic 2 character country code. |
member. Conditional | String | Postal code of member’s preferred address.Please refer to the Country Address Rules document, which identifies the mandatory elements for each country. Must not contain spaces. Format: Max length: 8. Alphanumeric |
Member. Optional | String | This specifies whether address needs to be validated. Case sensitive and the value provided must be one of the following: EXPLICIT (No System validation required) SYSTEM (System Validation required) Providing a value of EXPLICIT will bypass address validation within Avios systems. Omitting this field in the request has the same effect as providing a value of SYSTEM Format: Enumeration. |
member. Optional | Complex type | Optional postal address in addition to the preferred postal address. |
member. Required | String | Type of postal address. Case sensitive and must be one of the following: PERSONAL BUSINESS Preferred and other Postal Address types must have different values. If type PERSONAL will be provided in request address details will be saved under preferred postal address details if type will be BUSINESS, address details will be saved under other Postal Address Format: Enumeration. |
member. Required | Array of string | An array of string values, each of which represents a line of the member’s preferred postal address, excluding postcode and country.For countries where postcode is not mandatory, at least two lines of address should be provided For countries where postcode is mandatory, at least one line of address should be provided There should not be a comma (,) at the end of each address line The request should follow JSON format for providing multiple address linesThe field can also have accented characters, which will be converted to equivalent ASCII before any validations. Refer Appendix G for details.Please refer to the Country Address Rules document, which identifies the mandatory elements for each country. Format: Max length: 30. Alphanumeric plus period (.), comma (,),dash (-), space ( ), ampersand (&), ‘ and accented characters. |
member. Required | String | The country of the member’s preferred address.This field will determine the member’s Market within Avios systems, which will not have an impact on the Partner’s interactions with the customer. If a value is not supplied the member will be assumed to be within a country with code XX, in Europe. Format: Max length: 2 Min length:2ISO 3166-1 Alphabetic 2 character country code. |
member. Conditional | String | Postal code of member’s preferred address.Please refer to the Country Address Rules document, which identifies the mandatory elements for each country. Must not contain spaces. Format: Max length: 8. Alphanumeric |
member. Optional | String | This specifies whether address needs to be validated. Case sensitive and the value provided must be one of the following: EXPLICIT (No System validation required) SYSTEM (System Validation required) Providing a value of EXPLICIT will bypass address validation within Avios systems. Omitting this field in the request has the same effect as providing a value of SYSTEM Format: Enumeration. |
member. Required | Complex type | A complex type representing the Member’s email addresses. |
member. Required | Complex type | A complex type representing the Member’s preferred email address. |
member. Required | String | Email address of the member. There may be only a single at-sign present. Also, all special characters can be specified before the at-sign and just minus (-) and period (.) after at-sign. Period (.) can’t be before at(@). Format: AlphanumericMax length: 50 with special characters period (.), underscore , plus (+), minus (-) and at-sign (@), percentage (%). |
member. Optional | Complex type | A complex type that represents a collection of Member’s fully elaborated telephone numbers, which include country and area codes. |
member. Required | Complex type | A complex type that represents a Member’s preferred telephone number. |
member. Optional | String | The direct dialling code required to call the preferred telecom address from another country. Also referred to as the International Subscriber Dialling (ISD) code.This value will not be prefixed with leading zeros or a plus (+), r example UK telephone numbers will have a country code value of 44. Format: Max length: 5 Numeric. |
Member. Optional | String | The area code element of the Member’s preferred telecom address.The total length of combination of the area code and the number cannot exceed 15 characters. Area code can be included in number element. Format: Max length: 5 Numeric. |
Member. Required | String | The body of the Member’s preferred phone number (Preferred Telecom Address). The total length of combination of the area code and the number cannot exceed 15 characters. Format: Max length: 15. Numeric. |
Member. Required | String | Telecom addresses type. Case sensitive and must be one of the following: (BUSINESS, PERSONAL).The following combinations of deviceType and type are accepted by the application: deviceType = mobile, type = personal then number is saved as "Mobile Phone" deviceType = phone, type = business then number is saved as "Work Phone" Format: Enumeration. |
Member. Required | String | Telecom addresses device type. Case sensitive and must be one of the following: (PHONE, MOBILE). This field and Type, described above, are interrelated as per the Description for the Type field above. Format: Enumeration. |
member. Optional | Array of complex type | Other telecom address in addition to the preferred telecom address. A member could have more than one telephone number. Avios can store up to 3 telephone numbers for each member, including the preferred telecom address. Will not be visible in response even if provided in request. |
member. Optional | String | Telecom addresses country code. The total string length of the countryCode, areaCode and the telephone number cannot exceed 15 characters. Will not be visible in response even if provided in request. Format: Numeric characters |
member. Optional | String | Telecom address area code. The total string length of the areaCode and the telephone number cannot exceed 15 characters. Will not be visible in response even if provided in request. Format: Max length: 15 Numeric characters |
member. Required | String | The body of the Member’s preferred phone number (Preferred Telecom Address). The total length of combination of the area code and the number cannot exceed 15 characters. Will not be visible in response even if provided in request. Format: Max length: 15 Numeric characters |
member. Required | String | Telecom addresses type. Case sensitive and must be one of the following: BUSINESS PERSONAL The following combinations of deviceType and type are accepted by the application: If deviceType = mobile and type = Personal, the telephone number is saved as a mobile phone. If deviceType = phone and type = Business, the telephone number is saved as a work phone. If deviceType = phone and type = Personal, the telephone number is saved as a home phone.Any other combination will result in error. Will not be visible in response even if provided in request. Format: Enumeration |
member. Required | String | Telecom address device type. Must be one of the following: PHONE MOBILE This field and Type, described above, are interrelated as per the Description for the Type field above. Will not be visible in response even if provided in request. Format: Enumeration |
member. Optional | Array of complex type | Member’s preference for receiving marketing communications from Loyalty Programme in relation to products offering. There may be multiple instances of this element. There can only be two marketing preference objects with different campaign type channels being passed into the Array. If there are multiple marketing preference objects with the same campaign types an error will be returned. |
member. Required | String | Promotion activity of a product conducted by the Partner. Must be one of the following: (TRAVEL_OFFERS, PARTNER). The following combinations are allowed: communicationChannel = POSTAL and campaignType = PARTNER for third party marketing communications by Post. communicationChannel = POSTAL and campaignType = TRAVEL_OFFERS for Avios marketing communications by Post.Any other combination will result in error. Format: Enumeration |
member. Required | String | Channel of communication preferred by the member to receive partner’s marketing information. Must be “POSTAL”.This field and Type, described above, are interrelated as per the Description for the campaignType field above. Format: Enumeration |
member. Required | String | Indicator if selection is Yes (Y) or No (N). Decides if marketing preference details will be visible in response. Format: Enumeration |
member. Optional | Array of complex type | Member’s preference of being contacted by Partner/Loyalty Programme. There may be multiple instances of this element. There can only be passed three contact preference objects with different communication channels. If there are passed few contact preference objects with same communication channel error will be returned. |
member. Required | String | Channel of communication preferred by the member to receive partner’s marketing information. The following combinations are allowed: communicationChannel = EMAIL for communications via email. communicationChannel = SMS for communications via SMS. communicationChannel = PHONE for communications via phone. Any other combination will result in error. Format: Enumeration |
member. Required | String | Indicator if selection is Yes (Y) or No (N). Decides if contact preference details will be visible in response. Format: Enumeration |
Member. Optional | Complex type | A complex type representing the member’s security profile, which contains the security credentials and responses to the chosen security questions |
member. Required | Complex type | A complex type that represents the member’s security credentials (username and password) to register against the member’s account within the Avios ecosystem |
Member. Required | String | The username field. Characters may be alphanumeric and may also include the following: period (.) at (@) hyphen (-) underscore Format: Min length: 6, Max length: 50. Alphanumeric plus some other characters, refer to description for details. |
Member. Required | String | A string containing the Password of the member, this value is hashed and the hash stored in Avios systems. The original Password is discarded.A valid Password must include at least 3 of below rules:At least one number appearing in the string At least one lowercase letter appearing in the string At least one upper case letter appearing in the string At least one special character appearing in the string Format: MinLength: 8, MaxLength: 20, Alphanumeric plus special characters |
Response Elements
The elements that make up the response message are detailed in the following table. The following rules apply to response elements:
- Response elements will always be returned in upper case ASCII characters.
- Element names are shown here using the upper camel case convention, for a JSON response the lower camel case convention is supported
Example response from the Member Registration endpoint with minimal data (only join)
{
"membershipIdentifier": "3081471024602111",
"membershipStatus": "ACTIVE",
"member": {
"person": {
Example response from the Join Programme endpoint with security profile
{
"person": {
"name": {
"title": "MR",
"firstName": "WERTYHAA",
Name | Data type | Description |
---|---|---|
membershipIdentifier Required | String | A string containing the membership number generated when the Member’s account was created during the processing of the request message. (Example: 3081471018350495) The membership number format is similar to a credit card number and a LUHN check will return a successful result. The first 6 digits of 308147 represent an Avios related membership number. Format: Max length: 24. Numeric. |
membershipStatus Required | String | Membership Status. Possible value is “ACTIVE” Format: Enumeration |
member Required | Complex type | A complex type that represents the member within Avios systems. This type contains a person. |
member. Required | Complex type | A complex type that represents a member within Avios systems. |
member. Required | Complex type | Contains the name of the member, split into various fields that represent a name in a recognised format. Salutation, forename, middle initial (if present), family name. |
member. Conditional | String | Title (Salutation) of the member. API will derive the Gender of the member based on gender specific titles (Mr, Mrs, Ms, Miss, Dr, Lady, Sir, and Lord), if any other value will be provided the Gender of the member will be set to NOT*SPECIFIED.The value provided in the request will be returned in response. Format: Max Length: 30 Alphabetic. |
Member. Required | String | First name (forename) of the Loyalty Programme member.May contain the following special characters: apostrophe (‘), hyphen (-), spaces. First Name will always begin with a letter.Hyphen, apostrophe and space will never be present as the first character for this field.Please refer to Appendix G for accented character conversion rules. Format: Max Length: 25. Alphabetic Plus quote (‘), space ( ) and hyphen (-). |
Member. Conditional | String | Middle initial of the Loyalty Programme member. Will be present if passed in the originating request message. Format: Max Length: 1. Alphabetic. |
Member. Required | String | Surname (or last name) of the Loyalty Programme member.May contain the following special characters: apostrophe (‘), hyphen (-), spaces.Family Name will always begin with a letter.Hyphen, space and apostrophe will never be present as the first character for this field.Please refer to Appendix G for accented character conversion rules. Format: Max Length: 40.Alphabetic plus quote (‘) hyphen (-) and spaces. |
member. Conditional | Date | The member’s Date of Birth in ISO-8601 Calendar date format. It will be present in response when same given in request. It won’t be present in response if passed date in request message will be earlier than 1800-01-02 or date of birth wasn’t passed in request message. Format: YYYY-MM-DD ISO-8601.Calendar date format. |
member. Required | String | An indicator of the gender of a member. API will derive the Gender of the member based on gender specific titles (Mr, Mrs, Ms, Miss, Dr, Lady, Sir, and Lord), if any other value will be provided the Gender of the member will be set to NOT_KNOWN. Will be one of the following:MALE FEMALE NOT_KNOWN Format: Enumeration. |
member. Conditional | String | The country code denotes the country of residence of the member. Within Avios systems this will be used to associate the member to the Avios notion of a Market. This concept of Market has no impact on partner systems.Country of residence, if present, will match the country provided in the member’s Preferred Postal Address.If Country of residence is not present then member profile is associated to a default country – “XX”. Format: Max length: 2Min length: 2ISO 3166-1 Alphabetic 2 character country code. |
member. Conditional | Complex type | A complex type that represents the chosen locale of the Member.It will present in response when same given in request. |
member. Required | String | Preferred language of the member for use within Avios systems and channels. Will be one of the following values: EN ES CA FR IT Format: ISO 639-1 Alphabetic 2 character language code |
member. Conditional | Complex type | A complex type that represents the Member’s postal addresses. The Join Programme API may validate the address supplied in the request message and depending on the outcome may provide an alternative format, which is retained with Avios systems and returned within the response message. |
Member. Conditional | Complex type | A complex type representing the preferred postal address of the member. Will not be visible if preferredPostalAddress type will contain value BUSINESS and there will be no otherPostalAddress details specified in request message. Will contain address details which will have type PERSONAL. |
Member. Required | String | A string representing the type of the Member’s preferred postal address. Will be one of the following: PERSONAL Format: Enumeration. |
member. Required | Array of string | An array of string values, each of which represents a line of the member’s preferred postal address, excluding postcode and country. For countries where postcode is not mandatory, at least two lines of address should be provided For countries where postcode is mandatory, at least one line of address should be provided There should not be a comma (,) at the end of each address line The request should follow JSON format for providing multiple address linesPlease refer to the Country Address Rules document, which identifies the mandatory elements for each country. Format: Max length: 30.Alphanumeric plus period (.) and comma (,). |
member. Required | String | Postal address country name. Example: UNITED KINGDOM Format: Alphabetic with space. |
member. Conditional | String | The Postal code of address for the Member’s preferred postal address, if the address contains one this value will be present in the response. The postcode is returned without an embedded space. Example: RH109XA Format: Max length: 8. Alphanumeric |
member. Conditional | Complex type | Other postal address details. Optional postal address in addition to the preferred postal address. Will be visible if preferred postal address or other postal address will contain type with value BUSINESS. |
member. Required | String | Type of postal address. Will be one of the following: BUSINESS Format: Enumeration |
member. Required | Array of string | If preferred and other postal address details were sent in request, address line will contain the same address line details as provided under preferredPostalAddress object. Response will contain 5 address lines and API will return null value for each address line which was not provided in request message. An array of string values, each of which represents a line of the member’s preferred postal address, excluding postcode and country. For countries where postcode is not mandatory, at least two lines of address should be provided For countries where postcode is mandatory, at least one line of address should be provided There should not be a comma (,) at the end of each address line The request should follow JSON format for providing multiple address lines* Please refer to the Country Address Rules document, which identifies the mandatory elements for each country. Format: Max length: 30. Alphanumeric plus period (.) and comma (,). |
member. Required | String | Postal address country name.Example: UNITED KINGDOM Format: Alphabetic with space. |
member. Conditional | String | The Postal code of address for the Member’s preferred postal address, if the address contains one this value will be present in the response. Please refer to the Country Address Rules document, which identifies the mandatory elements for each country.The postcode is returned without an embedded space. Example: RH109XA Format: Max length: 8 Alphanumeric |
member. Required | Complex type | A complex type representing the Member’s email addresses. |
Member. Required | Complex type | A complex type representing the Member’s preferred email address. |
member. Required | String | Email address of the member. There may be only a single at-sign present. Also, all special characters can be visible before the at-sign and just minus (-) and period (.) after at-sign. Period (.) can’t be before at(@). Format: Alphanumeric Max length: 50 with special characters period (.), underscore ( |
member. Conditional | Complex type | A complex type that represents a collection of Member’s fully elaborated telephone numbers, which include country and area codes. Area code and number will be combined in the response in a single field. |
member. Required | Complex type | A complex type that represents a Member’s preferred telephone number. |
member. Required | String | The direct dialling code required to call the preferred telecom address from another country. Also referred to as the International Subscriber Dialling (ISD) code. It will present in response when same given in request. This value will not be prefixed with leading zeros or a plus (+), for example UK telephone numbers will have a country code value of 44. Format: NumericInternational dialling code |
member. Required | String | The member’s preferred telephone number (telecom address). This will include the area code but not the country code. Example: 01924311750 Format: Max length: 15 Numeric. |
member. Required | String | Telecom addresses type. Will be one of the following: BUSINESS PERSONAL Format: Enumeration |
member. Required | String | Telecom addresses device type. Will be one of the following: PHONE MOBILE Format: Enumeration |
member. Conditional | Array of complex type | Member’s preference for receiving Avios marketing communications. This element can occur multiple times. If marketing preference details weren’t passed in request message default communication channel with value TRAVEL_OFFERS along with communication channel with value POSTAL will be returned in response. This element can occur multiple times.Marketing Preference details will be seen if ‘selected’ element under marketingPreference object has been set to ‘Y’. If ‘selected’ element is set to ‘N’ marketing preference will not be returned. For internal Avios use only. |
member. Required | String | Promotion activity of a product conducted by the Partner. Will be one of the following: TRAVEL_OFFERS PARTNER For internal Avios use only. Format: Enumeration |
member. Required | String | Channel of communication preferred by the member to receive marketing information. Will always be “POSTAL”.For internal Avios use only. Format: Enumeration |
member. Conditional | Array of complex type | Member’s preference of being contacted by Partner/Loyalty Programme. If contact preference details weren’t passed in request message default will not be returned in response. This element can occur multiple times.Contact Preference details will be returned if ‘selected’ element under contactPreference object has been set to ‘Y’. If ‘selected’ element is set to ‘N’ contact preference details will not be returned.For internal Avios use only. |
member. Required | String | Channel of communication preferred by the member to receive partner’s marketing information. Will be one of the following: EMAIL PHONE SMS For internal Avios use only. Format: Enumeration. |
member. Required | String | Profile status. Possible values: FULL PARTIAL Format: Enumeration |
Exception Message Elements
The exception message responses may be formatted in either upper or lower case.
Example of an error response
{
"code": "LOYALTY_MEMBER_ALREADY_EXISTS",
"businessMessage": "Loyalty member already exists",
"developerMessage": "Loyalty member already exists",
"developerLink": "https://developer.iagloyalty.com/docs",
Name | Data type | Description |
---|---|---|
code Required | String | Error code. Example: REQUEST_INVALID Format: Alphabetic plus under- score . |
businessMessage Conditional | String | A business level message describing the error which has occurred. Example: Request Invalid Format: Alphabetic |
developerMessage Conditional | String | Developer message will be present when detailed technical description is required for the error, which has occurred, by the API.If no specific developer message is required, developer message will be as business message. Format: Alphabetic |
developerLink Conditional | String | A link to supporting documentation for this API. Example: https://developer.iagloyalty.com/docs Format: Alphabetic plus colon (:), forward slash (/), dash (-), underscore or period (.). |
childError Conditional | Array of complex type | Present for certain errors (e.g. validation) where one or more child error may have occurred. |
childError. Required | String | The error code for the child error (if returned) Example: DATA_INVALID Format: Alphabetic plus under- score . |
hildError. Conditional | String | Identifies the element in the request which has caused the error to occur. This will not come in case of any of the authorisation header elements are invalid or missing Format: Alphabetic plus period (.), forward slash (/), open bracket ( |
childError. Conditional | String | A business level message describing the error which has occurred, Example: Programme not supported Format: Alphabetic |
childError. Conditional | String | Developer message will be present when detailed technical description is required for the error, which has occurred, by the API.If no specific developer message is required, developer message will be as business message. Format: Alphabetic |
childError. Conditional | String | A link to supporting documentation for this API. Example: https://developer.iagloyalty.com/docs Format: Alphabetic plus colon (:), forward slash (/), dash (-), underscore or period (.). |
Error Codes
The table below shows a full list of error codes. If an error is received, then no account will have been created.
Http Status Code | Description |
---|---|
400 REQUEST_INVALID DATA_INVALID | Invalid date of birth (or format).Invalid country code for PhoneNumber.Invalid CampaignIdentifier length (max length is 8 characters).Invalid contact preference 'CommunicationChannel'.Invalid gender value.Invalid locale 'LanguageCode'.Email address removed or has invalid special characters.Invalid 'CampaignType' promotion activity.Invalid format or missing FirstName (can't start with a number or contain special characters).Invalid value or format for FamilyName.Invalid FirstName length (max length is 25 characters).Invalid format, value or length for MiddleInitial.Blank Title.Invalid Title format or value.Invalid Title length (character max length is 30 characters). Invalid Country code length in 'PreferredPostalAddress' (max length 2 characters). Invalid value for 'PostCode' in 'PreferedPostalAddress'. Invalid value for 'Type' in 'PreferedPostalAdress'.'PreferredPostalAdress' and 'OtherPostalAddress' need to be of different types (e.g can't both be marked as PERSONAL).Invalid value for 'Type' in 'PlaceOfIssue'.Invalid 'RegisteredIdentifier' Token (max length is 24 characters).Invalid value for 'Type' in 'RegisteredIdentifier'.Blank 'RegisteredIdentifier'.Invalid 'SecurityProfile' Token, minnimum length is 8 characters.Invalid value for Response in 'SecurityProfile.SecurityChallenge' (min length is 1 character).Invalid 'PartnerIdentifier' (max length is 20 characters).Invalid 'ProgrammeIdentifier'.Invalid Value of 'X-Forwarded-For'. |
400 REQUEST_INVALID HEADER_INVALID | Invalid content type for Header. |
400 REQUEST_INVALID LOYALTY_MEMBER_ALREADY_EXISTS | A customer with this username is already registered. |
400 REQUEST_INVALID METHOD_NOT_SUPPORTED | This method is not supported. |
400 REQUEST_INVALID PARTNER_INVALID | PartnerIdentifier or ProgrammeIdentifier are invalid or are not present in database.Campaign valid and Partner valid value not present in database.Campaign removed and Partner valid value not present in database. |
400 REQUEST_INVALID POSTAL_ADDRESS_INVALID | The postcode for the PreferredPostalAddress is invalid . |
400 REQUEST_INVALID PROFANITY_FIRST_NAME_INVALID | Invalid content for FirstName (the use of profane words is prohibited). |
400 REQUEST_INVALID PROFANITY_LAST_NAME_INVALID | Invalid content for LastName (the use of profane words is prohibited). |
400 REQUEST_INVALID PROGRAMME_NOT_SUPPORTED | Programme Not supported 'IBPL'. |
400 REQUEST_INVALID REGISTERED_IDENTIFIER_INVALID | Invalid token for RegisteredIdentifier . |