How to use it?
Brand burn - conversion rate
The Conversion Rate service will convert euros into points to burn equivalent, you need to call the conversion rate service as the following:
METHOD | GET |
URL | https://api.accor.com/loyalty/v1/brand/conversionrate/{brandCode} |
ROLE | ROLE_LOYALTY, ROLE_BRAND_BURN, ROLE_PARTICIPANT |
Token | [Bearer Token] |
OK example:
Input: brandCode=0700
Output:
{
"burnRatio": 100
}
KO example:
Input: brandCode=03399
Output:
{
"errors": [
{
"code": "UNKNOWN_BRAND",
"message": "Rejected for unknown brand"
}
]
}
Brand burn - Burn Points
The Burn Points service will decalre the amount of points to be burnt for a client, you need to call the burn points service as the following:
METHOD | POST |
URL | https://api.accor.com/loyalty/v1/brand/burnpoints |
ROLE | ROLE_LOYALTY, ROLE_BRAND_BURN, ROLE_PARTICIPANT |
Token | [Bearer Token] |
Request body:
{
"transactionInformation": {
"pmid": "1234567A",
"paidAmountInCurrency": 250,
"transactionId": "6546546546",
"transactionType": "FNB",
"transactionAmountOfPoints": 4000,
"transactionAmountInEuros": 80,
"transactionAmountInCurrency": 69.2,
"currencyID": "GBP"
},
"trackingInformation": {
"channel": "WEB",
"origin": "ALL"
},
"bookingInformation": {
"bookingNumber": "777546546546",
"tarsCode": "0382",
"dateIn": "2022-01-16",
"dateOut": "2022-01-16",
"refundable": true,
"prepayment": true
}
}
Output:
{
"burnPoints": "Burn points in progress"
}
Brand burn - Release Points
Following a burn operation (via the brand burn points service) by the Accor group brand entities (Hotels, Spas, Restaurants, etc.), points are temporarily blocked while the burn request is processed. In the event of an error on the burn request, it is possible to unblock the blocked points by calling releasepoints service as the following:
METHOD | POST |
URL | https://api.accor.com/loyalty/v1/brand/releasepoints |
ROLE | ROLE_LOYALTY, ROLE_BRAND_BURN, ROLE_PARTICIPANT |
Token | [Bearer Token] |
Request body:
{
"pmid": "1639710B",
"transactionId" : "REC10000220"
}
Output:
{
"transactionId": "REC10000220",
"pointsReleased": 1000
}
Currency rate
The Conversion Rate service will convert the amount in currency to the Euro, you need to call the currency rate service as the following:
METHOD | GET |
URL | https://api.accor.com/loyalty/v1/currencyrate/ |
ROLE | |
Token | [Bearer Token] |
Output:
{
"FJD": 0.44004402,
"MXN": 0.05076013,
"STD": 4.0674713E-5,
"SCR": 0.07422362,
"LVL": 1.4295926,
"CDF": 5.093076E-4,
"BBD": 0.51158744,
"GTQ": 0.1305466,
"CLP": 0.0010451177,
"UGX": 2.689618E-4,
"HNL": 0.04149102,
"ZAR": 0.05583286,
"TND": 0.3135386,
"SDD": 0.0051103947,
"BSD": 1.0221814,
"SLL": 6.0663562E-5,
"SDG": 0.018656716,
"IQD": 7.008249E-4,
"CUP": 0.04259089,
"GMD": 0.017412502,
"TWD": 0.03184267,
"RSD": 0.008535337,
"DOP": 0.019006709,
"KMF": 0.0020407331,
"MYR": 0.21553582,
"FKP": 1.1483693,
"XOF": 0.0015319332,
"GEL": 0.37373397,
"UYU": 0.024804048,
"MAD": 0.09300509,
"CVE": 0.009076387,
"TOP": 0.42918456,
"PGK": 0.2979649,
"OMR": 2.6554782,
"AZN": 0.60375535,
"SEK": 0.0910581,
"KES": 0.008440956,
"BTN": 0.012368737,
"UAH": 0.027678903,
"GNF": 1.1928833E-4,
"MZN": 0.016162923,
"ERN": 0.053571045,
"SVC": 0.11682379,
"ARS": 0.0066600298,
"QAR": 0.28070176,
"IRR": 2.4337414E-5,
"MRO": 0.0027847397,
"UZS": 9.172494E-5,
"XPF": 0.00838223,
"THB": 0.026766594,
"CNY": 0.14112732,
"BDT": 0.010100602,
"LYD": 0.20359135,
"BMD": 1.0221814,
"PHP": 0.017318416,
"KWD": 3.2905562,
"RUB": 0.016853772,
"PYG": 1.4160095E-4,
"JMD": 0.0067694127,
"ISK": 0.0070987437,
"COP": 2.0894274E-4,
"USD": 1.0192641,
"MKD": 0.016305234,
"DZD": 0.0072997017,
"PAB": 1.0221814,
"SGD": 0.7163837,
"ETB": 0.01936671,
"ECS": 4.1050902E-5,
"VUV": 0.008325307,
"SOS": 0.0018091688,
"KGS": 0.012411567,
"VEF": 4.9764462E-6,
"LAK": 6.0591665E-5,
"BND": 0.7179782,
"ZMK": 1.4898178E-4,
"XAF": 0.0015252738,
"LRD": 0.006702862,
"HRK": 0.13270871,
"CHF": 1.0166734,
"DJF": 0.0057587666,
"ALL": 0.00856311,
"TZS": 4.396474E-4,
"VND": 4.167066E-5,
"AUD": 0.64292145,
"ILS": 0.28773665,
"KPW": 0.0078628715,
"GYD": 0.0049169045,
"GHS": 0.08017124,
"MDL": 0.052966103,
"KHR": 2.4764735E-4,
"BOB": 0.14922255,
"IDR": 6.557356E-5,
"KYD": 1.2390039,
"AMD": 0.0025390377,
"BWP": 0.0766636,
"TRY": 0.054867577,
"LBP": 6.78965E-4,
"TJS": 0.1003009,
"JOD": 1.4438348,
"RWF": 9.6209353E-4,
"HKD": 0.12985663,
"AED": 0.27831894,
"EUR": 1.0,
"LSL": 0.055895086,
"DKK": 0.13442847,
"ZWD": 0.0023500957,
"CAD": 0.74288684,
"BGN": 0.5112997,
"MMK": 4.8821766E-4,
"EEK": 0.06391165,
"NOK": 0.096135356,
"MUR": 0.022563176,
"SYP": 0.0017204923,
"ZWL": 0.0023500957,
"GIP": 1.1484221,
"RON": 0.20323963,
"LKR": 0.002823702,
"NGN": 0.0023438416,
"CRC": 0.0016504101,
"CZK": 0.040774718,
"PKR": 0.004630487,
"XCD": 0.37878788,
"HTG": 0.008243398,
"ANG": 0.46015093,
"BHD": 2.7114968,
"SZL": 0.055876847,
"SRD": 0.03601138,
"KZT": 0.0021806445,
"TTD": 0.15181878,
"SAR": 0.27214587,
"LTL": 0.28962,
"YER": 0.00408906,
"MVR": 0.06628926,
"AFN": 0.011731582,
"INR": 0.012318988,
"NPR": 0.007719236,
"AWG": 0.57438254,
"KRW": 7.141327E-4,
"MNT": 3.0322786E-4,
"JPY": 0.006803184,
"PLN": 0.20952062,
"AOA": 0.0023171748,
"SBD": 0.124533,
"GBP": 1.1460267,
"HUF": 0.0024319065,
"BYR": 5.790978E-5,
"BIF": 5.0234975E-4,
"MWK": 0.0010065793,
"MGA": 2.4148756E-4,
"BZD": 0.5115613,
"BAM": 0.51129186,
"MOP": 0.12642865,
"EGP": 0.05236611,
"NAD": 0.05610822,
"SKK": 0.03319392,
"NIO": 0.02844141,
"PEN": 0.2573804,
"WST": 0.36630037,
"NZD": 0.5811926,
"TMT": 0.2538071,
"BRL": 0.19460174
}
METHOD | GET |
URL | https://api.accor.com/loyalty/v1/currencyrate/USD |
ROLE | |
Token | [Bearer Token] |
Output:
1.0192641
Partner eligibility for burning points
In order to check the partner eligibility for burning points, you need to call the eligibility service as the following:
METHOD | GET |
URL | https://api.accor.com/loyalty/v1/burn/isburneligible?pmid=[customer's pmid]&partnercode=[partnercode] |
ROLE | ROLE_PARTNER_BURN_ISELIGIBLE, ROLE_PARTICIPANT |
Token | [Bearer Token] |
OK example:
Input: pmid=0019519B, partnerCode=50
Output:
{
"eligible": true
}
KO example:
Input: pmid=0019519W, partnerCode=50
Output:
{
"errors": [
{
"code": "UNKNOWN_PMID",
"message": "Rejected for unknown PMID"
}
]
}
Partner Earn Burn Rates
In order to check the partner's earn and burn ratio, you need to call the earn burn rates service as the following:
METHOD | GET |
URL | https://api.accor.com/loyalty/v1/earnburnrates/{partnerCode} |
ROLE | |
Token | [Bearer Token] |
Example:
Input: partnerCode=52
Output:
{
"burnRatio": 5000,
"earnRatio": 50
}
Partner Burn Points
The Burn Points service will decalre the amount of points to be burnt for a client, you need to call the burn points service as the following:
METHOD | POST |
URL | https://api.accor.com/loyalty/v1/burnpoints |
ROLE | ROLE_BURN_POINT, ROLE_PARTICIPANT |
Token | [Bearer Token] |
Example:
Input:
{
"pointsDebitDate": "2022-11-14",
"partnerCode": "511",
"pmid": "1949404A",
"amountOfPoints": "2148",
"grossAmount": "25.50",
"taxExcludedPrice": "18.40",
"currency": "USD",
"partnerOperationId": "transaction_ID",
"transactionlabel": "Burn ALL Activities - Activity Name - Transaction ID number",
"transactionType": "ADJ"
}
Output:
{
"status": true,
}
Partner Refund Burn Points
In order to do a refund of burnt points, you need to call the refund burn points service as the following:
METHOD | POST |
URL | https://api.accor.com/loyalty/v1/burn/refundburnpoints |
ROLE | ROLE_BURN_POINT, ROLE_PARTICIPANT |
Token | [Bearer Token] |
Example:
Input:
{
"partnerCode": "51",
"pmid": "3939268A",
"requestUniqueId": "12eb8ec2-dcc3-4f6b-9fad-8eaed9c1bc23_",
"transactionId": "12eb8ec2-dcc3-4f6b-9fad-8eaed9c1bc23",
"transactionLabel": "12eb8ec2-dcc3-4f6b-9fad-8eaed9c1bc23"
}
Output:
{
"status": true,
}
Fnb eligibility for burning points
In order to check the FnB eligibility for burning points, you need to call the eligibility service as the following:
METHOD | GET |
URL | https://api.accor.com/loyalty/v1/fnb/eligibility?brandCode=[brandCode]&pmid=[customer's pmid] |
ROLE | ROLE_LOYALTY, ROLE_FNB_BURN, ROLE_PARTICIPANT |
Token | [Bearer Token] |
OK example:
Input: brandCode=0341, pmid=0019519B
Output:
{
"eligible": true
}
KO example:
Input: brandCode=0341, pmid=0019519W
Output:
{
"errors": [
{
"code": "UNKNOWN_PMID",
"message": "Rejected for unknown PMID"
}
]
}
Fnb burn - Burn Points
The Fnb Burn Points service will decalre the amount of points to be burnt for a client, you need to call the burn points service as the following:
METHOD | POST |
URL | https://api.accor.com/loyalty/v1/fnb/burnpoints |
ROLE | ROLE_LOYALTY, ROLE_FNB_BURN, ROLE_PARTICIPANT |
Token | [Bearer Token] |
Request body:
{
"transactionInformation": {
"pmid": "1234567A",
"paidAmountInCurrency": 250,
"transactionId": "6546546546",
"transactionType": "FNB",
"transactionAmountOfPoints": 4000,
"transactionAmountInEuros": 80,
"transactionAmountInCurrency": 69.2,
"currencyID": "GBP"
},
"trackingInformation": {
"channel": "RESTAURANT",
"origin": "PAT"
},
"restaurantInformation": {
"restaurantCode": "16036",
"restaurantName": "Lobby Lounge",
"tableId": "5",
"hotelCode": "6036",
"refundable": true
}
}
Output:
{
"burnPoints": "Burn points in progress"
}
Brand eligibility for burning points
In order to check the Brand eligibility for burning points, you need to call the eligibility service as the following:
METHOD | GET |
URL | https://api.accor.com/loyalty/v1/brand/eligibility?brandCode=[brandCode]&pmid=[customer's pmid] |
ROLE | ROLE_LOYALTY, ROLE_BRAND_BURN, ROLE_PARTICIPANT |
Token | [Bearer Token] |
OK example:
Input: brandCode=0341, pmid=0019519B
Output:
{
"eligible": true
}
KO example:
Input: brandCode=0341, pmid=0019519W
Output:
{
"errors": [
{
"code": "UNKNOWN_PMID",
"message": "Rejected for unknown PMID"
}
]
}
FNB burn - conversion rate
The Conversion Rate service will convert euros into points to burn equivalent, you need to call the conversion rate service as the following:
METHOD | GET |
URL | https://api.accor.com/loyalty/v1/fnb/conversionrate/{hotelCode} |
ROLE | ROLE_LOYALTY, ROLE_BRAND_BURN, ROLE_PARTICIPANT |
Token | [Bearer Token] |
OK example:
Input: hotelCode=0700
Output:
{
"burnRatio": 100
}
KO example:
Input: hotelCode=03399
Output:
{
"errors": [
{
"code": "UNKNOWN_BRAND",
"message": "Rejected for unknown brand"
}
]
}
HTTP Methods
The API is accessible through the Https protocol and accepts HTTP GET and POST requests.
It's made to retrieve information – and to modify it in any way.
UAT base URL:
"https://rec-api.accor.com/loyalty/"
PRO base URL:
"https://api.accor.com/loyalty/"
UAT Example:
"https://rec-api.accor.com/loyalty/v1/burn/isburneligible?pmid={pmidValue}&partnercode={partnercodeValue}"
"https://rec-api.accor.com/loyalty/v1/burn/brand/eligibility?pmid={pmidValue}&partnercode={partnercodeValue}"
"https://rec-api.accor.com/loyalty/v1/burn/fnb/eligibility?pmid={pmidValue}&partnercode={partnercodeValue}"
"https://rec-api.accor.com/loyalty/v1/currencyrate"
"https://rec-api.accor.com/loyalty/v1/currencyrate/{currency}"
"https://rec-api.accor.com/loyalty/v1/brand/currencyrate"
"https://rec-api.accor.com/loyalty/v1/brand/currencyrate/{currency}"
"https://rec-api.accor.com/loyalty/v1/earnburnrates"
"https://rec-api.accor.com/loyalty/v1/burn/burnpoints"
"https://rec-api.accor.com/loyalty/v1/brand/burnpoints"
"https://rec-api.accor.com/loyalty/v1/burn/fnb/burnpoints"
"https://rec-api.accor.com/loyalty/v1/burn/refundburnpoints"
"https://rec-api.accor.com/loyalty/v1/burn/releasepoints"
"https://rec-api.accor.com/loyalty/v1/brand/releasepoints"
"https://rec-api.accor.com/loyalty/v1/fnb/releasepoints"
"https://rec-api.accor.com/loyalty/v1/earnburnrates/{partnerCode}"
"https://rec-api.accor.com/loyalty/v1/brand/conversionrate/{brandCode}"
"https://rec-api.accor.com/loyalty/v1/fnb/conversionrate/{hotelCode}"
HTTP Response codes
We use conventional HTTP response codes to indicate the success or failure of an API request.
- Codes in the 2xx range indicate success.
- Codes in the 4xx range indicate an error.
- Codes in the 5xx range indicate an server error.
Some 4xx errors that could be handled programmatically include an error code that briefly explains the error reported.
NOT_ENOUGH_POINTS
UNKNOWN_PMID
ACCOUNT_STATUS_NOT_OPEN
LOYALTY_TERMS_NOT_ACCEPTED
REQUEST_UNIQUE_ID_ALREADY_PROCESSED
PRICE_VERSUS_POINTS_MISMATCH
INVALID_INC_TAX_LOCAL_PRICE
INVALID_NB_POINTS
INVALID_REQUEST_UNIQUE_ID
UNKNOWN_CURRENCY_CODE
TRANSACTION_DO_NOT_EXIST
TRANSACTION_ALREADY_CANCELLED
INVALID_REGULARIZATION_LABEL
Use Accor Loyalty Points for payment on Partner platform in two ways:
- Instantly or Directly Burn Points payment process using present time date (same as current transaction date) for pointsDebitDate:
"pointsDebitDate": "2022-01-16",
- Reserve or Block points to be debited later in a Burn Points payment process using future date for pointsDebitDate.
"pointsDebitDate": "2022-11-14"