Endpoints: Authentication
Required mechanisms to authenticate a 3rd party session and trigger the integration to the API.
POST /oauth/token
https://{posapi_url}/flexiti/pos-api/v2.5/oauth/token
Please note the parameters should not be passed as Query string, the service is expecting an application/x-www-form-url encoded payload.
This service Authenticates the developer user and provides a Bearer Token that needs to be used as part of every future request.
The refresh token is used to get a new access token once the current one has expired.
In order to use it add the refresh token (provided in the original /oauth/token call) and change the grant_type to refresh_token.
Scope Parameter Usage
For the token endpoint there are two possible scopes: merchant or customer.
A token with a merchant scope will be allowed for all endpoints
A token with a customer scope will be allowed in all endpoints required by customer facing UI, other endpoints will considered this token invalid.
The endpoints that should be called using a customer scope should be:
POST /client-id/{client_id}/merchants/login
POST /client-id/{client_id}widget/init
POST /client-id/{client_id}/apply
GET /client-id/{client_id}/terms-and-conditions
POST /client-id/{client_id}/information
POST /client-id/{client_id}/accounts/:account_number/calculate-interest
POST /client-id/{client_id}/authorization
Request Parameters:
Type | Parameter | Required | Details |
---|---|---|---|
FORMDATA | client_id | Yes |
|
FORMDATA | client_secret | Yes |
|
BODY | grant_type |
| |
BODY | refresh_token |
| |
BODY | scope |
|
Example Request:
{ "client_id": "flexitidemo", "client_secret": "77xde15a-9d33-4c15-930a-3se4b3as33e9", "grant_type": "client_credentials", "scope": "merchant" }
Response Parameters:
Type | Parameter | Required | Details |
---|---|---|---|
BODY | access_token | Yes |
|
BODY | expires_in | Yes |
|
BODY | refresh_token | Yes |
|
Success Response:
{ "token_type": "bearer", "access_token": "2d8f373a3c2b1e61baf5a7769930ff4f0e08cdb0", "expires_in": 1200, "refresh_token": "36e0fc3d7415145f4b1d71512c459fd6eaa13aa8" }
POST /client-id/{client_id}/merchants/login
https://{posapi_url}/flexiti/pos-api/v2.5/client-id/{client-id}/merchants/login?lang=en
This service will log in the Merchant session and provide back an updated version of the list of parameters based on the language variable provided. This is required within the session to ensure the Merchant has the latest version of all parameters.
Request Parameters:
Type | Parameter | Required | Details |
---|---|---|---|
HEADER | bearer token | Yes |
|
PATH | client_id | Yes |
|
QUERY | lang |
| |
BODY | merchant_username |
| |
BODY | merchant_password |
|
Example Request:
{ "merchant_username": "acmejewellers", "merchant_password": "dice-vanila-purse" }
Response Parameters:
Type | Parameter | Required | Details |
---|---|---|---|
BODY | merchant_name | Yes |
|
BODY | merchant_id | Yes |
|
BODY | form_values | Yes |
|
Success Response:
{ "merchant_name": "ACME Jewellers", "merchant_id": "123", "form_values": { "salutation": { "options": { "mr": "Mr.", "ms": "Ms.", "mrs": "Mrs.", "mss": "Miss." } }, "province": { "options": { "AB": "Alberta", "BC": "British Columbia", "MB": "Manitoba", "NB": "New Brunswick", "NL": "Newfoundland & Labrador", "NS": "Nova Scotia", "NT": "Northwest Territories", "NU": "Nunavut", "ON": "Ontario", "PE": "Prince Edward Island", "QC": "Quebec", "SK": "Saskatchewan", "YT": "Yukon Territory" } }, "security_qid": { "options": { "4": "What is the name of your favourite childhood friend?", "5": "What is the country of your ultimate dream vacation?", "6": "What was the first concert you attended?", "7": "What is the name of the street you grew up on?", "8": "What is the name of your first grade teacher?", "9": "What is your favourite movie?" } }, "govid_type": { "options": { "CADL": "Driver's Licence", "CAHC": "Health Card", "CAPID": "Provincial ID Card", "CAP": "Passport", "CAPRC": "Permanent Resident Card", "CAICBC": "Insurance Corporation of British Columbia", "CAAR": "Alberta Registries", "CASGI": "Saskatchewan Government Insurance", "CADSNS": "Department of Service Nova Scotia and Municipal Relations", "CADPPEI": "Department of Transportation and Public Works of the Province of Prince Edward Island", "CASNB": "Service New Brunswick", "CADGSNF": "Department of Government Services and Lands of the Province of Newfoundland and Labrador", "CADTNW": "Department of Transportation of the Northwest Territories", "CADCTN": "Department of Community Government and Transportation of the Territory of Nunavut", "CACSC": "Correctional Service Canada identification card (with the individual's name and photograph)", "CAGCEC": "Government of Canada employee identity card (with the individual's name and photograph)", "CALCB": "Liquor Control Board Age of Majority (BYID) card", "CACFL": "Canadian Firearms licence", "CACFID": "Canadian Forces identification card", "CAMPIC": "MPIC card issued by the Manitoba Public Insurance Corporation", "CACAID": "NEXUS or CANPASS Air membership card (issued by Canada Border Services Agency)" } }, "govid_issued_by": { "option_depends": { "CADL": { "AB": "Alberta", "BC": "British Columbia", "MB": "Manitoba", "NB": "New Brunswick", "NL": "Newfoundland & Labrador", "NS": "Nova Scotia", "NT": "Northwest Territories", "NU": "Nunavut", "ON": "Ontario", "PE": "Prince Edward Island", "QC": "Quebec", "SK": "Saskatchewan", "YT": "Yukon Territory" }, "CAHC": { "BC": "British Columbia", "NB": "New Brunswick", "NL": "Newfoundland & Labrador", "NT": "Northwest Territories", "NU": "Nunavut", "QC": "Quebec", "SK": "Saskatchewan", "YT": "Yukon Territory" }, "CAPID": { "ON": "Ontario" }, "CAP": { "CANADA": "Canada" }, "CAPRC": { "CANADA": "Canada" }, "CAICBC": { "BC": "British Columbia" }, "CAAR": { "AB": "Alberta" }, "CASGI": { "SK": "Saskatchewan" }, "CADSNS": { "NS": "Nova Scotia" }, "CADPPEI": { "PE": "Prince Edward Island" }, "CASNB": { "NB": "New Brunswick" }, "CADGSNF": { "NL": "Newfoundland & Labrador" }, "CADTNW": { "NT": "Northwest Territories" }, "CADCTN": { "NU": "Nunavut" }, "CACSC": { "CANADA": "Canada" }, "CAGCEC": { "CANADA": "Canada" }, "CALCB": { "AB": "Alberta", "BC": "British Columbia", "MB": "Manitoba", "NB": "New Brunswick", "NL": "Newfoundland & Labrador", "NS": "Nova Scotia", "NT": "Northwest Territories", "NU": "Nunavut", "ON": "Ontario", "PE": "Prince Edward Island", "QC": "Quebec", "SK": "Saskatchewan", "YT": "Yukon Territory" }, "CACFL": { "CANADA": "Canada" }, "CACFID": { "CANADA": "Canada" }, "CAMPIC": { "MB": "Manitoba" }, "CACAID": { "CANADA": "Canada" } } } } }