NAV
shell

Preferred Lease Order Creation

This portal describes the process for creating orders for Preferred Lease utilizing our Merchant Portal Process.

The process flow is different based on a customer facing application such as a website and a non-customer facing application such as a merchant point of sale.

Authentication

To authorize, use this code:

# With shell, you can just pass the correct header with each request
curl "https://merchant-portal-test.test-racapi.com/api/token" 
  -H "Authorization: devkey"

Make sure to replace meowmeowmeow with your API key.

• Token URLs is secured by basic authentication

• Production credentials will be provided by RAC team.

• Token returned by token API should be send as Authorization header for each API call.

• The token will expire after a certain amount of time not being used so you will need to code for an expired token.

Ecommerce

Approval Decision

curl --location --request POST 'https://merchant-portal-test.test-racapi.com/api/customer/getApprovalDecision/ecom' \
--header 'Content-Type: application/json' \
--header 'correlationid: asdf123' \
--data-raw '{
    "ADSRequest": {
        "MessageID": "12345",
        "MessageType": "CMS005",
        "MessageDTS": "2015-02-16-14:30:15:000633",
        "MessageDTSTZOffset": "-06:00",
        "Revision": "3.3",
        "RegionID": "1",
        "ClientID": "8",
        "ClientLocationNumber": "09327",
        "ClientSource": "1",
        "ClientOriginator": "1",
        "LocationNumber": "09327",
        "LocationFlow": "0",
        "ApprovalFlowType": "1",
        "EncryptionMethod": "0",
        "Body": {
            "ApprovalDecisionRequest": {
                "LanguagePreference": "1",
                "CustomerID": "564789",
                "CustomerAccountID ": "564789",
                "CreateCustomerFlag": "0",
                "PrefillFlag": "1",
                "AuthFlag": "1",
                "KBAResults": [
                    {
                        "KBAPassFlag": "1",
                        "KBAScore": "780",
                        "KBACaseID": "649c6036-0b26-4bad-8561-09f5fd03fb88|abab6cad-3b52-43cd-ba21-934e2c08df23"
                    }
                ],
                "VendorID": "BIG SANDY SUPERSTORE",
                "BankingInfo": {
                    "AccountType": "1",
                    "AccountNumber": "010987654323",
                    "RoutingNumber": "12345678",
                    "AccountValidated": "1"
                },
                "IDInfo": {
                    "IDType": "1",
                    "IssuingStateProvince": "GA",
                    "IDNumber": "308494386",
                    "NationalIDNumber": "111468673",
                    "DateOfBirth": "19751225",
                    "LastName": "Machesky",
                    "FirstName": "PatiCRTNK",
                    "MiddleName": "K",
                    "Address1": "1445 Allens Bridge",
                    "Address2": "Apt 201",
                    "City": "Greeneville",
                    "StateProvince": "TN",
                    "PostalCode": "37743",
                    "Country": "USA",
                    "Email": "ayghosa@yahoo.com",
                    "LengthOfResidence": "5",
                    "ResidenceType": "2",
                    "LandlordFirstName": "Landlord_FirstName ",
                    "LandlordLastName": "Landlord_LastName ",
                    "LandlordAddress1": "5500 Headquarters Drive",
                    "LandlordAddress2": "11",
                    "LandlordApartmentNumber": "234",
                    "LandlordPOBox": "1",
                    "LandlordCity": "Plano",
                    "LandlordStateProvince": "TX",
                    "LandlordPostalCode": "75024",
                    "LandlordPhoneNumber": "1234567891",
                    "PrimaryPhone": "5131235432",
                    "PrimaryPhoneType": "1",
                    "BestTimeToCall": "3",
                    "SecondaryPhone": "2704429041",
                    "SecondaryPhoneType": "2"
                },
                "IncomeInfo": {
                    "PrimarySourceOfIncome": "1",
                    "Employer": "Enterprise",
                    "JobTitle": " Job_Title ",
                    "EmployerAddress": "123 Main Street",
                    "EmployerPOBox": "7530",
                    "EmployerCity": "Plano",
                    "EmployerStateProvince": "TX",
                    "EmployerPostalCode": "75024",
                    "EmployerPhone": "9725551212",
                    "EmployerPhoneExtension": "1324",
                    "EmployerDoNotVisit": "1",
                    "EmployerDepartment": "HR",
                    "ShiftStartTime": "09:00",
                    "ShiftEndTime": "17:30",
                    "SupervisorFirstName": "Mike",
                    "SupervisorLastName": "Brown",
                    "LengthOfEmployment": "19",
                    "EmploymentStartDate": "20130610",
                    "MonthlyIncome": "4000",
                    "Schedule": "1",
                    "DaysPaid": "2"
                },
                "ReferenceInfo": [
                    {
                        "FirstName": "TENCHAR",
                        "LastName": "Matthews",
                        "Phone": "9725562323",
                        "Relationship": "1"
                    },
                    {
                        "FirstName": "Janet",
                        "LastName": "Matthews",
                        "Phone": "9725542100",
                        "Relationship": "1"
                    },
                    {
                        "FirstName": "Todd",
                        "LastName": "Smith",
                        "Phone": "5131335400",
                        "Relationship": "7"
                    }
                ]
            }
        }
    }
}'

