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.1/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 | 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" "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" "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}/close
https://{posapi_url}/flexiti/pos-api/v2.5/client-id/{client_id}/accounts/12345/close
This endpoint allows the closure of a QC account.
Request Parameters:
Type | Parameter | Required | Details |
---|---|---|---|
HEADER | authorization | Yes |
|
HEADER | x-reference-id | Yes |
|
PATH | client_id | Yes |
|
PATH | account_number | Yes |
|
Success Response:
200 - Success
{ }
POST /client-id/{client_id}/accounts/{account_number}/calculate-interest
https://{posapi_url}/flexiti/pos-api/v2.5.1/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.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.annual_rates.apr |
*This field is only returned for Equal Monthly Payment type promotional plans, this excludes deferred payment type plans |
BODY | promotional_purchase.terms.annual_rates.air |
*This field is only returned for Deferred payment type promotional plans, this excludes Equal Monthly Payment type plans |
BODY | promotional_purchase.terms.annual_rates.message |
|
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, "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." } ], "annual_rates": { "apr": 0.0999, "message": "Promotional annual interest rate applies during the promotional period and is included in your estimated monthly payments. Account annual interest rate is charged if the promo is cancelled or expires without full payment and applies when promos are not in effect." } } ] }, { "plan_id": 5, "terms": [ { "term": 6, "term_amount": 4.67, "fees": [], "annual_rates": { "apr": 0, "message": "Promotional annual interest rate applies during the promotional period and is included in your estimated monthly payments. Account annual interest rate is charged if the promo is cancelled or expires without full payment and applies when promos are not in effect." } }, { "term": 12, "term_amount": 3.83, "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." } ], "annual_rates": { "apr": 0, "message": "Promotional annual interest rate applies during the promotional period and is included in your estimated monthly payments. Account annual interest rate is charged if the promo is cancelled or expires without full payment and applies when promos are not in effect." } } ] } ] }
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, "fees": [], "annual_rates": { "apr": 0, "message": "Promotional annual interest rate applies during the promotional period and is included in your estimated monthly payments. Account annual interest rate is charged if the promo is cancelled or expires without full payment and applies when promos are not in effect." } }, { "term": 12, "term_amount": 20.83, "apr": 0, "fees": [] } ] }, { "plan_id": 9, "terms": [ { "term": 6, "term_amount": 250, "fees": [], "annual_rates": { "air": 0, "message": "Promotional annual interest rate applies during the promotional period and is included in your estimated monthly payments. Account annual interest rate is charged if the promo is cancelled or expires without full payment and applies when promos are not in effect." } }, { "term": 12, "term_amount": 250, "fees": [], "annual_rates": { "air": 0, "message": "Promotional annual interest rate applies during the promotional period and is included in your estimated monthly payments. Account annual interest rate is charged if the promo is cancelled or expires without full payment and applies when promos are not in effect." } } ] } ] }