Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Endpoints: Customers

These are all of the Endpoints required to identify or interact with Customers.

Table of Contents

...

GET /client-id/{client_id}/customers/

...

search

Code Block
https://posapi-training.flexiti.fi{posapi_url}/flexiti/pos-api/v2.5/client-id/flexitidemo{client_id}/customers/lookup?vcc_number=1234123412341234

or

Code Block
https://posapi-training.flexiti.fi/flexiti/pos-api/v2.5/client-id/flexitidemo/customers/lookup?account_number=123456789

or

Code Block
https://posapi-training.flexiti.fi/flexiti/pos-api/v2.5/client-id/flexitidemo/customers/lookup?customer_id=123456789

This service allows the Merchant to gather the Customer information by providing any of the following:

  • a VCC number

  • an Account Number

  • a Customer ID

If you lookup via the VCC, the response will return the account the VCC belongs to.

Request Parameters:

...

Type

...

Parameter

...

Required

...

Details

...

HEADER

...

bearer token

...

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}

...

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 Flexiti Card Number of the Customer

  • This is the VCC (Flexiti Card)

...

QUERY

...

account_number

...

  • number (14)

  • The Account Number of the Customer

  • This is not the VCC (Flexiti Card)

...

QUERY

...

customer_id

...

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:

...

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, XH, XXH, XXXH

    • L - Low

    • M - Medium

    • H - High

    • XH - X-High

    • XXH - XX-High

    • XXXH - XXX-High

...

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

...

preferred_language

...

  • ASCII string (5)

  • Preferred Language (Locale)

  • Available values: en-CA, fr-CA

  • Default value: en-CA

Success Response:

...

languagejson

...

Type

Parameter

Details

BODY

customer_id

  • ASCII string (20)

  • The Customer ID of the account

  • This is not the Account Number

Response Parameters:

...

Type

...

Parameter

...

Required

...

Details

...

BODY

...

available_credit

...

  • number (18,2)

  • Customer’s open to buy

...

BODY

...

account_number

...

  • number (14)

  • The Account Number of the Customer

  • This is not the VCC (Flexiti Card)

...

BODY

...

customer_id

...

  • number (12)

  • ID of the customer

  • This is not the customer’s Account Number

...

BODY

...

security_qid.id

...

  • ASCII string

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

...

BODY

...

security_qid.text

...

  • ASCII string

  • Customer’s Security Question

...

BODY

...

email

...

  • ASCII string (100)

  • Customer Email

...

BODY

...

phone_number

...

  • ASCII string (10)

  • Customer Mobile Phone Number

...

BODY

...

address_1

...

  • ASCII string (250)

  • Customer Address Line 1

...

BODY

...

address_2