The above command returns JSON structured like this:

{
  "ADSResponse": {
    "MessageID": "12345",
    "MessageType": "CMS105",
    "MessageDTS": "2015-12-23-12:17:58:000539",
    "MessageDTSTZOffset": "-06:00",
    "Revision": "3.3",
    "RegionID": "1",
    "ClientID": "8",
    "ClientLocationNumber": "09327",
    "ClientSource": "1",
    "ClientOriginator": "1",
    "LocationFlow": "0",
    "LocationNumber": "09327",
    "EncryptionMethod": "0",
    "StatusCode": "200",
    "StatusCodeDetail": "Success",
    "Body": {
"ApprovalDecisionResponse":    
{
         "MinimumApprovalAmount": "300",
        "ApprovalAmount": "3500",
        "OriginalApprovalAmount": "3500",
        "ApprovalExpirationDate": "2020-10-18",
        "CustomerID": "1213594",
        "ApprovalID": "1199744",
        "ApprovalResponse": "1"
}
    }
  }
}

Get Approval Decision for new customer (ADS)

ADS enables RAC partners to request a pre-approval option for Rent-To-Own or Lease Purchase opportunities, and add prospective customers into RAC’s back-end systems as leads to maximize business opportunities for both parties.

ADS is used to push consumer applicant application information for consideration for lease-to-purchase agreements. The service consumer may request that a real-time pre-approval be performed for the applicant. If so, an approval status, expiration date, amount (if applicable), and approval ID are included in the response.

Consumers of ADS may include Point of Sale (POS), eCommerce, Kiosks, and mobile devices.

• The customer information such as name, address, employment, etc should be collected and passed to the API

• The customer information will be validated and a decision will be returned: approved, declined or pending. A pending decision means more information is needed from the customer.

• A customer record will be created or updated if the customer already exists.

• A Customer ID and Location Number (store number) will be returned and needs to be sent in subsequent calls

HTTP Request

POST https://merchant-portal-test.test-racapi.com/api/customer/getApprovalDecision/ecom

Status Code Definition

This table defines the status code, cause, and suggested course of action when the code is received. See Appendix forexamples.

Status Code Category Name Status Cause Suggested Course of Action
200 Successful Message Success Successful transaction, no action needed
--- --- --- ---
400 Client Exception Bad request Make correction and resubmit request
401 Client Exception Unauthorized Verify user name and password
404 Client Exception Operation not found Verify the MessageType requested, verify defined values sent and resubmit request
405 Client Exception Not Allowed Resubmit request, service unavailable
422 Client Exception Bad encryption Make corrections and resubmit request
500 System Exception Internal Server Error Resubmit request, server unavailable
503 System Exception Service unavailable Resubmit request, error occurred while connecting to the target system
504 System Exception Gateway timeout Resubmit request, timeout occurred while connecting to the target system
505 System Exception Version/Schema not supported Verify version or schema submitted, resubmit with updated version and/or correct schema
999 System Exception System down for Maintenance Resubmit when service is engaged

Request Header

_ Table 4‑1 Request Header _

Field Name Required Format Length Notes
MessageID Required Text 15 Unique ID generated by the client and sent with the request
--- --- --- --- ---
MessageType Required Text 6 Type of the Message (see Table 6-2 MessageType)
MessageDTS Required Text 30 yyyy-MM-dd-HH:mm:ss:SSSSSSOperational date (see section 2.2.1)
MessageDTSTZOffset Required Text 6 +/-hh:mm
Revision Required Text 16 Major.Minor version of schema for MessageType
RegionID Required Numeric 2 Client's Region (see Table 6-1 RegionID)
ClientID Required Numeric 8 RAC assigned client number for Client Name.
ClientLocationNumber Optional Text 30 Clients Location or Store number
ClientSource Required Numeric 2 Kiosk/POS/Web (see Table 6-13 ClientSource)
ClientOriginator Required Numeric 8 Platform RAC assigned Client Originator Number
LocationNumber Optional Text 10 RAC assigned "location number"Example: 5 digit, left-padded w/zeroes
LocationFlow Required Numeric 2 Business Flow (see Table 6-14 LocationFlow)
ApprovalFlowType Required Numeric 2 Type of approval requesting (see Table 6-3 ApprovalFlowType)
EncryptionMethod Required Numeric 2 Encryption method sent (see Table 6-11 Encryption)

Request Message

_ Table 4‑2 Request Message _

