CSS API DOCUMENTATION V3 10-2020...Jun 21, 2016  · CSS IMPACT Financial Ecosystems 3 API...

56
CSS IMPACT Financial Ecosystems API DOCUMENTATION 1 CSS IMPACT Financial Ecosystems API Documentation CSS, Inc. Oct - 2020

Transcript of CSS API DOCUMENTATION V3 10-2020...Jun 21, 2016  · CSS IMPACT Financial Ecosystems 3 API...

  • CSS IMPACT Financial Ecosystems API DOCUMENTATION 1

    CSS IMPACT Financial Ecosystems

    API Documentation CSS, Inc.

    Oct - 2020

  • CSS IMPACT Financial Ecosystems API DOCUMENTATION 2

    TABLE OF CONTENTS CSS IMPACT FINANCIAL ECOSYSTEMS REST API ..................................................... 3

    COMMON ELEMENTS .......................................................................................................... 3 ENDPOINTS ........................................................................................................................................... 3 AUTHENTICATION AND CONFIDENTIALITY ...................................................................................... 4 API ACCESS ........................................................................................................................................... 4 METHODS ............................................................................................................................................. 4 RETURN VALUES ................................................................................................................................... 5 USER-DEFINED WINDOWS SERVICE ................................................................................................... 6

    MAKE PAYMENT SERVICE .................................................................................................... 7 RETRIEVE PAYMENT ARRANGEMENT SERVICE .............................................................................. 11 RESPONSE .......................................................................................................................................... 13

    UPDATE PAYMENT ARRANGMENET SERVICE .................................................................. 14 CALL RESULTS SERVICE .................................................................................................................... 18 VALIDATE ONLY MODE ..................................................................................................................... 19 PAYLOAD ............................................................................................................................................ 19 RUN STRATEGY ON DEMAND SERVICE ........................................................................................... 29 PAYLOAD ............................................................................................................................................ 29 RESPONSE .......................................................................................................................................... 31 RUN ELECTRONIC DATA INTERFACE SERVICE ................................................................................ 32 PAYLOAD ............................................................................................................................................ 33 RESPONSE .......................................................................................................................................... 34

    MORNING DAILY SERVICE ................................................................................................. 34 PAYLOAD ............................................................................................................................................ 35 RESPONSE .......................................................................................................................................... 36

    AFTERNOON DAILY SERVICE ............................................................................................. 36 PAYLOAD ............................................................................................................................................ 37 RESPONSE .......................................................................................................................................... 38

    MATCH LINKS SERVICE ...................................................................................................... 38 PAYLOAD ............................................................................................................................................ 38

    RESPONSE .............................................................................................................................................. 40

    DUNNING PROCESS SERVICE ............................................................................................ 40 PAYLOAD ............................................................................................................................................ 40

    RESPONSE .............................................................................................................................................. 42

    DEMOGRAPHICS LOOKUP SERVICE .................................................................................. 42 PAYLOAD ............................................................................................................................................ 43 RESPONSE .......................................................................................................................................... 45

    AI CALL LOOKUP SERVICE ................................................................................................. 51

    LOGIN URLS RESOURCE .......................................................................................... 54

  • CSS IMPACT Financial Ecosystems API DOCUMENTATION 3

    CSS IMPACT FINANCIAL ECOSYSTEMS REST API Created On: June 21, 2016 Updated: May 13, 2020 This document describes the RESTful web services Application Programming Interface (API) for CSS Impact! HD 2.0 (Impact). Using this API, callers can access Impact business logic, data, and processing to support automation and integration. The API is built on open standards (HTTP, SSL, Basic Authentication) and industry conventions (REST). The Impact API is a request/response model whereby an HTTP request will produce an HTTP response. The API is partitioned by URL with each URL mapping to a particular Impact entity such as an account or a demographic. Each request must be authenticated using Basic Authentication and the communication must be confidential and encrypted through SSL.

    COMMON ELEMENTS This section describes API elements that apply to all calls. ENDPOINTS Each Impact customer is provided its own test server. This test server is the target endpoint of all Impact API requests. In this document, the hostname “test-server.cssimpact.com” will be used for clarity. This hostname does not point to a real server and must be substituted for a customer-specific host value. Using test-server.cssimpact.com as a host, each Impact API request begins with the following https://{host}:{port}/css-impact-web-services/api

    The scheme is always https. Host is the hostname of the test server. Port is either 8080 or 8443. /css-impact-web-services/api is a fixed path “/css-impact-web-services/api”. For example,

    https://test-server.cssimpact.com:8443/css-impact-web-services/api/udws/account/AGX?dbtNo=100000923

  • CSS IMPACT Financial Ecosystems API DOCUMENTATION 4

    Has a scheme of https, a host of test-server.cssimpact.com, and a port of 8443. The port is followed by the fixed “/css-impact-web-services/api” path. The remainder of the path and query string (/udws/account/AGX?dbtNo=100000923) is specific to the call. AUTHENTICATION AND CONFIDENTIALITY Each Impact API request must include a valid username and password from the Impact User Screen. This username / password is submitted using standard Basic Authentication. This technique passes the credentials in an HTTP header “Authorization” where the value is the fixed string “Basic” plus a Base64-encoded string of the form username:password. username:password is a user code from the User Screen, a colon “:”, and a password from the User Screen. In a raw request, this looks like

    Authorization: Basic QVYxMDM6MTcxODMx

    Where the string starting with QVY… is an encoding of a username:password. All requests to Impact API that are not on a private VPN must be made using the HTTPS protocol to maintain a confidential connection. API ACCESS In addition to the Basic Authentication described in the previous section, integrators must provide an API Key along with each request. The API Key is passed in a custom HTTP Header. An example follows.

    Impact-API-Key: IMPACT10145

    The API Key is generated by an Impact administrator. Both the API Key and the Basic Authentication credentials must be supplied or a 401 or 403 error will result. METHODS The Impact API supports the following HTTP methods and general conventions. GET – Queries for data but does not change any entities PUT – Updates data of an existing entity

  • CSS IMPACT Financial Ecosystems API DOCUMENTATION 5

    DELETE – Removes an existing entity POST – Creates entities and executes back-end processes All requests will accept parameters as part of the path. GET will also accept parameters in a query string. POST requests will also accept parameters in the request body. RETURN VALUES The Impact API uses HTTP status codes to communicate the results of the RESTful call. The following are returned in successful invocations 200 – Ok 204 – No content The following are returned in error conditions 400 – Bad request; usually invalid parameters 401, 403 – Authentication errors 404 – Not found; the service was not found or one or more referenced entities were not found 500 – General server error; an unspecified error was generated in the Impact business logic This version of the Impact API returns JSON and accepts JSON in the body of POST requests. Requests resulting in an error will contain a JSON object with error details. This error object includes an errorType which is a further refinement of an error condition. There are four error types which work with the HTTP codes.

    • UNSPECIFIED_ERROR – The default

    • VALIDATION_ERROR – A 400 error cause by passing bad arguments to the call

    • PROCESSING_ERROR – A 400 or 500 error that was caused by invalid arguments or and bad configuraiton

    • SYSTEM_ERROR – A 500 error that indicates an untrapped problem with the call

  • CSS IMPACT Financial Ecosystems API DOCUMENTATION 6

    USER-DEFINED WINDOWS SERVICE GET /udws/account/{udwCode} A User Defined Window (UDW) is a collection of custom fields that can be associated with an entity in Impact. Since the defintion is custom, the specific fields returned by the service will vary. The UDW is specified as a path parameter. Additional parameters that select the specific UDW instance are passed on the query string. Currently, only Account Level UDWs are supported. The UDW Service URL contains the fixed path /udws/account and the variable udwCode. See the following sample URL.

    https://test-server.cssimpact.com:8443/css-impact-web-services/api/udws/account/AGX?dbtNo=100000923

    Where https://test-server.cssimpact.com:8443/css-impact-web-services/api is the common prefix for all services. /udws/account selects the Account Level UDW Service. “AGX” is a udwCode. The query string contains a single parameter “dbtNo” which selects the account. The following is a sample HTTP request

    GET https://test-server.cssimpact.com:8443/css-impact-web-services/api/udws/account/AGX?dbtNo=100000923 HTTP/1.1

    Accept-Encoding: gzip,deflate

    Authorization: Basic QVYxMDM6MTcxODMx

    Host: test-server.cssimpact.com:8443

    Connection: Keep-Alive

    User-Agent: Apache-HttpClient/4.5.1 (Java/1.8.0_74)

    The following response was returned

    HTTP/1.1 200 OK

    Server: Apache-Coyote/1.1

    X-Powered-By: Servlet 2.5; JBoss-5.0/JBossWeb-2.1

    Date: Tue, 21 Jun 2016 14:06:58 GMT

    Content-Type: application/json

    Transfer-Encoding: chunked

  • CSS IMPACT Financial Ecosystems API DOCUMENTATION 7

    [{

    "test_date_field":"100410",

    "udwCode":"AGX",

    "dbtNo":"100000923",

    "test_alpha_field_2":"FIRST",

    "test_alpha_field_3":"19AV-CV-09-4629",

    "test_alspha_field_1":"DAKOTA"

    }]

    Recall that the return value will be completely customized for the Impact customer. “test_alpha_field_2”, etc will not likely be part of an actual response.

    MAKE PAYMENT SERVICE POST /payments/makepayment

    https://test-server.cssimpact.com:8443/css-impact-web-services/api/payments/makepayment

    Where https://test-server.cssimpact.com:8443/css-impact-web-services/api is the common prefix for all services. /payments/makepayment identifies this service. The Make Payment Service is parameterized by a JSON message passed in the request body. Field Name Description Format

    dbtNo Account number

    9 digit number

    amount Amount to be charged

    Numeric string

  • CSS IMPACT Financial Ecosystems API DOCUMENTATION 8

    feeAmount Fee amount added to charge

    Numeric string

    postDate Date of posting

    yyyyMMdd

    accountNumber Credit card or bank account number

    Numeric

    holderName Name of cardholder

    Text

    holderAddr Address 1 of cardholder

    Text

    holderCity City of cardholder

    Text

    holderState US state of cardholder

    Text

    holderZip Postal code of cardholder

    Text

    holderPhone Phone number of cardholder

    Text

  • CSS IMPACT Financial Ecosystems API DOCUMENTATION 9

    entryDate Date of transaction

    yyyyMMdd

    entryTime Time of transaction

    HHmm

    type Credit card indicator

    “2” for ACH or “4” for credit card

    ccExpDate Expiration date of credit card

    MMyy (for credit card)

    ccAuthCode Security code of credit card

    Integer (for credit card)

    routingNumber Bank routing number

    Numeric (for ACH)

    branchNumber Bank branch number

    Numeric (for ACH); must be “0” if not specified for ACH only

    source Source system initiator of payment

    Text, 40 character max identifier; default is WEBSVC

  • CSS IMPACT Financial Ecosystems API DOCUMENTATION 10

    achSECCode [ACH Only] NACHA designator of how transaction is authorized

    POP,POS,PPD,TEL,WEB

    The following is a sample request for a credit card payment

    POST https://test-server.cssimpact.com:8443/css-impact-web-services/api/payments/makepayment HTTP/1.1

    Accept-Encoding: gzip,deflate

    Content-Type: application/json

    Content-Length: 426

    Host: 192.0.0.140:8080

    Connection: Keep-Alive

    User-Agent: Apache-HttpClient/4.5.1 (Java/1.8.0_74)

    {

    "dbtNo": "000000006",

    "amount": "25.00",

    "feeAmount": "2.00",

    "postDate": "20160610",

    "accountNumber": "5412102988179999",

    "holderName": "Ron Roberts",

    "holderAddr": "1928 Tivoli St",

    "holderCity": "Simi Valley",

    "holderState": "CA",

    "holderZip": "93065",

    "holderPhone": "",

    "entryDate": "20160610",

  • CSS IMPACT Financial Ecosystems API DOCUMENTATION 11

    "entryTime": "1400",

    "type": "4",

    "ccExpDate": "0718",

    "ccAuthCode": "123"

    }

    And a successful response to this request will be

    {"message": "Transaction Successful - Not Posted to Payment Provider Yet"}

    The successful responses will vary based on the Impact configuration. Alternatively, a successful response could also be

    {"message": "Transaction Successful – AuthCode: 123456", “retval”: “123456”}

    This response includes the retval field which is a call-specific return value. In this case, the Make Payment Service will return an authorization code in retval. RETRIEVE PAYMENT ARRANGEMENT SERVICE GET /payments/paymentArrangements/{dbtNo}/{type} The Retrieve Payment Arrangement Service retrieves an abbreviated version of the Payment Arrangement of the specified type for the specified account. The Retrieve Payment Arrangement Service requires two path parameters: dbtNo and type. dbtNo identifies the account of the Payment Arrangement. type will generally be “1” unless this is a Loan Payment. The response will be a 200 Ok and a JSON document using the following fields . Field Name Descr. Format

  • CSS IMPACT Financial Ecosystems API DOCUMENTATION 12

    initialPaymentDate Date on which a down payment is made (optional)

    yyyy-MM-dd'T'HH:mm:ss:SSSZ

    initialPaymentAmount

    Down payment

    Decimal

    recurringPaymentAmount

    Per interval payment

    Decimal

    recurringDayMonth Day of month of recurring payment

    Integer

    recurringStartDate Date on which the recurring payments will starts

    yyyy-MM-dd'T'HH:mm:ss:SSSZ

    dbtNo Account number

    Integer

    type Payment Arrangement Type (1 is regular, 2 is loan)

    Integer

  • CSS IMPACT Financial Ecosystems API DOCUMENTATION 13

    recurringNumberOfMonths

    The number of months of the payment plan (can be 0)

    Integer

    accountLastFour The last four digits of the method of payment such as a credit card number

    Integer

    RESPONSE The following is a sample response of the Get Payment Arrangement Service. {

    "dbtNo": "000003932",

    "type": "1",

    "status": null,

    "initialPaymentDate": null,

    "initialPaymentAmount": 0.0,

    "recurringPaymentAmount": 45.0,

    "recurringDayOfMonth": 6,

    "recurringNumberOfMonths": 0,

    "recurringStartDate": "2012-05-23T04:00:00.000+0000",

    "recurringEndDate": "2016-06-23T04:00:00.000+0000",

  • CSS IMPACT Financial Ecosystems API DOCUMENTATION 14

    "accountLastFour": null,

    "paymentInfo": null

    }

    UPDATE PAYMENT ARRANGMENET SERVICE

    PUT /payments/paymentArrangements/{dbtNo}/{type} The Update Payment Arrangement Service updates and existing Payment Arrangement with the following data elements

    1. First scheduled payment date

    2. Down payment amount and date

    3. Payment method information such as credit card number

    The Update Payment Arrangement Service requires two path parameters: dbtNo and type. dbtNo identifies the account to be updated. type will generally be “1” unless this is a Loan Payment Arrangement. The Update Payment Arrangement Service is parameterized by a JSON message passed in the request body. Field Name Description. Format

    initialPaymentDate Date on which a down payment is made (optional); only yyyy-MM-dd will be used, avoiding timezone differences that produce dates different than what the user entered; timezone is required and may be used in a future release

    yyyy-MM-dd'T'HH:mm:ss:SSSZ

    initialPaymentAmount* Down payment (optional) Decimal

  • CSS IMPACT Financial Ecosystems API DOCUMENTATION 15

    recurringPaymentAmount Per interval payment Decimal

    recurringDayMonth Day of month of recurring payment

    Integer

    recurringStartDate Date on which the recurring payments will starts; only yyyy-MM-dd will be used, avoiding timezone differences that produce dates different than what the user entered; timezone is required and may be used in a future release

    yyyy-MM-dd'T'HH:mm:ss:SSSZ

    ppaAccepted Whether or not the user accepts the payment arrangement; sets a special Impact flag

    Boolean (true,false); default is false

    pprCode Payment plan rule code (optional); if not supplied, default to existing rule applied to payment arrangement

    String (3 character)

    generateDownPaymentPhonePay Generates a phone pay from the down payment; will be false if no initialPayment, no initialPaymentAmount

    Boolean (true,false); default is false

  • CSS IMPACT Financial Ecosystems API DOCUMENTATION 16

    interestRate Interest rate to use for payment arrangement

    Decimal (default is to use account interest rate)

    paymentInfo.accountNumber Credit card number or bank account number

    16 digits

    paymentInfo.routingNumber Bank account number (not used for credit card)

    Integer

    paymentInfo.type 4 for credit card payments; 2 for ACH

    Integer

    paymentInfo.ccExpDate Expiration date of credit card (not used for ACH)

    MMYY

    paymentInfo.ccAuthCode Verification code of credit card (not used for ACH)

    Integer

    paymentInfo.debit Indicates the card transaction is for a debit card; ignored for check

    Boolean (true, false); default is false

    * If an initialPaymentAmount is 0 but an intialPaymentDate is set and it is earlier than the recurringStartDate, the update will flag the arrangement as having a down payment that has already been met. This will cause the generateDownPaymentPhonePay flag to be ignored.

  • CSS IMPACT Financial Ecosystems API DOCUMENTATION 17

    Sample Request #1 The following is a sample request to update a Payment Arrangement. The Payment Arrangement will be rebuilt with a down payment of $125 and will generate a phone pay. This request provides a PPR Rule “MN1” which will override what was set previously. {

    "initialPaymentDate": "2017-04-28T05:00:00.000+0500",

    "initialPaymentAmount": 500.0,

    "recurringPaymentAmount": 510.0,

    "recurringDayOfMonth": 31,

    "recurringStartDate": "2017-05-31T05:00:00.000+0500",

    "ppaAccepted": true,

    "pprCode": "MN1",

    "generateDownPaymentPhonePay": true,

    "paymentInfo": {

    "accountNumber": "4242424242424242",

    "type": "4",

    "ccExpDate": "0718",

    "ccAuthCode": "123"

    }

    }

    A successful response is indicated by a 204 No Content status code.

  • CSS IMPACT Financial Ecosystems API DOCUMENTATION 18

    Sample Request #2 The following is a sample request to update a Payment Arrangement. This will use the original pprRule set on the Payment Arrangement when the Payment Arrangement was created. No down payment is set for this request.

    {

    "initialPaymentDate": null,

    "initialPaymentAmount": 0.0,

    "recurringPaymentAmount": 100.0,

    "recurringDayOfMonth": 2,

    "recurringStartDate": "2011-02-02T05:00:00.000+0000",

    "ppaAccepted": true,

    "paymentInfo": {

    "accountNumber": "4242424242424242",

    "type": "4",

    "ccExpDate": "0718",

    "ccAuthCode": "123"

    }

    }

    CALL RESULTS SERVICE POST /dialer/callResults The Call Results Service provides third-party vendors with the ability to update the Impact database based on the outcome of a call. This information includes

    1. A code describing the outcome of the call,

    2. Metrics about the call,

    3. Call identification, and

    4. A link to a recording of the call.

  • CSS IMPACT Financial Ecosystems API DOCUMENTATION 19

    The Call Results Service can operate in a batch mode and will accept up to 500 records in a single JSON submission. For submitting a single call's results, define a one-element JSON array. Because of the need for high availability, the actual processing of call results is performed on a message queue. There may be a delay processing the request. The expected response code for a successful request is 204 No Content. A validation error will result with a 400 if basic data type conformance checks are not met.

    Note that a 204 No Content will be used if there is a business logic-level problem. These errors are captured in Impact. VALIDATE ONLY MODE Because of the large number of fields in the payload, the service can operated in Validate Only Mode. This means that Impact will inspect the payload for basic conformance to data types and codes. To enable this mode, add a validateOnly=true request parameter as in POST /dialer/callResults?validateOnly=true A 204 No Content indicates that the request passes validation. PAYLOAD The Call Results Service is parameterized by a JSON message passed in the request body. The following table describes the JSON fields and their expected values. For fields identified as flags, the values are either true or false.

    Field Name Description Sample Value

    dbtNo An account number in Impact

    000000064

    demIdtyNo A contact identifier belonging to the account

    89

    phoneNum Phone number 2402888381

  • CSS IMPACT Financial Ecosystems API DOCUMENTATION 20

    Field Name Description Sample Value

    callDate Date and time that the call was placed

    03/01/2017 05:51:01:977

    dispCode A result code defined by the external system

    SALE

    filename A URL for a call recording

    https://www.cssimpact.com/call.wav

    callDirection Inbound or Outbound indicating whether the dialer (Outbound) or the caller (Inbound) initiated the call

    Outbound

    callType Manual or Campaign describing the origination of the call

    Manual

    calldurationsecs

    Duration of the call in seconds

    74

    callID External interface identifier of the call record

    9125

  • CSS IMPACT Financial Ecosystems API DOCUMENTATION 21

    Field Name Description Sample Value

    tenantID External interface identifier of the billing customer

    150

    campName Text identifier describing activity under which the call is operating

    TEST

    campaignID Numeric identifier describing activity under which the call is operating

    1324

    leadID Numeric identifier describing the batch under which the call is operating

    412

    leadRow External interface identifier of the call source record

    4

    dialedNumber Phone number dialed

    2402888381

    transferredToAgent

    Flag indicating whether the call was transfered

    false

    agentID Numeric interface of the agent

    555

  • CSS IMPACT Financial Ecosystems API DOCUMENTATION 22

    Field Name Description Sample Value

    dispositionID Call result code from the external system

    90

    dispositionName

    Text description of result code from the external system

    SALE

    systemDisposition

    Raw call result code from the external system

    SALE

    user Agent name ncastillo

    contact Flag indicating contact was made

    false

    success Flag indicating that the operation was successful

    false

    dropped Flag indicating whether the call was dropped

    false

    talkTimeSecs Time in seconds spent talking

    0

    workTimeSecs Time in seconds spent in work mode

    0

    connected Flag indicating that the call connected

    false

  • CSS IMPACT Financial Ecosystems API DOCUMENTATION 23

    Field Name Description Sample Value

    abandon Flag indicating that the call was abandonned

    false

    queue Flag indicating that the call was queued

    false

    queueDurationSecs

    Time in seconds that call was queued

    0

    holdDurationSecs

    Time in seconds that the call was held

    0

    wrapupSecs Time in seconds that the agent was wrapping up the call

    0

    ansMach Flag indicating that an answering machine was dialed

    false

    noAns Flag indicating that that there was no answer

    false

    cept Flag indicating that cept tones were received

    false

    busy Flag indicating that the line was busy

    false

  • CSS IMPACT Financial Ecosystems API DOCUMENTATION 24

    Field Name Description Sample Value

    fax Flag indicating that a fax line was dialed

    false

    outOfService Flag indicating that the number was out of service

    false

    usedTTS Flag indicating that a TTS was used

    false

    recordedCall Flag indicating that the call was recorded

    false

    outboundANI Outbound phone number identifier to be used in display

    5124667387

    waitTimeSecs Time in seconds spent waiting

    0

    notes Additional freetext notes

    note

    revenue Revenue collected as part of cal

    0

    isCell Flag indicating that phone number is for a cell phone

    true

  • CSS IMPACT Financial Ecosystems API DOCUMENTATION 25

    Sample HTTP Headers

    These are sample HTTP headers that describe the JSON payload. Sample security headers are also included.

    POST https://someserver.cssimpact.com:8443/css-impact-web-services/api/dialer/callResults HTTP/1.1

    Accept-Encoding: gzip,deflate

    Content-Type: application/json

    Authorization: Basic QVYxMDM6d123NDE4Tk4k

    Impact-API-Key: 999999101

    Content-Length: 2365

    Host: someserver.cssimpact.com:8443

    Connection: Keep-Alive

    Sample Payload

    The following JSON payload shows the submission of two call result records to Impact. [{

    "dbtNo": "000000064",

    "demIdtyNo": "89",

    "phoneNum": "2402888381",

    "callDate": "03/01/2017 05:51:01:977",

    "dispCode": "SALE",

    "filename": "http://www.bekwam.com/wav/130_rock_8beat_002.wav",

    "callDirection": "Outbound",

    "callType": "Manual",

    "calldurationsecs": "74",

    "callID": "9125",

  • CSS IMPACT Financial Ecosystems API DOCUMENTATION 26

    "tenantID": "150",

    "campName": "TEST",

    "campaignID": "1324",

    "leadID": "412",

    "leadRow": "4",

    "dialedNumber": "2402888381",

    "transferredToAgent": "false",

    "agentID": "555",

    "dispositionID": "90",

    "dispositionName": "SALE",

    "systemDisposition": "SALE",

    "user": "ncruz",

    "contact": "false",

    "success": "false",

    "dropped": "false",

    "talkTimeSecs": "0",

    "workTimeSecs": "0",

    "connected": "false",

    "abandon": "false",

    "queue": "false",

    "queueDurationSecs": "0",

    "holdDurationSecs": "0",

    "wrapupSecs": "0",

    "ansMach": "true",

  • CSS IMPACT Financial Ecosystems API DOCUMENTATION 27

    "noAns": "false",

    "cept": "false",

    "busy": "false",

    "fax": "false",

    "outOfService": "false",

    "usedTTS": "false",

    "recordedCall": "false",

    "outboundANI": "5034571197",

    "waitTimeSecs": "0",

    "notes": "note",

    "revenue": "0",

    "isCell": "true"

    },

    {

    "dbtNo": "000000064",

    "demIdtyNo": "89",

    "phoneNum": "2402888381",

    "callDate": "03/01/2017 05:51:01:977",

    "dispCode": "SALE",

    "filename": "http://www.bekwam.com/wav/130_rock_8beat_002.wav",

    "callDirection": "Outbound",

    "callType": "Manual",

    "calldurationsecs": "74",

    "callID": "9126",

  • CSS IMPACT Financial Ecosystems API DOCUMENTATION 28

    "tenantID": "150",

    "campName": "TEST",

    "campaignID": "1324",

    "leadID": "412",

    "leadRow": "4",

    "dialedNumber": "2402888381",

    "transferredToAgent": "false",

    "agentID": "555",

    "dispositionID": "90",

    "dispositionName": "SALE",

    "systemDisposition": "SALE",

    "user": "ncruz",

    "contact": "false",

    "success": "false",

    "dropped": "false",

    "talkTimeSecs": "0",

    "workTimeSecs": "0",

    "connected": "false",

    "abandon": "false",

    "queue": "false",

    "queueDurationSecs": "0",

    "holdDurationSecs": "0",

    "wrapupSecs": "0",

    "ansMach": "true",

  • CSS IMPACT Financial Ecosystems API DOCUMENTATION 29

    "noAns": "false",

    "cept": "false",

    "busy": "false",

    "fax": "false",

    "outOfService": "false",

    "usedTTS": "false",

    "recordedCall": "false",

    "outboundANI": "5034571197",

    "waitTimeSecs": "0",

    "notes": "note",

    "revenue": "0",

    "isCell": "true"

    }]

    RUN STRATEGY ON DEMAND SERVICE POST /strategies/{sodCode}/running A Strategy On Demand (SOD) is a set of custom business rules used to transform data within Impact. These rules are authored by manipulating shapes in the Impact UI. Once the rules and transformation are tested, they can be called from an external source such as an enterprise scheduler like Control-M, a web application, or a Windows bat script. PAYLOAD The Run SOD Service uses a path parameter to designate the SOD to be run. Some SODs will return data that is the result of the business rules evaluation. There is an optional limit parameter which can be used to reduce the number of records returned by the service. This parameter is specified as JSON in the body of the POST request.

  • CSS IMPACT Financial Ecosystems API DOCUMENTATION 30

    Even if the limit parameter is not specified (or even relevant), a JSON body must be specified. For fields identified as flags, the values are either true or false.

    Field Name

    Description Sample Value

    limit A number indicating a maximum number of records to be returned; only relevant in data-returning SODs (optional)

    10

    Sample HTTP Headers These are sample HTTP headers that describe the JSON payload. Sample security headers are also included. POST https://someserver.cssimpact.com:8443/css-impact-web-services/api/ strategies/TFXS/running HTTP/1.1

    Accept-Encoding: gzip,deflate

    Content-Type: application/json

    Authorization: Basic QVYxMDM6d123NDE4Tk4k

    Impact-API-Key: 999999101

    Content-Length: 2365

    Host: someserver.cssimpact.com:8443

    Connection: Keep-Alive

    Sample Payload #1 – Limit {

    "limit": 10

    }

    Sample Payload #2 – Empty Body

  • CSS IMPACT Financial Ecosystems API DOCUMENTATION 31

    An empty body must be submitted if the limit is not specified. {}

    RESPONSE The response of the Run SOD Service is JSON. The following sample is from a Workflow SOD which runs a set of business rules and data transformations externally. The Workflow SOD does not return evaluation results.

    Field Name Description Sample Value

    limit Repeats passed-in value (see payload); can be null

    10

    sodCode Repeats QUERY_STRING parameter

    TFXS

    dialerResults Structured data used only in DLRSOD requests

    moreRecords + call records

    selectResults FOR FUTURE USE -

    resultCount The number of results returned

    10

    processId A correlation identifier

    An integer identifier used to correlate the request with Impact

  • CSS IMPACT Financial Ecosystems API DOCUMENTATION 32

    Field Name Description Sample Value

    system tables

    Sample Response #1 - Workflow

    {

    "limit" : null,

    "sodCode" : "TFXS",

    "dialerResults" : {

    "moreRecords" : false,

    "results" : [ ]

    },

    "selectResults" : {

    "results" : [ ]

    },

    "resultCount" : 0,

    "processId" : 136862

    }

    RUN ELECTRONIC DATA INTERFACE SERVICE POST /edis/{ediCode}/running?type={ediType} The Electronic Data Interface (EDI) is a mapping of data fields between a source and a target. The source may be from an external system via a flat file or from an internal

  • CSS IMPACT Financial Ecosystems API DOCUMENTATION 33

    RDBMS table. An EDI can be an Import that loads data into Impact or an Export that extracts data from Impact. EDIs are typed by function: PROCESS, TRANSACTION, NEW_DEBTOR.

    5. PROCESS – A basic EDI involving core tables

    6. TRANSACTION – A transaction-oriented EDI

    7. NEW_DEBTOR – A new account-oriented EDI

    The EDI is authored in the application and published. Publishing makes it available to the Run EDI Web Service where it can be executed externally. PAYLOAD The Run EDI Service uses a path parameter to designate the EDI to be run. An additional QUERY_STRING parameter further refines the execution; there can be several different types of imports or exports under the same ediCode. The service also requires two parameters be passed in as JSON in the POST body: usrCode and inputFileOnServer. usrCode tracks the operation in the Impact system tables. inputFileOnServer refers to the source or target file for imports and exports, respectively. Field Name Description Sample Value usrCode An impact user that

    appears in the Impact system tables when the EDI is run; maximum 40 chars

    MYUSR

    InputFileOnServer A relative path to the configured EDI documents location (generally C:\EDI); absolute paths are not accepted for security reasons

    Import/Transaction_Import_Comma_ Translate.csv

  • CSS IMPACT Financial Ecosystems API DOCUMENTATION 34

    Sample HTTP Headers

    These are sample HTTP headers that describe the JSON payload. Sample security headers are also included. POST https://someserver.cssimpact.com:8443/css-impact-web-services/api/edis/TRCIMP/running?type=TRANSACTION HTTP/1.1

    Accept-Encoding: gzip,deflate

    Content-Type: application/json

    Authorization: Basic QVYxMDM6d123NDE4Tk4k

    Impact-API-Key: 999999101

    Content-Length: 2365

    Host: someserver.cssimpact.com:8443

    Connection: Keep-Alive

    Sample Payload {

    "usrCode": "AV103",

    "inputFileOnServer": "Import/Transaction_Import_Comma_Translate.csv"

    }

    RESPONSE The response will be an empty JSON document unless there is an error

    MORNING DAILY SERVICE POST /processes/morning The Morning Daily Process is a combination of several subprocesses that includes

    • Updating work dates,

    • Initiating recurring phone pays,

    • Scoring accounts,

  • CSS IMPACT Financial Ecosystems API DOCUMENTATION 35

    • Updating interest, and

    • Cleaning up working tables.

    The Morning Daily Service can be initiated externally to integrate with enterprise schedulers or other business processes. This can be a long-running process and should be made from a machine with a good network connection. PAYLOAD The Morning Daily Service accepts a pair of parameters in the body as JSON in the POST body. usrCode tracks a user name in the Impact system tables. schCode, or Scheduler Code, provides additional per-instance tracking.

    Field Name

    Description Sample Value

    usrCode An Impact user that appears in the Impact system tables when the EDI is run; maximum 40 chars

    MYUSR

    schCode Scheduler code (usually 1) Additional tracking information

    Sample HTTP Headers These are sample HTTP headers that describe the JSON payload. Sample security headers are also included. POST https://someserver.cssimpact.com:8443/css-impact-web-services/api/ /processes/morning HTTP/1.1

    Accept-Encoding: gzip,deflate

    Content-Type: application/json

    Authorization: Basic QVYxMDM6d123NDE4Tk4k

    Impact-API-Key: 999999101

    Content-Length: 2365

    Host: someserver.cssimpact.com:8443

  • CSS IMPACT Financial Ecosystems API DOCUMENTATION 36

    Connection: Keep-Alive

    Sample Payload

    {

    "usrCode": "AV103",

    "schCode": "1"

    }

    RESPONSE The returned response will be empty with a return code of 200 or 204.

    AFTERNOON DAILY SERVICE POST /processes/afternoon The Afternoon Daily Process is a combination of several subprocesses that includes

    • Processing letters,

    • Processing post-dated checks,

    • Processing rollouts,

    • Processing payment arrangements,

    • Processing legal accounts, and

    • Other functions.

    The Afternoon Daily Service can be initiated externally to integrate with enterprise schedulers or other business processes. This can be a long-running process and should be made from a machine with a good network connection.

  • CSS IMPACT Financial Ecosystems API DOCUMENTATION 37

    PAYLOAD The Afternoon Daily Service accepts a pair of parameters in the body as JSON in the POST body. usrCode tracks a user name in the Impact system tables. schCode, or Scheduler Code, provides additional per-instance tracking. Field Name Description Sample Value

    usrCode An Impact user that appears in the Impact system tables when the EDI is run; maximum 40 chars

    MYUSR

    schCode Scheduler code (usually 1) Additional tracking information

    Sample HTTP Headers

    These are sample HTTP headers that describe the JSON payload. Sample security headers are also included. POST https://someserver.cssimpact.com:8443/css-impact-web-services/api/ /processes/afternoon HTTP/1.1

    Accept-Encoding: gzip,deflate

    Content-Type: application/json

    Authorization: Basic QVYxMDM6d123NDE4Tk4k

    Impact-API-Key: 999999101

    Content-Length: 2365

    Host: someserver.cssimpact.com:8443

    Connection: Keep-Alive

  • CSS IMPACT Financial Ecosystems API DOCUMENTATION 38

    Sample Payload

    {

    "usrCode": "AV103",

    "schCode": "1"

    }

    RESPONSE The returned response will be empty with a return code of 200 or 204.

    MATCH LINKS SERVICE POST /processes/matchLinks The Match Links Service is used to gather related accounts under a master account according to a set of scoring business rules. The Match Links Service can be initiated externally to integrate with enterprise schedulers or other business processes. This can be a long-running process and should be made from a machine with a good network connection. PAYLOAD The Match Links Service accepts a pair of parameters in the body as JSON in the POST body. usrCode tracks a user name in the Impact system tables. schCode, or Scheduler Code, provides additional per-instance tracking.

    Field Name

    Description Sample Value

    usrCode An Impact user that appears in the Impact system tables when the EDI is run; maximum 40 chars

    MYUSR

  • CSS IMPACT Financial Ecosystems API DOCUMENTATION 39

    Field Name

    Description Sample Value

    schCode Scheduler code (usually 1) Additional tracking information

    fromDate Lower bound (inclusive) of Referral Date of account; yyyyMMdd

    20180101

    thruDate Upper bound (inclusive) of Referral Date of account; yyyyMMdd; must be greater or equal to fromDate

    20180102

    Sample HTTP Headers These are sample HTTP headers that describe the JSON payload. Sample security headers are also included. POST https://someserver.cssimpact.com:8443/css-impact-web-services/api/ /processes/matchLinks HTTP/1.1

    Accept-Encoding: gzip,deflate

    Content-Type: application/json

    Authorization: Basic QVYxMDM6d123NDE4Tk4k

    Impact-API-Key: 999999101

    Content-Length: 2365

    Host: someserver.cssimpact.com:8443

    Connection: Keep-Alive

  • CSS IMPACT Financial Ecosystems API DOCUMENTATION 40

    Sample Payload

    {

    "usrCode": "AV103",

    "schCode": "1",

    “fromDate”: “30180301”,

    “thruDate”: “30180310”

    }

    RESPONSE

    The returned response will be empty with a return code of 200 or 204.

    DUNNING PROCESS SERVICE POST /processes/dunning The Dunning Service is used to process letters. Dunning Service can be initiated externally to integrate with enterprise schedulers or other business processes. This can be a long-running process and should be made from a machine with a good network connection. PAYLOAD The Dunning Service accepts a pair of parameters in the body as JSON in the POST body. usrCode tracks a user name in the Impact system tables. schCode, or Scheduler Code, provides additional per-instance tracking.

    Field Name

    Description Sample Value

    usrCode An Impact user that appears in the Impact system tables

    MYUSR

  • CSS IMPACT Financial Ecosystems API DOCUMENTATION 41

    Field Name

    Description Sample Value

    when the EDI is run; maximum 40 chars

    schCode Scheduler code (usually 1) Additional tracking information

    fromDate Date bound of start criteria; yyyyMMdd

    20171201

    fromTime Hours and minutes bound of start criteria; 24 hour time

    1000

    thruDate Date bound of end criteria; yyyyMMdd

    20171202

    thruHH Hours and minutes bound of end criteria; 24 hour time

    1000

    letterCode Letter code to run ALF

    recreate Flag to indicate whether to recreate existing letters (“Y”) or not (“N”)

    Y

    Sample HTTP Headers These are sample HTTP headers that describe the JSON payload. Sample security headers are also included. POST https://someserver.cssimpact.com:8443/css-impact-web-services/api/ /processes/dunning HTTP/1.1

    Accept-Encoding: gzip,deflate

  • CSS IMPACT Financial Ecosystems API DOCUMENTATION 42

    Content-Type: application/json

    Authorization: Basic QVYxMDM6d123NDE4Tk4k

    Impact-API-Key: 999999101

    Content-Length: 2365

    Host: someserver.cssimpact.com:8443

    Connection: Keep-Alive

    Sample Payload

    {

    "usrCode": "AV103",

    "schCode": "1",

    "fromDate": "30180301",

    "fromTime": "1000",

    "thruDate": "30180310",

    "thruTime": "1000",

    "letterCode": "ALF",

    "recreate": "Y"

    }

    RESPONSE

    The returned response will be empty with a return code of 200 or 204.

    DEMOGRAPHICS LOOKUP SERVICE GET /demographics The Demographics Lookup Service retrieves Demographics Record based on passed-in criteria.

  • CSS IMPACT Financial Ecosystems API DOCUMENTATION 43

    PAYLOAD The Demographics Service accepts several QUERY_STRING parameters. While different combinations are permitted to reduce the returned set, at least one parameter must be specified. There is no “all accounts” use case supported.

    Field Name Description Sample Value

    dbtNo Account number 000000006

    demId Demographic record on account

    A0

    taxId External identification number of account (ex, SSN)

    123121232

    demIdtyNo Unique demographics identifier; will result in single record being returned

    12127

    demGroupId Grouping of demographics

    123

    phoneNo Phone number on accounts

    2025551212

    demPortalUserName Alternative username used

    AV103

  • CSS IMPACT Financial Ecosystems API DOCUMENTATION 44

    Field Name Description Sample Value

    in payment portal

    status Account status ACT

    Sample HTTP Headers These are sample HTTP headers that describe the JSON payload. Sample security headers are also included. POST https://someserver.cssimpact.com:8443/css-impact-web-services/api/ / demographics?dbtNo=000000006&demId=A0HTTP/1.1

    Accept-Encoding: gzip,deflate

    Content-Type: application/json

    Authorization: Basic QVYxMDM6d123NDE4Tk4k

    Impact-API-Key: 999999101

    Content-Length: 2365

    Host: someserver.cssimpact.com:8443

    Connection: Keep-Alive

    Sample Query #1 – Current Demographic Lookup /demographics?dbtNo=000000006&demId=A0 Sample Query #2 – Lookup a Demographic /demographics?demIdtyNo=12727 Sample Query #3 – Active Accounts Matching Phone Number /demographics?phoneNo=2025551212&status=ACT

  • CSS IMPACT Financial Ecosystems API DOCUMENTATION 45

    RESPONSE The returned response will a JSON array containing zero or more matching accounts.

    Field Name Description Sample Value

    debtNo Account number 000000006

    id Demographic record on account A0

    demIdentityNo

    Internal id of demographic record

    123121232

    name Last name and first name of debtor

    SMITH, JOHN

    phone1 Phone number on account 202551212

    phone1Type Home (1), work (2), cell (3), fax (4), spouse home (5), spouse work (6), other (7), land line (8)

    1

    phone2 Phone number on account 202551212

    phone2Type Home (1), work (2), cell (3), fax (4), spouse home (5), spouse work (6), other (7), land line (8)

    1

    ext1 Optional phone extension 101

    ext2 Optional phone extension 101

    ssnTaxId External identification number of account (ex, SSN)

    desk Desk of account RDS

  • CSS IMPACT Financial Ecosystems API DOCUMENTATION 46

    Field Name Description Sample Value

    addressLine1 Line 1 address of demographic 123 Main St.

    addressLine2 Line 2 address of demographic Suite 700

    city City of demographic Woodland Hills

    state State of demographic CA

    zipCode Zip of demographic 20009

    county County of demographc LA

    country Country of demographic US

    clientAccount1

    Client reference number 10010010101

    clientAccount2

    Additional client reference number

    REF-001

    driverLicense Drivers license number on demographic

    W1985098

    dob Date of birth 01/01/1970

    referralAmount

    Amount of referral 1000.00

    otherTotal Amount of other items 100.0

    interestTotal Interest amount on account 10.0

    receivedTotal Received amount on account 55.0

  • CSS IMPACT Financial Ecosystems API DOCUMENTATION 47

    Field Name Description Sample Value

    totalDue Total due on account 1240.0

    status Account status NEW

    solDate Statute of limitations date 2018-01-01

    solState Statute of limitations state PA

    dbtFields Up to 24 custom fields stored with account

    clientCode Client code of account TESTCC

    companyCode

    Company code of account TEST

    clientName1 Client name of demographic SMITH, JOHN

    clientName2 Additional client name on account

    SMITH, JOHN

    creditorName

    Name of creditor ABC, INC

    originalCreditor

    Name of original creditor ABC, INC

    Sample Response

    [

    {

    "debtNo" : "000000006",

    "demIdentityNo" : "21724",

  • CSS IMPACT Financial Ecosystems API DOCUMENTATION 48

    "id" : "A0",

    "name" : "test",

    "phone1" : "2401822729",

    "phone1Type" : null,

    "phone2" : "8186198537",

    "phone2Type" : null,

    "ext1" : null,

    "ext2" : null,

    "ssnTaxId" : "555121234",

    "desk" : "ZTD",

    "addressLine1" : null,

    "addressLine2" : null,

    "city" : "VAN NUYS",

    "state" : "CA",

    "zipCode" : "91406",

    "county" : null,

    "country" : null,

    "clientAccount1" : "999990035",

    "clientAccount2" : "TEST",

    "driverLicense" : null,

    "dob" : null,

    "referralAmount" : 1276.15,

    "otherTotal" : 0.0,

    "interestTotal" : 0.0,

  • CSS IMPACT Financial Ecosystems API DOCUMENTATION 49

    "receivedTotal" : 0.0,

    "totalDue" : 1276.15,

    "status" : "NEW",

    "solDate" : "2018-04-16",

    "solState" : "PA",

    "dbtFields" : {

    "field_01" : "TEST",

    "field_02" : null,

    "field_03" : null,

    "field_04" : "A0",

    "field_05" : null,

    "field_06" : null,

    "field_07" : null,

    "field_08" : null,

    "field_09" : null,

    "field_10" : null,

    "field_11" : null,

    "field_12" : null,

    "field_13" : null,

    "field_14" : null,

    "field_15" : null,

    "field_16" : null,

    "field_17" : null,

    "field_18" : null,

  • CSS IMPACT Financial Ecosystems API DOCUMENTATION 50

    "field_19" : null,

    "field_20" : null,

    "field_21" : null,

    "field_22" : null,

    "field_23" : null,

    "field_24" : "20170303"

    },

    "clientCode" : "TESTEE",

    "companyCode" : "CONT",

    "clientName1" : "TEST CLIENT",

    "clientName2" : "CLIENT NAME 2",

    "companyName" : "CONTINGENCY -ORCC",

    "creditorName" : null,

    "originalCreditor" : null

    }

    ]

  • CSS IMPACT Financial Ecosystems API DOCUMENTATION 51

    AI CALL LOOKUP SERVICE GET /ai/calls?phone={phone} The AI Call Lookup Service retrieves a record of information captured during the AI phase of a phone call. The key is phone number The AI Call Lookup Service contains the path /ai/calls with a QUERY_STRING containing the phone number. See the following sample URL. https://test-server.cssimpact.com:8443/css-impact-web-services/api/ai/calls?phoneNo=3015555555 The AI Call Lookup Service returns a JSON object with the following fields. Field Name Description Format

    accountNo Account number 9 digit number

    demIdtyNo Secondary account number

    Numeric

    incomingPhone Phone number recorded by AI; matches QUERY_STRING value

    Numeric string

    accountPhone Phone number associated with account; may not match QUERY_STRING value

    Numeric string

  • CSS IMPACT Financial Ecosystems API DOCUMENTATION 52

    methodOfPayment AI retrieved method of payment

    Text

    amount AI-retrieved amount of

    Numeric

    timestamp Time of AI contact ISO-8061

    The following is a sample request for an AI Calls Lookup Service

    GET https://test-server.cssimpact.com:8443/css-impact-web-services/api/ai/calls?phone=3015555555 HTTP/1.1

    Accept-Encoding: gzip,deflate

    Content-Type: application/json

    Content-Length: 426

    Host: 192.0.0.140:8080

    Connection: Keep-Alive

    User-Agent: Apache-HttpClient/4.5.1 (Java/1.8.0_74)

  • CSS IMPACT Financial Ecosystems API DOCUMENTATION 53

    The following is a sample response for an AI Calls Lookup Service

    HTTP/1.1 200 OK

    Connection: keep-alive

    Content-Type: application/json

    Content-Length: 338

    Date: Sun, 26 Sep 2019 23:50:34 GMT

    {

    "accountNo": "000000006",

    “demIdtyNo”: 12427,

    “incomingPhone”: “3015555555”,

    “accountPhone”: “3015555555”,

    “methodOfPayment”: “CC”,

    "amount": "25.00",

    “timestamp”: “2019-09-26T23:00:00”

    }

  • CSS IMPACT Financial Ecosystems API DOCUMENTATION 54

    LOGIN URLS RESOURCE POST /loginURLs/{secCode} The Login URLs Service is used to adjust the list of URLs presented to a user upon login. An external system can look at the resource usage of servers and arrange the list based on least used resources. The payload for the service is an ordered list of alias / url pairs. These URLs are managed through Security Code. A user’s Security Code will determine the URLs that they will be presented at login. The Login URLs Resource accepts the following parameters Field Name Descr. Format

    secCode A path parameter containing a Security Code

    3 digit alphanumeric

    alias A business-defined alias for a server URL

    Text

    url A WildFly server URL

    Text, but must be of the form scheme://host:port

    Ex https://dev.cssimpact.com:8443 or http://192.168.0.1:8080

  • CSS IMPACT Financial Ecosystems API DOCUMENTATION 55

    The following is a sample request for the Login URLs Resource

    POST http://localhost:8080/css-impact-web-services/api/loginURLs/TST HTTP/1.1

    Accept-Encoding: gzip,deflate

    Content-Type: application/json

    Content-Length: 97

    Host: localhost:8080

    Connection: Keep-Alive

    User-Agent: Apache-HttpClient/4.5.2 (Java/12.0.1)

    [

    { "alias": "DEV-01", "url": "http://dev01" },

    { "alias": "DEV-02", "url": "http://dev02" }

    ]

    The service will respond with a 204 No Content status code if successful. If the secCode is not found in Impact, a 404 Not Found error will be returned. If the payload is empty or if the payload includes servers that are not confirming login URLs, a 400 error will be returned. A confirming login URL has the form scheme://host:port. There must not be a path.

  • CSS IMPACT Financial Ecosystems API DOCUMENTATION 56

    END OF DOCUMENT