...

  • ASCII string (100)

  • 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.

  • 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, P, Q, R, S

    • 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)

    • P - XX-High - High (Non-prime Customer)

    • Q - XX-High - Very Low (Non-prime Customer)

    • R - XX-High - Low (Non-prime Customer)

    • S - XX-High - Medium (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:

Code Block
languagejson
[
    {
        "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

Code Block
breakoutModewide
https://posapi-training.flexiti.fi{posapi_url}/flexiti/pos-api/v2.5/client-id/flexitidemo/account/12345678/verify

This endpoint allows you to verify a Customer using one of the four available verification methods, depending on the "format" specified in the body.

Request Parameters:

...

Type

...

Parameter

...

Required

...

Details

...

HEADER

...

bearer token

...

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}

...

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 Customer ID retrieved in any of the available endpoints

...

BODY

...

format

...

Yes

...

  • ASCII string

  • Verification format to be presented to the Customer

  • Available values: sms, email, merchant_override, security_question

  • 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

Example Request:

Code Block
languagejson
{
  "format": "security_question",
  "security_qid": "6",
  "security_answer": "Tool"
}

Success Responses:

200 - Success - Override
Code Block
{
  "verification_code": 2485
}
200 - Success - SMS
Code Block
{
    "verification_code": "verification_sent_to_sms"
}
200 - Success - Email
Code Block
{
    "verification_code": "verification_sent_to_email"
}

GET /client-id/{client_id}/customers/search

Code Block
https://posapi-training.flexiti.fi/flexiti/pos-api/v2.5/client-id/flexitidemo/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

...

bearer token

...

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}

...

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 (80)

  • The customer’s First Name on file

...

QUERY

...

last_name

...

Yes

...

  • ASCII string (130)

  • 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

Response Parameters:

...

Type

...

Parameter

...

Required

...

Details

...

BODY

...

customer_id

...

  • number (12)

  • The Customer ID of the account

  • This is not the Account Number

...

BODY

...

account_status

...

  • ASCII string (1)

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

  • “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, XH, XXH, XXXH

    • L - Low

    • M - Medium

    • H - High

    • XH - X-High

    • XXH - XX-High

    • XXXH - XXX-High

...

BODY

...

account_number

...

  • number (14)

  • The Account Number of the Customer

  • This is not the VCC (Flexiti Card)

...

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 (80)

  • Customer’s First Name

...

BODY

...

last_name

...

  • ASCII string (130)

  • Customer’s Last Name

...

BODY

...

card_ending_in

...

  • number (4)

  • Last 4 digits of the customer’s VCC Number

...

BODY

...

preferred_language

...

ASCII string (5)

...

Preferred Language (Locale)

{client_id}/customers/lookup?vcc_number=1234123412341234

or

Code Block
breakoutModewide
https://{posapi_url}/flexiti/pos-api/v2.5/client-id/{client_id}/customers/lookup?account_number=123456789

or

Code Block
breakoutModewide
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)

    • P - XX-High - High (Non-prime Customer)

    • Q - XX-High - Very Low (Non-prime Customer)

    • R - XX-High - Low (Non-prime Customer)

    • S - XX-High - Medium (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

...

languagejson

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:

Code Block
languagejson
{
    "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",
    

...

POST /client-id/{client_id}/customers/driverslicense

Code Block
https://posapi-training.flexiti.fi/flexiti/pos-api/v2.5/client-id/flexitidemo/customers/driverslicense

This endpoint allows the decoding of PDF417 scanned driver license information.

Request Parameters:

...

Type

...

Parameter

...

Required

...

Details

...

HEADER

...

bearer token

...

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}

...

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 Block
languagejson
{
    "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:

...

languagejson

...

"phone_number": "***-***-2222",
    "account_type": "consumer"
}

Successful Response (Authorized user of business card):

Code Block
{
    "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": "

...

POST /client-id/{client_id}/accounts/{account_number}/close

Code Block
https://posapi-training.flexiti.fi/flexiti/pos-api/v2.5/client-id/flexitidemo/accounts/12345/close

This endpoint allows the closure of a QC account.

Request Parameters:

...

Type

...

Parameter

...

Required

...

Details

...

HEADER

...

bearer token

...

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}

...

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 Customer to be closed

Success Response:

200 - Success
Code Block
{
}

POST /pos-api/client-id/{client_id}/accounts/{account_number}/calculate-interest

Code Block
https://posapi-training.flexiti.fi/flexiti/pos-api/v2.5/client-id/flexitidemo/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

...

bearer token

...

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}

...

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 Customer

  • This is not the VCC (Flexiti Card)

...

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:

Code Block
{
    "amount": 234.45
}

Response Parameters:

...

Type

...

Parameter

...

Required

...

Details

...

BODY

...

account_number

...

  • number (14)

  • The Account Number of the Customer

  • This is not the VCC (Flexiti Card)

...

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 (80)

  • Customer’s First Name

...

BODY

...

customer.last_name

...

  • ASCII string (130)

  • Customer’s Last Name

...

BODY

...

customer.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.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)

  • Possible values: Admin, Annual

...

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)

  • 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)

  • Possible values: Admin, Annual

...

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:

...

languagejson

...

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

Code Block
breakoutModewide
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:

Code Block
languagejson
{
  "format": "sms",
  "request_id": "12345678901234567890"
}

Success Responses:

200 - Success - security_question
Code Block
{
  "verification_code": 6785
}
200 - Success - sms
Code Block
{
    "verification_code": "verification_sent_to_sms"
}
200 - Success - email
Code Block
{
    "verification_code": "verification_sent_to_email"
}
200 - Success - merchant_override
Code Block
{
  "verification_code": 2485
}
200 - Success - regular_purchase_bypass
Code Block
{
  "verification_code": 4365
}