Field Name Required Format Length Notes
Body
--- --- --- --- ---
ApprovalDecisionRequest
VendorID Required Text 60 RAC assigned Vendor Id
LanguagePreference Optional Text 2 See Table 6-5 Language Preference for values
CustomerID Optional Text 15 RAC assigned customer number
CustomerAccountID Optional Text 15 RAC assigned account number
CreateCustomerFlag Optional Numeric 1 Valid Value: 0 for Do Not Create New, 1 for Create NewDefault is '0', not applicable if CustomerID not provided
PrefillFlag Optional Text 1 Indicates customer data populated from payfone0-false, 1-true
AuthFlag Optional Text 1 Indicates customer was authenticated by payfone0-false, 1-true
DobChanged Optional Text 1 Indicates customer changed date of birth0-false, 1-true
AddressChanged Optional Text 1 Indicates customer changed address0-false, 1-true
NameChanged Optional Text 1 Indicates customer changed name0-false, 1-true
KBAResults Optional
KBA Result Array, 0-to-Many
KBAPassFlag Optional Text 1 KBA Result from 3rd party:0 – Error from 3rd party1 – Pass3 – Fail
KBAScore Optional Text 8 Indicates knowledge based authentication score
KBACaseID Optional Text 100 KBA Case Identifier to send to DE
BankingInfo
If sending one, you must send both RoutingNumber and AccountNumber
AccountType Optional Numeric 2 See Table 6-20 Account type for values
RoutingNumber Optional* Text 9 Banking account routing number*Required if ApprovalFlowType is '2'
AccountNumber Optional* Text 17 Banking account number*Required if ApprovalFlowType is '2'
AccountValidated Optional Numeric 1 Valid Value: 1 for True or 0 for False
IDInfo
IDType Required Text 2 See Table 6-6 IDType for values
IssuingStateProvince Optional* Text 2 For US, use 2 char abbreviation*Required if sending IDType value as 1 or 2
IDNumber Required Text 25 IDNumber for the respective IDType
NationalIDNumber Required Text 9 USA use SSN 999999999 (no "-")
DateOfBirth Required Numeric 8 YYYYMMDD (no "-" or "/" )
LastName Required Text 30 Applicants Last Name
FirstName Required Text 30 Applicants First Name
MiddleName Optional Text 30 Applicants Middle Name
Address1 Required Text 100
Address2 Optional Text 100
City Required Text 20
StateProvince Required Text 2 For US, use 2 char abbreviation
PostalCode Required Text 9 No '-' for extended postal codes
Country Optional Text 3 Use 3 character International Country Code table for values
LengthOfResidence Optional Numeric 2 See Table 6-12 LengthOfResidence for values
ResidenceType Optional Numeric 2 See Table 6-19 Residence Type for values
LandlordFirstName Optional* Text 30 *If sending any Landlord info, you must send all Landlord elements; LandlordFirstName, LandlordLastName, LandlordPhone, LandlordAddress1 or LandlordPOBox, LandlordCity, LandlordStateProvince, LandlordPostalCode.
LandlordLastName Optional* Text 30 *If sending any Landlord info, you must send all Landlord elements; LandlordFirstName, LandlordLastName, LandlordPhone, LandlordAddress1 or LandlordPOBox, LandlordCity, LandlordStateProvince, LandlordPostalCode.
LandlordPhoneNumber Optional* Text 10 *If sending any Landlord info, you must send all Landlord elements; LandlordFirstName, LandlordLastName, LandlordPhone, LandlordAddress1 or LandlordPOBox, LandlordCity, LandlordStateProvince, LandlordPostalCode.
LandlordAddress1 Optional* Text 50 *If sending any Landlord info, you must send all Landlord elements; LandlordFirstName, LandlordLastName, LandlordPhone, LandlordAddress1 or LandlordPOBox, LandlordCity, LandlordStateProvince, LandlordPostalCode.
LandlordAddress2 Optional Text 30
LandlordApartmentNumber Optional Numeric 6
LandlordPOBox Optional* Numeric 6 *If sending any Landlord info, you must send all Landlord elements; LandlordFirstName, LandlordLastName, LandlordPhone, LandlordAddress1 or LandlordPOBox, LandlordCity, LandlordStateProvince, LandlordPostalCode.
LandlordCity Optional* Text 20 *If sending any Landlord info, you must send all Landlord elements; LandlordFirstName, LandlordLastName, LandlordPhone, LandlordAddress1 or LandlordPOBox, LandlordCity, LandlordStateProvince, LandlordPostalCode.
LandlordStateProvince Optional* Text 2 *If sending any Landlord info, you must send all Landlord elements; LandlordFirstName, LandlordLastName, LandlordPhone, LandlordAddress1 or LandlordPOBox, LandlordCity, LandlordStateProvince, LandlordPostalCode.
LandlordPostalCode Optional* Text 9 *If sending any Landlord info, you must send all Landlord elements; LandlordFirstName, LandlordLastName, LandlordPhone, LandlordAddress1 or LandlordPOBox, LandlordCity, LandlordStateProvince, LandlordPostalCode.
Email Required Text 50 Fully qualified email address
PrimaryPhone Required Text 10 Includes Country (no "–" or "( )")
PrimaryPhoneType Optional Text 2 See Table 6-7 PhoneType for values
BestTimeToCall Optional Text 2 See Table 6-10 BestTimeToCall for values
SecondaryPhone Optional Text 10 Includes Country (no "–" or "( )")
If sending one, you must send both SecondaryPhone and SecondaryPhoneType
SecondaryPhoneType Optional Text 2 See Table 6-7 PhoneType for valuesIf sending one, you must send both SecondaryPhone and SecondaryPhoneType
IncomeInfo
PrimarySourceOfIncome Required Text 2 See Table 6-8 PrimarySourceOfIncome for values
Employer Required* Text 50 *Only Required IF, My Job or Self Employed selected as Primary Source of Income
JobTitle Optional Text 60
EmployerAddress Optional Text 30
EmployerPOBox Optional Text 6
EmployerCity Optional Text 20
EmployerStateProvince Optional Text 2 For US, use 2 char abbreviation
EmployerPostalCode Optional Text 9
EmployerPhone Required* Text 10 Includes Country (no "–" or "( )")
*Only Required IF, My Job or Self Employed selected as Primary Source of Income
EmployerPhoneExtension Optional Numeric 6
EmployerDoNotVisit Optional Numeric 1 Valid Value: 1 for True or 0 for False
EmployerDepartment Optional Text 16
ShiftStartTime Optional Text 5 24-hour format, 15 minute intervals
(00-23):(00, 15, 30, 45)Example: 09:00
ShiftEndTime Optional Text 5 24-hour format, 15 minute intervals
(00-23):(00, 15, 30, 45)Example: 17:30
SupervisorFirstName Optional Text 30 First name of the applicants supervisor
SupervisorLastName Optional Text 30 Last name of the applicants supervisor
LengthOfEmployment Optional** Numeric 5 Calculated in Months**either LengthOfEmployment or EmploymentStartDate are required *Only Required IF, My Job or Self Employed selected as Primary Source of Income
EmploymentStartDate Optional** Numeric 8 YYYYMMDD (no "-" or "/" )**either LengthOfEmployment or EmploymentStartDate are required *Only Required IF, My Job or Self Employed selected as Primary Source of Income
MonthlyIncome Required Numeric 10 9999999.99
Schedule Optional Numeric 2 See Table 6-15 Schedule for values
DaysPaid Optional* Numeric 2 See Table 6-16, 6-17, 6-18 DaysPaid for values*Required when Schedule is sent, except when Schedule value is Daily.
ReferenceInfo
Repeating. If sending ReferenceInfo, you must send all four elements; First Name, Last Name, Phone and Relationship
FirstName Optional Text 30 First Name of Reference
LastName Optional Text 30 Last Name of Reference
Phone Optional Text 10 Includes Country (no "–" or "( )")
Relationship Optional Text 2 See Table 6-9 Relationship for values

