Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 101 Next »

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

  • ASCII string (1000)

  • This is the word “Bearer” with a space and then the access_token given in oauth/token API response

  • Default value: Bearer {insert_bearer_token_from_oauth_here/token_api}

HEADER

x-reference-id

Yes

  • ASCII string (32)

  • GUID

  • Unique identifier for the flow for traceability purposes

PATH

client_id

Yes

  • ASCII string (100)

  • This is the Client ID given in the Developer User Account section

QUERY

first_name

Yes

  • ASCII string (35)

  • The customer’s First Name on file

QUERY

last_name

Yes

  • ASCII string (50)

  • The customer’s Last Name on file

QUERY

dob

Yes

  • ASCII string (10)

  • Format: YYYY-MM-DD

  • The customer’s Date of Birth on file

QUERY

postal_code

No

  • ASCII string (6)

  • The customer’s Postal Code

  • Format: XXXXXX

Response Parameters:

Type

Parameter

Details

BODY

customer_id

  • ASCII string (20)

  • The Customer ID of the account

  • This is not the Account Number

  • The customer ID may return a '-' delimited value for an authorized business customer. in the format of: “[master-cust-id]-[authorized-user-id]”

BODY

account_status

  • ASCII string (1)

  • “N” - Normal (only status that allows Authorizations/Purchases)

  • “A” - Auth Prohibited (Authorizations/Purchases are prohibited due to lack of payment, this status can be reverted automatically by the system)

  • “F” - Frozen (Frozen accounts can NOT make Authorizations/Purchases, this status can only be reverted manually by Operations)

  • “Z” - Charged Off (When accounts do not pay for 6 or more months, the account is written off the Portfolio)

  • “C” - Closed (no longer in use, this represents accounts that are closed and can NOT be brought back to life, there are some old accounts with this status)

BODY

account_status_reason_code

  • ASCII string (4)

  • Possible values: AAUT, FAGN, FBNK, FCCS, FCLC, FCLG, FCQC, FCND, FCOP, FDEC, FDVO, FFRD, FHRD, FIND, FINP, FLCK, FOPD, FPAC, FRMA, FRME, FRVK, FSKP, FSLM, NNOR, ZBNK, ZCCO, ZCCS, ZCOP, ZDEC, ZDVO, ZFRD, ZMCO, ZOPD, ZSLM, ZSRO

BODY

tos_agreement

  • boolean

  • True means the customer accepted the Terms and Conditions

  • False means they have not accepted the Terms and Conditions

BODY

risk_rating

  • ASCII string (4)

  • Risk rating of the Customer

  • Possible values: L, M, H, X, Y, Z, N

    • L - Low - Preferred (Prime Customer, Preferred Account Type)

    • M - Medium - Preferred (Prime Customer, Preferred Account Type)

    • H - High - Premium (Prime Customer, Premium Account Type)

    • X - X-High - Premium (Prime Customer, Premium Account Type)

    • Y - XX-High - Standard (Non-prime Customer)

    • Z - XXX-High - Standard (Non-prime Customer)

    • N - No Rating Assigned

BODY

account_number

  • number (14)

  • The Account Number of the Customer

  • This is not the FlexitiCard number (VCC)

BODY

customer_account_type

  • ASCII string (100)

  • This is the type of account the customer has

BODY

credit_limit

  • number (18,2)

  • Credit limit associated with the Customer’s account

BODY

available_credit

  • number (18,2)

  • Customer’s open to buy

BODY

originating_merchant_id

  • number (10)

  • ID of the Merchant where the customer’s application originated

BODY

originating_merchant_name

  • ASCII string (130)

  • Name of the Merchant where the customer’s application originated

BODY

creation_date

  • ASCII string (10)

  • Date the customer’s account was created

BODY

first_name

  • ASCII string (35)

  • Customer’s First Name

BODY

last_name

  • ASCII string (50)

  • Customer’s Last Name

BODY

card_ending_in

  • number (4)

  • Last 4 digits of the customer account’s primary FlexitiCard Number (VCC)

BODY

preferred_language

  • ASCII string (5)

  • Preferred Language (Locale)

  • Available values: en-CA, fr-CA

  • Default value: en-CA

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

  • ASCII string (40)

  • This is the word “Bearer” with a space and then the access_token given in oauth/token API response

  • Default value: Bearer {insert_bearer_token_from_oauth_here/token_api}

HEADER

x-reference-id

Yes

  • ASCII string (32)

  • GUID

  • Unique identifier for the flow for traceability purposes

PATH

client_id

Yes

  • ASCII string

  • This is the Client ID given in the Developer User Account section

QUERY

lang


  • ASCII string (5)

  • Customer Preferred language

  • Available values: (en=English) or (fr=French)

  • Default value: en

