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.  Currently, there are two api methods: Add Contact and Add Deal.
 
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 Rested app on Mac OS.  Alternatively, you can 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 Contact
 

When adding a contact through the REST api, the contact will appear in the 'Pending Contacts' page in MCA Suite.


Function:
Name: addContact
Type: POST
Parameters: 


Field Name





Required?
Type
Description

contactType

 Yes
String
The category of the contact:


  • Funder
  • Broker
  • Merchant
  • RetrievalCompany
  • CreditCardProcessor
  • Vendor
  • Investor
  • General
  • Other
contactStatus   String  Must be:
  • Lead 
  • Assigned 
  • Active
  • Declined
If none provided, the default contact status setup in Admin will be used.
For the contact to show up on the leads page, the status must be 'Lead'
companyName

String - Max 150

Contact’s company name
firstName
Yes

String - Max 30

First name of contact
lastName
Yes String - Max 30
Last name of contact
title

String Contact's title
businessPhone

String Business Phone
mobilePhone

String Mobile Phone
email

String Email address
website

String Website address
address1

String Street line 1
address2

String Street line 2
city

String City
state

String State (Two Lettter Abbr)
zip

String Zip Code
country

String Country
additionalInfo

String - Max 255


Person's additional info
autoAdd    
Boolean Use 'true' if you want the contact automatically added to the system
and bypass the Pending contacts page.


Return Response


Field Name
Type Description
success
boolean true/false
error
String Error message if available



Example (URL not real):

Add contact via MCA Suite API

PHP code example using Curl:  
 
<?php
 
$service_url = 'http://XXXXXXXXXXXX/rest/addContact/';
$app_id = XXXXXXXXXXX';
$token = 'XXXXXXXXXXX’;
 
$curl = curl_init($service_url);
 
$curl_post_data = array("contactType" =>"Merchant",
"companyName"=> "Test Company",
"firstName"=> "Bob",
"lastName"=> "Smith",
"title"=> "Test CEO",
"businessPhone"=> "4564564568",
"mobilePhone"=> "8978978978",
"email"=> "test@test.com",
"website"=>"test.com",
"address1"=> "123 fake St",
"address2"=> "Suite 230",
"city"=> "Saint Louis",
"state"=> "MO",
"zip"=> "11100",
"country"=> "USA");
 
$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);
 
// Check out response message, it will be in json format.
echo $curl_response;
 
?>



Adding a Deal
 
Functions:
Name: addDeal
Type: POST
Parameters:


Field Name
Required? Type Description
amountRequested

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

String Business type, valid options only are:
·      Corporation
·      Incorporation
·      Limited Liability Company
·      Limited Liability Partnership
·      Partnership
·      Sole Proprietorship
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
businessMonthlyRate

BigDecimal
Monthly rental rate of business
currentProcessor

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

BigDecimal
Average monthly gross sales
averageMonthlyCC

BigDecimal
Average monthly credit card

averageMonthlyMasterCard / avgMonthlyVisa


BigDecimal



Average monthly MC or Visa
bankruptcies

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

title


String – Max 10
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 20 Owner’s mobile phone
ownerAddress.street1   String – Max 100 Owner address street 1
ownerAddress.street2   String – Max 100 Owner address street 2
ownerAddress.city   String – Max 30 Owner address city
ownerAddress.state   String – Max 2 Owner address state
ownerAddress.zip   String – Max 10 Owner address zip code
ownerEmail

String – Max 20
Owner email of type ‘Business’
ownership   String – Max 20 Ownership %
dateInc   String Date Incorporated
taxId
  String Federal Tax ID / EIN 
totalDeposits   BigDecimal Total Deposits
loanAmount
  String – Max 50 Existing Loan Amount
paybackAmount   String – Max 50 Existing Payback Amount 
holdback   String – Max 50 Holdback
industry   String – Max 50 Must match Industries in Application Configuration options
numberEmployees   String – Max 20 Number of employees in the business
homeBusiness   String - Max 20 Is it home based business?
assignedToOne



String This 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.
campaign


String Match campaign name in Admin - Application configuration.
autoAdd



String Must be set to “true”.  This will automatically send it through from pending to accepted.  You must contact MCA Suite to setup this feature.



Return Response


Field Name
Type Description
success boolean true/false
error String Error message if available
url String

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

id

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


Example (URL not real):

Add Deal API

PHP 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;
?>