Response Header

* When receiving a StatusCode other than '200', some required fields may not be populated.

_ Table 4‑3 Response Header _

Field Name * Required Format Length Notes
MessageID Required Text 15 Unique ID generated by the client and sent with the request
--- --- --- --- ---
MessageType Required Text 6 Type of the Message,(see Table 6-2 Message Type)
MessageDTS Required Text 30 yyyy-MM-dd-HH:mm:ss:SSSSSSOperational date (seesection 2.2.1)
MessageDTSTZOffset Required Text 6 +/-hh:mm
Revision Required Text 16 Major.Minor version of schema for MessageType
RegionID *Required Numeric 2 Client's Region (see Table 6-1 RegionID)
ClientID *Required Numeric 8 Client NameThe RAC assigned client number. Platform integration see 3.4.4 for Multiple Client IDs.
ClientLocationNumber Required Text 30 Clients Location or Store number
ClientSource Required Numeric 2 Waterfall/POS/Web (see Table 6-13 ClientSource)
ClientOriginator Required Numeric 8 Platform RAC assigned Client Originator Number
LocationNumber Required Text 10 RAC assigned "location number"Example: 5 digit, left-padded w/zeroes
LocationFlow Required Numeric 2 Business Flow (see Table 6-14 LocationFlow)
EncryptionMethod Required Numeric 2 Encryption method sent (see Table 6-11 EncryptionMethod)
StatusCode Required Text 4 Status Code returned to Client (see Table 2-1)
StatusCodeDetail Optional Text 128 Status Code Detail returned to Client

Response Message

* When receiving a StatusCode other than '200', some required fields may not be populated.

Field Name * Required Format Length Notes
Body
--- --- --- --- ---
Approval DecisionResponse
MinimumApprovalAmount Required Numeric 6 Minimum Approved Amount, round to dollars (or localized currency) with no decimals
ApprovalAmount Required Numeric 6 Amount Approved, round to dollars (or localized currency) with no decimals
OriginalApprovalAmount Required Numeric 6 Original Amount Approved, round to dollars (or localized currency) with no decimals
ApprovalExpirationDate Optional Text 10 yyyy-MM-dd Functional date (see section 2.3.2)
CustomerID Optional Text 15 RAC assigned customer number
ApprovalID Optional Text 20 Approval ID generated by Decision Service
ApprovalResponse Required Text 2 Approval response type (see Table 6-4 ApprovalResponse)
ValidationRequired Optional
Additional validation required needed to promote to Approval. Array, 0..1
ValidationType Required Numeric 2 Validation Type, Table 6-21