QUERY

vcc_number


  • ASCII string (16)

  • The FlexitiCard Number (VCC) of the Customer

QUERY

account_number


  • number (14)

  • The Account Number of the Customer

  • This is not the FlexitiCard number (VCC)

QUERY

customer_id


  • ASCII string (20)

  • The Customer ID of the Primary Account Holder

  • This is not the Account Number

Response Parameters:

Type

Parameter

Details

BODY

available_credit

  • number (18,2)

  • Customer’s open to buy

BODY

account_number

  • number (14)

  • The Account Number of the Customer

  • his is not the FlexitiCard number (VCC)

BODY

customer_id

  • ASCII string (20)

  • ID of the customer

  • This is not the customer’s Account Number

  • The customer ID may return a '-' delimited value for an authorized business customer. in the format of: “[master-cust-id]-[authorized-user-id]”

BODY

security_qid.id

  • number (5)

  • Customer’s Security Question ID provided by the Customer Lookup service

BODY

security_qid.text

  • ASCII string

  • Customer’s Security Question

BODY

address_1

  • ASCII string (150)

  • Customer Address Line 1

BODY

address_2

  • ASCII string (143)

  • Customer Address Line 2

BODY

city

  • ASCII string (100)

  • Customer City

BODY

postal_code

  • ASCII string (10)

  • Customer Postal Code

BODY

province

  • ASCII string (2)

  • Customer Province (2 character syntax, ex. ON for Ontario)

  • Available values: AB, BC, MB, NB, NL, NS, NT, NU, ON, PE, QC, SK, YT.

BODY

payment_protection

  • boolean

  • Whether the customer has insurance on the account

BODY

risk_rating

  • ASCII string (4)

  • Risk rating of the Customer

  • Possible values: L, M, H, X, Y, Z, N

    • L - Low - Preferred (Prime Customer, Preferred Account Type)

    • M - Medium - Preferred (Prime Customer, Preferred Account Type)

    • H - High - Premium (Prime Customer, Premium Account Type)

    • X - X-High - Premium (Prime Customer, Premium Account Type)

    • Y - XX-High - Standard (Non-prime Customer)

    • Z - XXX-High - Standard (Non-prime Customer)

    • N - No Rating Assigned

BODY

offer_types.plan_name

  • ASCII string

  • Name of the promotional plan available to the customer

BODY

offer_types.plan_id

  • number (3)

  • ID of the promotional plan available to the customer

BODY

offer_types.offer_category

  • ASCII string

  • Category of the promotional plans available to the customer

  • Available values: equal_billing, deferred_payment

BODY

offer_types.term_options

  • number (3)

  • terms of the promotional plan available to the customer

BODY

card_ending_in

  • number (4)

  • Last 4 digits of the customer account’s primary FlexitiCard Number (VCC)

BODY

preferred_language

  • ASCII string (5)

  • Preferred Language (Locale)

  • Available values: en-CA, fr-CA

  • Default value: en-CA

BODY

email

  • ASCII string (75)

  • This will be a masked representation of the customer’s email address

  • This can be used to validate with the email destination with the customer for the dynamic pin on POST /client-id/{client_id}/account/{account_number}/verify (In-store)

BODY

phone_number

  • ASCII string (12)

  • This will be the last four digits of the customer’s phone number, the rest of the digits will be masked

  • This can be used to validate with the sms destination with the customer for the dynamic pin on POST /client-id/{client_id}/account/{account_number}/verify (In-store)

BODY

account_type

  • ASCII string (100)

  • This is the type of account the customer has

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

  • ASCII string (1000)

  • This is the word “Bearer” with a space and then the access_token given in oauth/token API response

  • Default value: Bearer {insert_bearer_token_from_oauth_here/token_api}

HEADER

x-reference-id

Yes

  • ASCII string (32)

  • GUID

  • Unique identifier for the flow for traceability purposes

PATH

client_id

Yes

  • ASCII string (100)

  • This is the Client ID given in the Developer User Account section

PATH

account_number

Yes

  • number (14)

  • This is the Account Number of the Primary Account Holder retrieved in any of the available endpoints

BODY

vcc_number


No

  • ASCII string(16)

  • The FlexitiCard number (VCC) provided by the Customer

  • To be used in a Business Account Authorized User’s purchase, sent with the Primary account Holder’s Account number

BODY

format

Yes

  • ASCII string

  • Verification format to be presented to the Customer

  • Available values: sms, email, merchant_override, security_question, regular_purchase_bypass

  • Default value: sms

BODY

security_qid

Required for format: security_question

  • number (5)

  • Customer’s Security Question ID provided by the Customer Lookup service

BODY

security_answer

Required for format: security_question

  • ASCII string (50)

  • Customer’s response to the Security Question

