The MCASuite REST API allows companies to integrate into MCA Suite system through a HTTP RESTful web service.  The API is designed to ease the painful process of hand entering data from one system to another system.  All responses will be in JSON format. 
 
Login
 
All calls require two identifying header parameters for credentialing:

1.    X_MCASUITE_APP_ID
2.    X_MCASUITE_APP_TOKEN

Both of these values will be generated by MCA Suite and provided to our customers. Please contact your representative to get these credentials. 
 
 
URLS: 
 
The Base REST URL will be provided to the customer upon API request.
 
Format:
 
The API will accept form encoded or json encoded parameters.
 
Testing:
 
To test the rest url and parameter, we recommend to use the “Advanced Rest Client” extension on google Chrome.  If using the Chrome extension, please verify you use application/json as content type, and paste the json parameters into the Raw tab.



Adding a Deal

 
Functions:
Name: addDeal
Type: POST
Parameters:


Field Name
Required?TypeDescription
amountRequested

Decimal
Amount requested of the deal, example if the amount is $10000.25, send 10000.25
companyName
YesString – Max 50
Name of the company
dba
YesString – Max 50
DBA of the company
entityType

StringBusiness type, valid options only are:
·      Corporation
·      Incorporation
·      Limited Liability Company
·      Limited Liability Partnership
·      Partnership
·      Sole Proprietorship
       Non-Profit
name
String - Max 100Name of deal, if not the default deal name setting will be used.
useOfProceeds

String – Max 250
Description of the deal
companyAddress.street1

String – Max 100
Company address street line 1
companyAddress.street2

String – Max 100
Company address street line 2
companyAddress.city

String – Max 30
Company address city
companyAddress.state

String – Max 2
Company address state, only the two letter abbreviation
companyAddress.zip



String - Max 10
Company address zip code, only valid 5 number zip – 4 digit extension.   
Valid examples: 12345 or 12345-1234
companyBusinessPhone

String – Max 20
Company business phone number
companyMainPhone

String – Max 20
Company main phone number
companyFaxPhone

String – Max 20
Company fax number
companyEmail

String – Max 50
Company business email
web
String – Max 50
Company website
businessMonthlyRate

Decimal
Monthly rental rate of business
currentProcessor

String – Max 30
Current credit card processor
grossAnnualSales DecimalCredit Card Annual sales of business
averageMonthlyGross

Decimal
Average monthly gross sales
averageMonthlyCC

Decimal
Average monthly credit card

averageMonthlyMasterCard / avgMonthlyVisa


Decimal



Average monthly MC or Visa
bankruptcies

String – Max 20
Number of bankruptcies
firstName YesString – Max 30Owner’s first name
lastName YesString – Max 30Owner’s last name
middleName String – Max 30Owner’s middle name

title


String – Max 60
Title of the owner’s name
ssn

String
Owner’s SSN
dateOfBirth

String – Max 20
Owner’s date of birth
ownerHomePhone

String – Max 20
Owner’s home phone
ownerMobilePhone String – Max 20Owner’s mobile phone
ownerAddress.street1 String – Max 100Owner address street 1
ownerAddress.street2 String – Max 100Owner address street 2
ownerAddress.city String – Max 30Owner address city
ownerAddress.state String – Max 2Owner address state
ownerAddress.zip String – Max 10Owner address zip code
ownerEmail

String – Max 20
Owner email of type ‘Business’
ownership String – Max 20Ownership %
contactId
NumberMCA Suite Contact ID.  If you addContact first, you can associate deal to it.
owner2.firstName

String – Max 30Owner 2 first name
owner2.lastName
String – Max 30
Owner 2 last name
owner2.ssn
StringOwner 2's SSN
owner2.dateOfBirth
String - Max 20Owner 2's date of birth
owner2.homePhone
String – Max 20
Owner 2's home phone
owner2.mobilePhone
String – Max 20
Owner 2's mobile phone
owner2.title
String – Max 10
Title of owner 2
owner2.address.street1
String – Max 100
Owner 2's street 1 address
owner2.address.street2

String – Max 100
Owner 2's street 2 address
owner2.address.city
String – Max 30
Owner 2's city address
owner2.address.state