Request Header

Field Name Required Format Length Notes
MessageID Required Text 15 Unique ID generated by the client and sent with the request
--- --- --- --- ---
MessageType Required Text 6 Type of the Message (see Table 6-2 MessageType)
MessageDTS Required Text 30 yyyy-MM-dd-HH:mm:ss:SSSSSSOperational date (see section 2.2.1)
MessageDTSTZOffset Required Text 6 +/-hh:mm
Revision Required Text 16 Major.Minor version of schema for MessageType
RegionID Required Numeric 2 Client's Region (see Table 6-1 RegionID)
ClientID Required Numeric 8 RAC assigned client number for Client Name.
ClientLocationNumber Required Text 30 Clients Location or Store number
ClientSource Required Numeric 2 Kiosk/POS/Web (see Table 6-13 ClientSource)
ClientOriginator Required Numeric 8 Platform RAC assigned Client Originator Number
LocationNumber Required Text 10 RAC assigned "location number"Example: 5 digit, left-padded w/zeroes
LocationFlow Required Numeric 2 Business Flow (see Table 6-14 LocationFlow)

Request Message

Field Name Required Format Length Notes
ApprovalFlowType Required Numeric 2 Type of approval requesting (see Table 6-3 ApprovalFlowType)
--- --- --- --- ---
EncryptionMethod Required Numeric 2 Encryption method sent (see Table 6-11 Encryption)
Body
ApprovalDecisionRequest
VendorID Required Text 60 RAC assigned Vendor Id
LanguagePreference Optional Numeric 2 See Table 6-5 Language Preference for values
CustomerID Optional Text 15 RAC assigned customer number
CustomerAccountID Optional Text 15 RAC assigned account number
CreateCustomerFlag Optional Numeric 1 Valid Value: 0 for Do Not Create New, 1 for Create NewDefault is '0', not applicable if CustomerID not provided
PrefillFlag Optional Numeric 1 Indicates customer data populated from payfone0-false, 1-true
AuthFlag Optional Numeric 1 Indicates customer was authenticated by payfone0-false, 1-true
DobChanged Optional Numeric 1 Indicates customer changed date of birth0-false, 1-true
AddressChanged Optional Numeric 1 Indicates customer changed address0-false, 1-true
NameChanged Optional Numeric 1 Indicates customer changed name0-false, 1-true
KBAResults Optional
KBA Result Array, 0-to-Many
KBAPassFlag Optional Text 1 KBA Result from 3rd party:0 – Error from 3rd party1 – Pass3 – Fail
KBAScore Optional Text 8 Indicates knowledge based authentication score
KBACaseID Optional Text 100 KBA Case Identifier to send to DE
BankingInfo
If sending one, you must send both RoutingNumber and AccountNumber
RoutingNumber Optional* Text 9 Banking account routing number*Required if ApprovalFlowType is '2'
AccountNumber Optional* Text 17 Banking account number*Required if ApprovalFlowType is '2'
AccountValidated Optional Numeric 1 Valid Value: 1 for True or 0 for False
IDInfo
IDType Required Text 2 See Table 6-6 IDType for values
IssuingStateProvince Optional* Text 2 For US, use 2 char abbreviation*Required if sending IDType value as 1 or 2
IDNumber Required Text 25 IDNumber for the respective IDType
NationalIDNumber Required Text 9 USA use SSN 999999999 (no "-")
DateOfBirth Required Numeric 8 YYYYMMDD (no "-" or "/" )
LastName Required Text 30 Applicants Last Name
FirstName Required Text 30 Applicants First Name
MiddleName Optional Text 30 Applicants Middle Name
Address1 Required Text 30 Applicants Address line 1
Address2 Optional Text 30 Applicants Address line 2
City Required Text 20 Applicatns City
StateProvince Required Text 2 For US, use 2 char abbreviation
PostalCode Required Text 9 No '-' for extended postal codes
Country Optional Text 3 Use 3 character International Country Code table for values
LengthOfResidence Optional Numeric 2 See Table 6-12 LengthOfResidence for values
ResidenceType Optional Numeric 2 See Table 6-19 Residence Type for values
LandlordFirstName Optional* Text 30 *If sending any Landlord info, you must send all Landlord elements; LandlordFirstName, LandlordLastName, LandlordPhone, LandlordAddress1 or LandlordPOBox, LandlordCity, LandlordStateProvince, LandlordPostalCode.
LandlordLastName Optional* Text 30 *If sending any Landlord info, you must send all Landlord elements; LandlordFirstName, LandlordLastName, LandlordPhone, LandlordAddress1 or LandlordPOBox, LandlordCity, LandlordStateProvince, LandlordPostalCode.
LandlordPhoneNumber Optional* Text 10 *If sending any Landlord info, you must send all Landlord elements; LandlordFirstName, LandlordLastName, LandlordPhone, LandlordAddress1 or LandlordPOBox, LandlordCity, LandlordStateProvince, LandlordPostalCode.
LandlordAddress1 Optional* Text 50 *If sending any Landlord info, you must send all Landlord elements; LandlordFirstName, LandlordLastName, LandlordPhone, LandlordAddress1 or LandlordPOBox, LandlordCity, LandlordStateProvince, LandlordPostalCode.
LandlordAddress2 Optional Text 30
LandlordApartmentNumber Optional Numeric 6
LandlordPOBox Optional* Numeric 6 *If sending any Landlord info, you must send all Landlord elements; LandlordFirstName, LandlordLastName, LandlordPhone, LandlordAddress1 or LandlordPOBox, LandlordCity, LandlordStateProvince, LandlordPostalCode.
LandlordCity Optional* Text 20 *If sending any Landlord info, you must send all Landlord elements; LandlordFirstName, LandlordLastName, LandlordPhone, LandlordAddress1 or LandlordPOBox, LandlordCity, LandlordStateProvince, LandlordPostalCode.
LandlordStateProvince Optional* Text 2 *If sending any Landlord info, you must send all Landlord elements; LandlordFirstName, LandlordLastName, LandlordPhone, LandlordAddress1 or LandlordPOBox, LandlordCity, LandlordStateProvince, LandlordPostalCode.
LandlordPostalCode Optional* Text 9 *If sending any Landlord info, you must send all Landlord elements; LandlordFirstName, LandlordLastName, LandlordPhone, LandlordAddress1 or LandlordPOBox, LandlordCity, LandlordStateProvince, LandlordPostalCode.
Email Optional Text 50 Fully qualified email address
PrimaryPhone Required Text 10 Includes Country (no "–" or "( )")
PrimaryPhoneType Required Text 2 See Table 6-7 PhoneType for values
BestTimeToCall Optional Text 2 See Table 6-10 BestTimeToCall for values
SecondaryPhone Optional Text 10 Includes Country (no "–" or "( )")
If sending one, you must send both SecondaryPhone and SecondaryPhoneType
SecondaryPhoneType Optional Text 2 See Table 6-7 PhoneType for valuesIf sending one, you must send both SecondaryPhone and SecondaryPhoneType
IncomeInfo
PrimarySourceOfIncome Optional Text 2 See Table 6-8 PrimarySourceOfIncome for values
Employer Optional Text 60
JobTitle Optional Text 60
EmployerAddress Optional Text 30
EmployerPOBox Optional Text 6
EmployerCity Optional Text 20
EmployerStateProvince Optional Text 2 For US, use 2 char abbreviation
EmployerPostalCode Optional Text 9
EmployerPhone Optional Text 10 Includes Country (no "–" or "( )")
EmployerPhoneExtension Optional Numeric 6
EmployerDoNotVisit Optional Numeric 1 Valid Value: 1 for True or 0 for False
EmployerDepartment Optional Text 16
ShiftStartTime Optional Text 5 24-hour format, 15 minute intervals
(00-23):(00, 15, 30, 45)Example: 09:00
ShiftEndTime Optional Text 5 24-hour format, 15 minute intervals
(00-23):(00, 15, 30, 45)Example: 17:30
SupervisorFirstName Optional Text 30 First name of the applicants supervisor
SupervisorLastName Optional Text 30 Last name of the applicants supervisor
LengthOfEmployment Optional Numeric 5 Calculated in Months
EmploymentStartDate Optional Numeric 8 YYYYMMDD (no "-" or "/" )
MonthlyIncome Required Numeric 10 9999999.99
Schedule Optional Numeric 2 See Table 6-15 Schedule for values
DaysPaid Optional* Numeric 2 See Table 6-16, 6-17, 6-18 DaysPaid for values*Required when Schedule is sent, except when Schedule value is Daily.
ReferenceInfo
Repeating. If sending ReferenceInfo, you must send all four elements; First Name, Last Name, Phone and Relationship
FirstName Optional Text 30 First Name of Reference
LastName Optional Text 30 Last Name of Reference
Phone Optional Text 10 Includes Country (no "–" or "( )")
Relationship Optional Text 2 See Table 6-9 Relationship for values

