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
YesString - Max 30
Last name of contact
title

StringContact's title
businessPhone

StringBusiness Phone
mobilePhone

StringMobile Phone
email

StringEmail address
website

StringWebsite address
address1

StringStreet line 1
address2

StringStreet line 2
city

StringCity
state

StringState (Two Lettter Abbr)
zip

StringZip Code
country

StringCountry
industry
StringMust match industry name (Case sensitive) in MCA Suite or error
additionalInfo

String - Max 250
Person's additional info
autoAdd    
BooleanUse 'true' if you want the contact automatically added to the system
and bypass the Pending contacts page.


Return Response


Field Name
TypeDescription
success
booleantrue/false
error
StringError 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?TypeDescription
amountRequested

BigDecimal
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
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

BigDecimal
Monthly rental rate of business
currentProcessor

String – Max 30
Current credit card processor
grossAnnualSales BigDecimalCredit Card 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 YesString – Max 30Owner’s first name
lastName YesString – Max 30Owner’s last name
middleName String – Max 30Owner’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 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 %
dateInc StringDate Incorporated
taxId
 StringFederal Tax ID / EIN 
totalDeposits BigDecimalTotal 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.
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.
annualGrossSales
String - Max 20Bank statements annual gross sales
dealDescription                
String - Max 250Deal description



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