BODY

request_id

Yes for in-store channel

  • ASCII string (150)

  • This is the identifier for a verification to application/transaction/authorization flow.

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

  • ASCII string (1000)

  • This is the word “Bearer” with a space and then the access_token given in oauth/token API response

  • Default value: Bearer {insert_bearer_token_from_oauth_here/token_api}

HEADER

x-reference-id

Yes

  • ASCII string (32)

  • GUID

  • Unique identifier for the flow for traceability purposes

PATH

client_id

Yes

  • ASCII string (100)

  • This is the Client ID given in the Developer User Account section

BODY

code

Yes

  • ASCII string

  • PDF417 code with driver licence information

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

  • ASCII string (1000)

  • This is the word “Bearer” with a space and then the access_token given in oauth/token API response

  • Default value: Bearer {insert_bearer_token_from_oauth_here/token_api}

HEADER

x-reference-id

Yes

  • ASCII string (32)

  • GUID

  • Unique identifier for the flow for traceability purposes

PATH

client_id

Yes

  • ASCII string (100)

  • This is the Client ID given in the Developer User Account section

PATH

account_number

Yes

  • number (14)

  • The Account Number of the Primary Account Holder

  • his is not the FlexitiCard number (VCC)

QUERY

lang


  • ASCII string (5)

  • Customer Preferred language

  • Available values: (en=English) or (fr=French)

  • Default value: en

BODY

amount

  • number (18,2)

  • Amount of the transaction to calculate interest on

Example Request:

{
    "amount": 234.45
}

Response Parameters:

Type

Parameter

Details

BODY

account_number

  • number (14)

  • The Account Number of the Primary Account Holder

  • This is not the VCC (Flexiti Card)

BODY

account_type

  • ASCII string (100)

  • This is the type of account: consumer or business

BODY

amount

  • number (18,2)

  • Authorization amount

BODY

customer.available_credit

  • number (18,2)

  • Customer’s open to buy

BODY

customer.air

  • number (5,4)

  • air for the customer

BODY

customer.first_name

  • ASCII string (35)

  • Customer’s First Name

BODY

customer.last_name

  • ASCII string (50)

  • Customer’s Last Name

BODY

customer.category_type

  • ASCII string (30)

  • Category related to the customer’s risk rating

  • Possible values: preferred, premium, standard

BODY

regular_purchase.term_amount

  • number (18,2)

  • Value to explain the amount to be paid by month (or a deferred payment)

BODY

regular_purchase.air

  • number (5,4)

  • air for the purchase

BODY

regular_purchase.verify

  • boolean

  • Indicate if a customer can use regular_purchase_bypass as a format on the POST /client-id/{client_id}/account/{account_number}/verify endpoint for a regular revolve purchase.

  • This value will be true if:

    • the account_number being passed has made ≤ 3 regular purchases in the past 24HS; and,

    • the amount on the request is ≤ $200

BODY

regular_purchase.fees.description

  • ASCII string (50)

  • Customer facing label of this fee

BODY

regular_purchase.fees.amount

  • number (18,2)

  • Amount of the fees

BODY

regular_purchase.fees.type

  • ASCII String (20)

  • Denotes if the administrative fee amount is a monthly or total amount

  • Possible values:

    • admin_total

    • admin_monthly

BODY

regular_purchase.fees.message

  • ASCII string (1000)

  • Used to convey information necessary to notify the customer

  • Merchant is obligated to display this to the customer

BODY

promotional_purchase.plan_id

  • number (3)

  • ID of the promotional plan

BODY

promotional_purchase.terms.term

  • number (3)

  • Term of the promotional plan

  • Merchant is obligated to display this to the customer

BODY

promotional_purchase.terms.term_amount

  • number (18,2)

  • Value to explain the amount to be paid by month (or a deferred payment)

    • This will include admin fees

  • Merchant is obligated to display this to the customer

BODY

promotional_purchase.terms.apr

  • number (5,4)

  • It will be a coefficient

  • Merchant is obligated to display this to the customer

BODY

promotional_purchase.terms.fees.description

  • ASCII string (50)

  • Customer facing label of this fee

  • Merchant is obligated to display this to the customer

BODY

promotional_purchase.terms.fees.amount

  • number (18,2)

  • Amount of the fees

  • Merchant is obligated to display this to the customer

BODY

promotional_purchase.terms.fees.type

  • ASCII String (20)

  • Whether the fees displayed are per month or in total

  • Possible values: admin_total, admin_monthly

BODY

promotional_purchase.terms.fees.message

  • ASCII string (1000)

  • Used to convey information necessary to notify the customer

  • Merchant is obligated to display this to the customer

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": []
                }
            ]
        }
    ]
}
  • No labels