Response Header

* When receiving a StatusCode other than '200', some required fields may not be populated.

Field Name * Required Format Length Notes
MessageID Required Text 15 Unique ID generated by the client and sent with the request
--- --- --- --- ---
MessageType Required Text 6 Type of the Message,(see Table 6-2 Message Type)
MessageDTS Required Text 30 yyyy-MM-dd-HH:mm:ss:SSSSSSOperational date (seesection 2.2.1)
MessageDTSTZOffset Required Text 6 +/-hh:mm
Revision Required Text 16 Major.Minor version of schema for MessageType
RegionID *Required Numeric 2 Client's Region (see Table 6-1 RegionID)
ClientID *Required Numeric 8 Client NameThe RAC assigned client number. Platform integration see 3.4.4 for Multiple Client IDs.
ClientLocationNumber Required Text 30 Clients Location or Store number
ClientSource Required Numeric 2 Waterfall/POS/Web (see Table 6-13 ClientSource)
ClientOriginator Required Numeric 8 Platform RAC assigned Client Originator Number
LocationNumber Required Text 10 RAC assigned "location number"Example: 5 digit, left-padded w/zeroes
LocationFlow Required Numeric 2 Business Flow (see Table 6-14 LocationFlow)
EncryptionMethod Required Numeric 2 Encryption method sent (see Table 6-11 EncryptionMethod)
StatusCode Required Text 4 Status Code returned to Client (see Table 2-1)
StatusCodeDetail Optional Text 128 Status Code Detail returned to Client

