These are all of the Endpoints required to identify or interact with Customers.
GET /client-id/{client_id}/customers/search
https://{posapi_url}/flexiti/pos-api/v2.5/client-id/{client_id}/customers/search?first_name=John&last_name=Smith&dob=1900-01-01
This Endpoint returns a list of accounts for the customer being searched for.
Request Parameters:
Type | Parameter | Required | Details |
---|---|---|---|
HEADER | authorization | Yes |
|
HEADER | x-reference-id | Yes |
|
PATH | client_id | Yes |
|
QUERY | first_name | Yes |
|
QUERY | last_name | Yes |
|
QUERY | dob | Yes |
|
QUERY | postal_code | No |
|
Response Parameters:
Type | Parameter | Details |
---|---|---|
BODY | customer_id |
|
BODY | account_status |
|
BODY | account_status_reason_code |
|
BODY | tos_agreement |
|
BODY | risk_rating |
|
BODY | account_number |
|
BODY | customer_account_type |
|
BODY | credit_limit |
|
BODY | available_credit |
|
BODY | originating_merchant_id |
|
BODY | originating_merchant_name |
|
BODY | creation_date |
|
BODY | first_name |
|
BODY | last_name |
|
BODY | card_ending_in |
|
BODY | preferred_language |
|
Success Response:
[ { "customer_id": "123321", "account_status": "N", "account_status_reason_code": "NNOR", "tos_agreement"": true, "risk_rating": "H", "account_number": 123456789, "credit_limit": "1000.00", "available_credit": "659.51", "originating_merchant_id": "12345", "originating_merchant_name": "ACME Jewellers", "creation_date": "2019-05-15", "first_name": "John", "last_name": "Smith", "card_ending_in": "5941", "preferred_language": "fr-CA" "customer_account_type": "consumer" }, { "customer_id": "123412", "account_status": "F", "account_status_reason_code": "FLCK", "tos": true, "risk_rating": "Y", "account_number": 234567890, "credit_limit": "1000.00", "available_credit": "847.00", "originating_merchant_id": "23456", "originating_merchant_name": "ACME Restorations", "creation_date": "2019-04-15", "first_name": "John", "last_name": "Smith", "card_ending_in": "6457", "preferred_language": "en-CA" "customer_account_type": "business" } ]
GET /client-id/{client_id}/customers/lookup
https://{posapi_url}/flexiti/pos-api/v2.5/client-id/{client_id}/customers/lookup?vcc_number=1234123412341234
or
https://{posapi_url}/flexiti/pos-api/v2.5/client-id/{client_id}/customers/lookup?account_number=123456789
or
https://{posapi_url}/flexiti/pos-api/v2.5/client-id/{client_id}/customers/lookup?customer_id=123456789
This service allows the Merchant to gather the Customer information by providing any of the following:
a FlexitiCard (VCC) number
an Account Number
a Customer ID
If you lookup via the FlexitiCard (VCC) number, the response will return the account the FlexitiCard belongs to.
Request Parameters:
Type | Parameter | Required | Details |
---|---|---|---|
HEADER | authorization | Yes |
|
HEADER | x-reference-id | Yes |
|
PATH | client_id | Yes |
|
QUERY | lang |
| |
QUERY | vcc_number |
| |
QUERY | account_number |
| |
QUERY | customer_id |
|
Response Parameters:
Type | Parameter | Details |
---|---|---|
BODY | available_credit |
|
BODY | account_number |
|
BODY | customer_id |
|
BODY | security_qid.id |
|
BODY | security_qid.text |
|
BODY | address_1 |
|
BODY | address_2 |
|
BODY | city |
|
BODY | postal_code |
|
BODY | province |
|
BODY | payment_protection |
|
BODY | risk_rating |
|
BODY | offer_types.plan_name |
|
BODY | offer_types.plan_id |
|
BODY | offer_types.offer_category |
|
BODY | offer_types.term_options |
|
BODY | card_ending_in |
|
BODY | preferred_language |
|
BODY |
| |
BODY | phone_number |
|
BODY | account_type |
|
Success Response:
{ "available_credit": 5000, "account_number": 20035156, "customer_id": 43353, "security_qid": [ { "id": 4, "text": "What is the name of your favourite childhood friend?" }, ], "address_1": "123 Anystreet Ave", "address_2": "Suite 100", "city": "Toronto", "postal_code": "M5M1M1", "province": "ON", "payment_protection": 0, "risk_rating": "L", "offer_types": [ { "plan_name": "90 Days Grace, Equal Payments Regular Interest", "plan_id": "1", "offer_category": "equal_billing", "term_options": [ "12", "18", "24", "36" ] } ], "preferred_language": "EN_CA", "card_ending_in": "6395" "email": "a***inet@flexiti.com", "phone_number": "***-***-2222", "account_type": "consumer" }
Successful Response (Authorized user of business card):
{ "first_name": "Random", "last_name": "BusinessPerson", "available_credit": 14000, "account_number": 116992907, "customer_id": "1291820-11", "security_qid": [ { "id": 9, "text": "What is your favourite movie?" } ], "payment_protection": false, "address_1": "123 Any Street", "city": "Toronto", "postal_code": "M6S2R5", "province": "ON", "risk_rating": "L", "offer_types": [ { "plan_name": "90 Days Grace, Equal Payments Regular Interest", "term_options": [ "12", "18", "24", "36", "48", "60", "72" ], "plan_id": "1", "offer_category": "equal_billing" } ], "preferred_language": "en-CA", "card_ending_in": "7962", "email": "v*****vich@flexiti.com", "phone_number": "***-***-5119", "account_type": "business" }
POST /client-id/{client_id}/account/{account_number}/verify
https://{posapi_url}/flexiti/pos-api/v2.5/client-id/{client_id}/account/12345678/verify
This endpoint is used for the “in-store” channel only, and allows you to verify a Customer using one of the available verification methods:
email - a dynamic pin will be sent to the customer’s email on file
sms - a dynamic pin will be sent to the customer’s phone on file
security_question - passing the correct answer to the customer’s security question will generate a dynamic pin on the response.
regular_purchase_bypass - is the customer qualifies for a regular purchase bypass a dynamic pin to be used only for regular purchases will be generated on the response.
merchant_override - select Merchants are able to override the customer authentication, this will generate a dynamic pin on the response.
Request Parameters:
Type | Parameter | Required | Details |
---|---|---|---|
HEADER | authorization | Yes |
|
HEADER | x-reference-id | Yes |
|
PATH | client_id | Yes |
|
PATH | account_number | Yes |
|
BODY | vcc_number |
|
|
BODY | format | Yes |
|
BODY | security_qid | Required for format: security_question |
|
BODY | security_answer | Required for format: security_question |
|
BODY | request_id | Yes for in-store channel |
|
Example Request:
{ "format": "security_question", "security_qid": "6", "security_answer": "Rainbow", "request_id": "12345678901234567890" }
Success Responses:
200 - Success - security_question
{ "verification_code": 6785 }
200 - Success - sms
{ "verification_code": "verification_sent_to_sms" }
200 - Success - email
{ "verification_code": "verification_sent_to_email" }
200 - Success - merchant_override
{ "verification_code": 2485 }
200 - Success - regular_purchase_bypass
{ "verification_code": 4365 }
POST /client-id/{client_id}/customers/driverslicense
https://{posapi_url}/flexiti/pos-api/v2.5/client-id/{client_id}/customers/driverslicense
This endpoint allows the decoding of PDF417 scanned driver license information.
Request Parameters:
Type | Parameter | Required | Details |
---|---|---|---|
HEADER | authorization | Yes |
|
HEADER | x-reference-id | Yes |
|
PATH | client_id | Yes |
|
BODY | code | Yes |
|
Example Request:
{ "code": "@\n\u001e\rANSI\n604428040101 DL00310219DLDCAunavI\nDCBNONE\nDCDNONE\nDBA20200515\nDCSNUMBER1\nDACENSTREAM \nDAD\nDBD20140516\nDBB19740515\nDBCZ\nDAYBLU\nDAU163 cm\nDAG55 UNIVERSITY AVE\nDAITORONTO\nDAJON\nDAKM5J 2H7\nDAQD61014070660905\nDCFPEJK368N4\nDCGCAN\nDDEU\nDDFU\nDDGU\r" }
Success Response:
{ "first_name": "John", "middle_name": "Garry", "last_name": "Smith", "dob": "1974-05-15", "address_1": "123 ANY STREET", "city": "TORONTO", "province": "ON", "postal_code": "M1M 1M1", "govid_type": "CADL", "govid_issuedby": "ON", "govid_number": "D61014070123456", "govid_expiry": "2021-05-15" }
POST /client-id/{client_id}/accounts/{account_number}/calculate-interest
https://{posapi_url}/flexiti/pos-api/v2.5/client-id/{client_id}/accounts/12345/calculate-interest
This endpoint retrieves the plan and term configured for the merchant that can be offered to a customer.
Request Parameters:
Type | Parameter | Required | Details |
---|---|---|---|
HEADER | authorization | Yes |
|
HEADER | x-reference-id | Yes |
|
PATH | client_id | Yes |
|
PATH | account_number | Yes |
|
QUERY | lang |
| |
BODY | amount |
|
Example Request:
{ "amount": 234.45 }
Response Parameters:
Type | Parameter | Details |
---|---|---|
BODY | account_number |
|
BODY | account_type |
|
BODY | amount |
|
BODY | customer.available_credit |
|
BODY | customer.air |
|
BODY | customer.first_name |
|
BODY | customer.last_name |
|
BODY | customer.category_type |
|
BODY | regular_purchase.term_amount |
|
BODY | regular_purchase.air |
|
BODY | regular_purchase.verify |
|
BODY | regular_purchase.fees.description |
|
BODY | regular_purchase.fees.amount |
|
BODY | regular_purchase.fees.type |
|
BODY | regular_purchase.fees.message |
|
BODY | promotional_purchase.plan_id |
|
BODY | promotional_purchase.terms.term |
|
BODY | promotional_purchase.terms.term_amount |
|
BODY | promotional_purchase.terms.apr |
|
BODY | promotional_purchase.terms.fees.description |
|
BODY | promotional_purchase.terms.fees.amount |
|
BODY | promotional_purchase.terms.fees.type |
|
BODY | promotional_purchase.terms.fees.message |
|
Success Response - ROC Customer:
{ "account_number": 11223344, "account_type:" "consumer", "amount": 250, "customer": { "air": 0.289, "available_credit": 8000, "first_name": "John", "last_name": "Smith", "category_type": "preferred" }, "regular_purchase": { "term_amount": 250, "air": 0.289, "fees": [] }, "promotional_purchase": [ { "plan_id": 4, "terms": [ { "term": 3, "term_amount": 20.33, "apr": 0.0999, "fees": [ { "description": "Administrative fees:", "amount": 49.99, "type": "admin_total", "message": "Although your administrative fee may be represented as a monthly or annual amount, the fee is due in full if the account is paid off early. See terms and conditions for full details." } ] } ] }, { "plan_id": 5, "terms": [ { "term": 6, "term_amount": 4.67, "apr": 0, "fees": [ { "description": "Administrative fees:", "amount": 3, "type": "admin_monthly", "message": "Although your administrative fee may be represented as a monthly or annual amount, the fee is due in full if the account is paid off early. See terms and conditions for full details." } ] }, { "term": 12, "term_amount": 3.83, "apr": 0, "fees": [ { "description": "Administrative fees:", "amount": 3, "type": "admin_monthly", "message": "Although your administrative fee may be represented as a monthly or annual amount, the fee is due in full if the account is paid off early. See terms and conditions for full details." } ] } ] } ] }
Success Response - Quebec Customer
{ "account_number": 11223344, "amount": 250, "customer": { "air": 0.3124, "available_credit": 1700, "first_name": "Jacques", "last_name": "Smith", "category_type": "premium" }, "regular_purchase": { "term_amount": 250, "air": 0.3124, "fees": [] }, "promotional_purchase": [ { "plan_id": 5, "terms": [ { "term": 6, "term_amount": 41.67, "apr": 0, "fees": [] }, { "term": 12, "term_amount": 20.83, "apr": 0, "fees": [] } ] }, { "plan_id": 9, "terms": [ { "term": 6, "term_amount": 250, "apr": 0.35, "fees": [] }, { "term": 12, "term_amount": 250, "apr": 0.35, "fees": [] } ] } ] }