...

POST /client-id/{client_id}/customers/driverslicense

Code Block
breakoutModewide
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 Block
languagejson
{
    "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:

Code Block
languagejson
{
    "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

Code Block
breakoutModewide
https://{posapi_url}/flexiti/pos-api/v2.5.1/client-id/{client_id}/accounts/12345/calculate-interest

NOTE: the /calculate-interest endpoint has been updated to version 2.5.1, reflected in the URI.

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:

Code Block
{
    "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.plan_name

  • ASCII string

  • Name of the promotional plan available to the customer

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.annual_rates.description

  • ASCII string

  • Customer facing long-form label of this interest rate

  • Merchant can choose to display either this field or the short-form label to the customer

BODY

promotional_purchase.terms.annual_rates.rate

  • number (5, 4)

  • Applicable interest rate presented in decimal form

  • Merchant is obligated to display this rate to the customer

BODY

promotional_purchase.terms.annual_rates.type

  • ASCII string

  • Customer facing short-form label of the interest rate

  • Merchant can choose to display either this field or the long-form label to the customer

  • Possible values: “APR”, “AIR” depending on the plan type / plan_id

BODY

promotional_purchase.terms.annual_rates.message

  • ASCII string (1000)

  • Used to convey legal disclaimer necessary to notify the customer about their promotional plan

  • Merchant is obligated to display this to the customer within 1-click away from the plan selection

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:

Code Block
breakoutModewide
languagejson
{
    "account_number": 116994755,
    "account_type": "consumer",
    "amount": 10.5,
    "customer": {
        "air": 0.3099,
        "available_credit": 14000,
        "first_name": "Flexiti",
        "last_name": "MITester",
        "category_type": "preferred"
    },
    "regular_purchase": {
        "term_amount": 10.5,
        "air": 0.3099,
        "fees": [],
        "verify": true
    },
    "promotional_purchase": [
        {
            "plan_id": 4,
            "plan_name": "EMP - Regular Interest"
            "terms": [
                {
                    "term": 3,
                    "term_amount": 3.56,
                    "fees": [],
                    "annual_rates": {
                        "description": "Annual Promotional Interest Rate:",
                        "rate": 0.0999,
                        "type": "APR",
                        "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": 6,
                    "term_amount": 10.38,
                    "fees": [
                        {
                            "description": "Administrative fees:",
                            "amount": 50,
                            "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": {
                        "description": "Annual Promotional Interest Rate:",
                        "rate": 0.0999,
                        "type": "APR",
                        "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": 5.32,
                    "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": {
                        "description": "Annual Promotional Interest Rate:",
                        "rate": 0.0999,
                        "type": "APR",
                        "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

Code Block
breakoutModewide
languagejson
{
    "account_number": 116994859,
    "account_type": "consumer",
    "amount": 10.5,
    "customer": {
        "air": 0.3099,
        "available_credit": 13500,
        "first_name": "Flexiti",
        "last_name": "MITester",
        "category_type": "preferred"
    },
    "regular_purchase": {
        "term_amount": 10.5,
        "air": 0.3099,
        "fees": [],
        "verify": true
    },
    "promotional_purchase": [
        {
            "plan_id": 4,
            "plan_name": "EMP - Regular Interest"
            "terms": [
                {
                    "term": 3,
                    "term_amount": 3.56,
                    "fees": [],
                    "annual_rates": {
                        "description": "

...

Annual Promotional Interest Rate:",
                        "

...

rate": 

...

0.

...

0999,
                

...

 

...

       "type": "APR",
        

...

 

...

 

...

             

...

 "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

...

": 

...

6,
                    "

...

term_amount": 

...

1.

...

8,
                    "fees": [],
                    

...

"annual_rates": {
                        

...

"description":

...

 "Annual Promotional Interest Rate:",

...


                        "

...

rate": 

...

0.

...

0999,

...


                        

...

"type": "

...

APR",
                        

...

"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."
                    

...

}
                }
            ]
        }
    ]
}