Response Message

* When receiving a StatusCode other than '200', some required fields may not be populated.

Field Name * Required Format Length Notes
Body
--- --- --- --- ---
Approval DecisionResponse
MinimumApprovalAmount Optional Numeric 6 Minimum Approved Amount, round to dollars (or localized currency) with no decimals
ApprovalAmount Required Numeric 6 Amount Approved, round to dollars (or localized currency) with no decimals
OriginalApprovalAmount Optional Numeric 6 Original Amount Approved, round to dollars (or localized currency) with no decimals
ApprovalExpirationDate Optional Text 10 yyyy-mm-dd Functional date (see section 2.3.2)
CustomerID Optional Text 15 RAC assigned customer number
ApprovalID Optional Text 20 Approval ID generated by Decision Service
ApprovalResponse Required Text 2 Approval response type (see Table 6-4 ApprovalResponse)
ValidationRequired Optional
Additional validation required needed to promote to Approval. Array, 0..1
ValidationType Required Numeric 2 Validation Type, Table 6-21

Field Values

Values are as follows for the fields that require specific valid values. The Client ID will be assigned and communicated outside of this document.

Client Region Valid Value
United States (Default) 1
--- ---
Mexico 2
Canada 3
MessageType Request – Valid Value Response – Valid Value Request Format Response Format
Add Sales Lead CMS005 CMS105 Encryption Optional Unencrypted
--- --- --- --- ---
ApprovalFlowType Valid Value Description
None 0 No Approval is requested
--- --- ---
Manned 1 Location has a facing coworker
Unmanned 2 Location is virtual
Manned - non RAC Employee 3 Manned - non RAC Employee
ApprovalResponse Valid Value Description
N/A 0 Not applicable, approval was not requested
--- --- ---
Approved 1 Customer is approved with an Approval Amount
Declined 2 Customer is declined
Manual Intervention 4 Employee should manually review the application
Approved with Bank Verified 7 Customer is approved with bank account verified
Language Valid Value
English (Default) 1
--- ---
Spanish 2
IDType Valid Value Supported in this Version
Driver's License 1 Yes
--- --- ---
State Province ID 2 Yes
Passport 3 Yes
Military ID 4 No
Citizenship Card 5 No
Green Card 6 No
NEXUS – US/Canada 7 No
SENTRI – US/Mexico 8 No
Other 9 No
Matricula Consular (Mexico ID) 10 Yes
PhoneType Valid Value
Home 1
--- ---
Cell 2
Work 3
SourceOfIncome Valid Value
My Job 1
--- ---
Self-Employment 2
Social Security 3
Retirement 4
Pension 5
Disability 6
Relationship Valid Value
Parent / In-law 1
--- ---
Grandparent 2
Sibling 3
Aunt / Uncle 4
Cousin 5
Niece / Nephew 6
Friend 7
Co-Worker 8
Other 9
BestTimeToCall Valid Value
Morning 9am-12pm 1
--- ---
Afternoon 12pm-5pm 2
Evening 5pm-9pm 3
EncryptionMethod Valid Value
None 0
--- ---
AES with RSA key 1
(no longer in use) 2
AES 3
Length Of Residence Valid Value
0 - 6 months 1
--- ---
6 - 12 months 2
1 - 3 years 3
3 - 5 years 4
5 + years 5
ClientSource Valid Value
Other 0
--- ---
Kiosk 1
Point of Sale (POS) 2
eCommerce (web) 3
IVR 4
Mobile Device 5
Location Flow Valid Value Functional Specification
Regular – Flow requires more Income Information, to make an approval decision. 0 See Section 4
--- --- ---
Simple Flow – Flow has relaxed required elements to make an approval decision. 5 See Section 5
RAC assigned Addendum Number n Per addendum
Schedule Valid Value Note 'DaysPaid' value table below
Weekly 1 Table 4-29
--- --- ---
Bi-Weekly 2 Table 4-29
Semi-Monthly 3 Table 4-30
Monthly 4 Table 4-31
Daily 5 Days Paid is not required

