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

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

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

...

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


  • number (12)

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

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:

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?"
        },
        {
            "id": "5",
            "text": "What is the country of your ultimate dream vacation?"
        }
    ],
    "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"
}

POST /client-id/{client_id}/account/{account_number}/verify

Code Block
breakoutModewide
https://posapi-training.flexiti.fi/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

  • UTC - ISO_8601 Date

  • The customer’s Date of Birth on file (YYYY-MM-DD)

Response Parameters:

Type

Parameter

Required

Details

BODY

customer_id

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)

  • This is the Customer ID retrieved in any of the available endpoints

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

  • UTC - ISO_8601

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

  • Available values: en-CA, fr-CA

  • Default value: en-CA

Success Response:

Code Block
languagejson
[
    {
        "customer_id": "829825",
        "account_status": "N",
        "account_status_reason_code": "NNOR",
        "tos_agreement"": true,
        "risk_rating": "H",
        "account_number": "116574819",
        "credit_limit": "1000.00",
        "available_credit": "659.51",
        "originating_merchant_id": "11503",
        "originating_merchant_name": "Paris Jewellers",
        "creation_date": "2019-05-15",
        "first_name": "David",
        "last_name": "Morley",
        "card_ending_in": "5941",
        "preferred_language": "fr-CA"
    },
    {
        "customer_id": "829875",
        "account_status": "F",
        "account_status_reason_code": "FLCK",
        "tos": true,
        "risk_rating": "Y",
        "account_number": "116574860",
        "credit_limit": "1000.00",
        "available_credit": "847.00",
        "originating_merchant_id": "11503",
        "originating_merchant_name": "Paris Jewellers",
        "creation_date": "2019-05-15",
        "first_name": "David",
        "last_name": "Morley",
        "card_ending_in": "6457",
        "preferred_language": "en-CA"
    }
]

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:

Code Block
languagejson
{
    "first_name": "John",
    "middle_name": "Grey",
    "last_name": "Doe",
    "dob": "1974-05-15",
    "address_1": "55 UNIVERSITY AVE",
    "city": "TORONTO",
    "province": "ON",
    "postal_code": "M5J 2H7",
    "govid_type": "CADL",
    "govid_issuedby": "ON",
    "govid_number": "D61014070660905",
    "govid_expiry": "2020-05-15"
}

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

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:

Code Block
languagejson
{
    "account_number": 2500,
    "amount": 2500,
    "customer": {
        "air": 0.3724,
        "available_credit": 2000.12,
        "first_name": "Jon",
        "last_name": "Doe",
        "category_type": "preferred"
    },
    "regular_purchase": {
        "term_amount": 250,
        "air": 0.3724,
        "fees": [
            {
                "description": "Admin fee:",
                "amount": 49.99,
                "type": "admin",
                "message": "lorem ipsum"
            }
        ]
    },
    "promotional_purchase": [
        {
            "plan_id": 999,
            "terms": [
                {
                    "term": 10,
                    "term_amount": 250,
                    "apr": 0.1999,
                    "fees": [
                        {
                            "description": "Admin fee:",
                            "amount": 49.99,
                            "type": "admin",
                            "message": "lorem ipsum"
                        }
                    ]
                }
            ]
        }
    ]
}

...