Getting Started with Array APIs

Useful Documents

Base URL: https://sandbox.array.io

Client Authorization: The API does not require authentication

User Flow

This is the typical user flow using Array APIs:

  1. See if the user is already enrolled in Array:
  1. Do you have a clientKey for this user?
  1. No - User must be enrolled and authenticated.
  1. Display and obtain user consent.
  2. Obtain the user’s information
  3. Call Create User
  1. Create User returns a permanent clientKey.
  1. Store the clientKey - This is used the next time to verify that the user is already enrolled.
  2. Call Retrieve Questions
  3. Display authentication questions to the user
  4. Call Submit Answers
  1. Yes - User is already enrolled and authenticated. You may proceed to calling the desired APIs.
  1. Call the desired API(s)
  2. Listen for component and webhook events and respond accordingly.

Integration Workflow

This is the workflow for setting up Array API calls (see also the Array Web Component Flow Diagram):

  1. Create User- A user must first be created in Array before they can access any Array features.
  1. This is done only the first time a user accesses Array features.
  2. The user must be prompted for and give their consent.
  3. Create User can be called using existing user info, if you have it. Otherwise you will need to prompt the user to provide it before calling Create User.
  1. https://docs.array.com/reference#create-user
  2. Input
  1. appKey (required)
  2. First Name (required)
  3. Last Name (required)
  4. SSN (required)
  5. Date of Birth (required)
  6. Address (required)
  1. Street Address
  2. City
  3. State
  4. ZIP
  1. Output
  1. clientKey
  1. Upon successful user creation, a permanent clientKey associated with the user is returned and must be stored. It is the existence of this clientKey which permits your system to determine whether a user needs to enroll in Array or not.
  1. Authentication - A user must also be authenticated before they can access any Array features.
  1. This is done only the first time a user accesses Array features.
  2. The user will be authenticated by answering questions based upon their credit history.
  3. Call Retrieve Questions to get the authentication questions.
  1. https://docs.array.com/reference#retrieve-questions
  2. Input
  1. appKey (required)
  2. clientKey (required)
  3. provider1 (required)
  1. Output
  1. authToken
  2. provider
  3. questions[]
  1. text
  2. id
  3. answers[] (for the user to choose from)
  1. text
  2. id        
  1. Display the authentication questions to the user.
  2. Get the user’s answers.
  3. Call Submit Answers to answer the authentication questions.
  1. https://docs.array.com/reference#submit-answers
  2. Input
  1. appKey (required)
  2. clientKey (required)
  3. authToken (required)
  4. answers (required)
  1. Key-value pairs of questionId-answerId returned by Retrieve Questions
  1. Output
  1. userToken
  1. Upon successful authentication, a short-lived userToken associated with the user is returned. If this token expires during a user’s session, a new userToken can be obtained by calling Create User Token.
  1. Call other API(s) for which you are subscribed.
  1. Other APIs can now be called in a similar manner.
  1. Listen for webhook events and respond accordingly
  1. https://docs.array.com/docs/webhook-events 
  2. Array sends webhook events to a listener that you have set up.
  3. Credit alerts are sent out via webhook events.
  1. https://docs.array.com/docs/efx-alerts
  2. The "webhook" examples show how these alerts would appear from our events.
  3. The titles of these alerts are customer-friendly explanations that you can include in the alert notifications (text message, email, etc) you send to the user.