DaysPaid values when Schedule is weekly/ Bi-weekly

Day of Week Paid on: Valid Value
Sunday 1
--- ---
Monday 2
Tuesday 3
Wednesday 4
Thursday 5
Friday 6
Saturday 7

DaysPaid values when Schedule is Semi-Monthly

Days of Month Paid on: Valid Value
1 & 15 1
--- ---
2 & 16 2
3 & 17 3
4 & 18 4
5 & 19 5
6 & 20 6
7 & 21 7
8 & 22 8
9 & 23 9
10 & 24 10
11 & 25 11
12 & 26 12
13 & 27 13
14 & 28 14
15 & 30 15

DaysPaid values when Schedule is Monthly

Day of Month Paid on: Valid Value
Last Day of Month 0
--- ---
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 10
11 11
12 12
13 13
14 14
15 15
16 16
17 17
18 18
19 19
20 20
21 21
22 22
23 23
24 24
25 25
26 26
27 27
28 28
29 29
30 30
31 31
Residence Type Valid Value
Own 1
--- ---
Rented 2
Account Type Valid Value
PersonalChecking 1
--- ---
PersonalSavings 2
ValidationType Valid Value
Bank Validation 1
--- ---

Find Existing Customer with an Approval (AMS205)

• A customer can be found based on certain criteria.

• One or more customers will be returned along with their approval information.

• A Customer ID and Location Number (store number) will be returned and needs to be sent in subsequent calls

Get Store Configurations (SMS205)

• Each store has a set of configurations such as agreement min/max, item min/max, categories (APP, FUR..) .

• UI will have to put rules based on min/max amounts for the Customer cart.

• Category on AGR/PMS services should be selected from categories returned by SMS service.

• https://merchant-portal-test.test-racapi.com/api/store/getStoreConfig/ecom

Send Text to Customer for Phone Validation

• As part of fraud prevention we want to validate the phone number is valid. A code is generated and texted to the phone number on file. The code must be entered to continue the process.

• https://merchant-portal-test.test-racapi.com/api/customer/verifyPhoneNumber

Get Price Quote (PMS204)

• The products selected by the customer should be passed in this request. The products will need to be mapped to our specific products.

• The customer should already have a valid approval.

• Rate, term, cash price and total cost will be returned.

• Optional products LDW and Benefits+ will also be returned.

• https://merchant-portal-test.test-racapi.com/api/quote/getPriceQuote/ecom

Create Agreement (AGR001)

• The customer must approve the terms along with accepting or declining the optional LDW and Benefits+.

• This API allows either online or remote signing. Online signing should be used for eCommerce applications and remote signing for non-customer facing applications.

• The response will be a redirect URL if online signing is selected.

• An email with a docusign link will be emailed to the customer if remote signing is selected.

• https://merchant-portal-test.test-racapi.com/api/agreement/createAgreement/ecom

Make Initial Payment

• After the customer has signed the documents, credit card information will need to be collected.

• Redirect the customer to the Add Pay URL for credit card entry.

• Initial payment returned by AGR service response should be sent on the Add Pay call.

• The card will be charged and an email will be sent to the customer confirming their order.

• A successful callback from Add Pay is the final step in the process.

• https://addpay.rentacenter.com/v1/customers/{customerId}/views/payment/recipient

Get List of Customers with Valid Approvals or Completed Signing

• A list of customers with valid approvals or a list of customers with signing documents completed but agreements not finalized will be returned.

• The list of customer with approvals will allow store coworkers to quickly find customers to begin their ordering process.

• The list of customer with Docusign complete will allow the store coworker to quickly find customers to finalize their agreement by entering their credit card information.

• This service is coming soon.

• https://merchant-portal-test.us-e1.cloudhub.io/api/customer/getCustomerList

Cancel agreement

• If the customer decides to not continue the process after create agreement, the cancel agreement process should be called.

• The cancel process will fail if the customer has already paid.

• This service is coming soon.

• https://merchant-portal-test.us-e1.cloudhub.io/api/agreement/cancel

Confirm delivery\update estimated delivery date

• When the delivery date to the customer has been set, call to update the estimated delivery date. If the delivery date changes, call to update our system with the new estimated delivery date.

• This service is coming soon.

• https://merchant-portal-test.us-e1.cloudhub.io/api/agreement/confirm

Errors

The Kittn API uses the following error codes:

Error Code Meaning
400 Bad Request -- Your request is invalid.
401 Unauthorized -- Your API key is wrong.
403 Forbidden -- The kitten requested is hidden for administrators only.
404 Not Found -- The specified kitten could not be found.
405 Method Not Allowed -- You tried to access a kitten with an invalid method.
406 Not Acceptable -- You requested a format that isn't json.
410 Gone -- The kitten requested has been removed from our servers.
418 I'm a teapot.
429 Too Many Requests -- You're requesting too many kittens! Slow down!
500 Internal Server Error -- We had a problem with our server. Try again later.
503 Service Unavailable -- We're temporarily offline for maintenance. Please try again later.