String – Max 2
Owner 2's state address
owner2.address.zip
String – Max 10
Owner 2's zip code
owner2.email
String – Max 20
Owner 2's email
owner2.ownership
String - Max 20Owner 2's ownership %
dateInc StringDate Incorporated
taxId
 StringBusiness EIN
matchTaxId
BooleanWill re-use an existing company of EIN matches.
totalDeposits DecimalTotal Deposits
loanAmount
 String – Max 50Existing Loan Amount
paybackAmount String – Max 50Existing Payback Amount 
holdback String – Max 50Holdback
industry String – Max 50Must match Industries in Application Configuration options
numberEmployees String – Max 20Number of employees in the business
homeBusiness String - Max 20Is it home based business?
assignedToOne



StringThis is the username (email login) of a MCA Suite user. The system must have the user in MCA Suite in order for the record to be accepted.  Permissions on the deal will automatically be set to this user.
assignedToTwo
StringDeal Assigned 2 field.  Username must be email
category
StringMatch Deal Category in MCA Suite.
campaign


StringMatch campaign name in Admin - Application configuration.
autoAdd



StringMust be set to “true”.  This will automatically send it through from pending to accepted.  You must contact MCA Suite to setup this feature.
externalId
String - Max 50Deal external ID
annualGrossSales
String - Max 20Bank statements annual gross sales
dealDescription                
String - Max 250Deal description
additionalInformation
String - Max 250Deal additional information
sourceCompany
StringMust match company name in the MCA Suite, if doesn't match, deal will still be added.
sourceContact
StringFirst and last name separated by space.  If no match, deal will still be added.
businessCreditStartDate

StringBusiness Credit - Start Date
timeAtLocation

StringBusiness Credit > Business Location Time at Location
contractTerms.advanceAmount
DecimalContract Terms - Advance Amount
contractTerms.paybackAmount

Decimal
Contract Terms - Payback Amount, will calculate factor if both advance and payback are entered but NOT factor
contractTerms.factor

Decimal
Contract Terms - Factor %, if advancedAmount and factor are entered, payback amount will be calculated and override payback amount
contractTerms.purchasedPct

DecimalContract Terms - Purchased %
contractTerms.calculation

IntegerContract Terms - Calculation Method
0 - Manual, enter number of payments and rate
1 - Calculate off Daily Rate, enter collection method daily rate
2 - Calculate off payments, enter number of payments

contractTerms.numberPayments

DecimalContract Terms - Number of Payments
contractTerms.funder
StringContract Terms- Funder.  Must match a Company name in the system
collectionMethod.dailyRate
DecimalCollection Method - Daily Rate, also used to calculate number of payments
collectionMethod.collector

StringCollection Method - Collector on deal details page.  Must match existing company name.
collectionMethod.merchantNumber

StringCollection Method - Merchant Number on deal details page



Return Response


Field Name
TypeDescription
successbooleantrue/false
errorStringError message if available
urlString

Only if autoAdd is used then the response will include the URL of the deal summary page for new deal.

id

NumberOnly if autoAdd is used then then the new deal id will be returned.


Example (URL not real):

Add Deal APIPHP code example:

<?php

$service_url = 'http://XXXXXXXXXX/rest/addDeal/';
$app_id = 'XXXXXXXXXX';
$token = ‘XXXXXXXXXXX';

$curl = curl_init($service_url);

$curl_post_data = array(
"companyName"=> "Test Company",
"firstName"=> "Bob",
"lastName"=> "Smith",
"dba"=> "Test Company LLC",
"companyBusinessPhone"=> "4564564568",
"companyMainPhone"=> "8978978978",

"companyAddress.street1": "123 fake St",
"companyAddress.street2": "Suite 230",
"companyAddress.city": "Saint Louis",
"companyAddress.state": "MO",
"companyAddress.zip": "11100",

"entityType"=> "LLC");

$headr = array();
$headr[] = 'X_MCASUITE_APP_ID: ' . $app_id;
$headr[] = 'X_MCASUITE_APP_TOKEN: ' . $token;

curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $curl_post_data);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headr);
$curl_response = curl_exec($curl);
curl_close($curl);
echo $curl_response;
?>