Introduction

The Mesigic API follows RESTful architecture standards, offering
clear and consistent resource-based endpoints. All requests and responses are
transmitted in JSON format, leveraging standard HTTP verbs, status codes, and
authentication protocols to enable secure, efficient, and scalable integrations.

API Based URL

Please note that Mesigic does not provide a sandbox or test environment. All API requests
are processed in the live environment, so ensure that all request data and parameters
are accurate before making any calls.

				
					https://mesigic.com/external-api
				
			

Authentication

All requests to the Mesigic API require authentication. Each API request must include a valid client-id and client-secret to the request header, which can be obtained from your Mesigic Dashboard under Developer Tools.

In addition to credentials, Mesigic enforces IP-based security. You must register and enable your server’s public IP address in the IP Whitelist section of the dashboard. Requests originating from non-whitelisted IP addresses will be automatically rejected.

Both valid API credentials and an approved IP address are mandatory. Without completing these two steps, authentication will fail and API access will not be granted.

Response Format

All responses from the Mesigic API are returned in JSON format. Each response follows a consistent structure and includes a status indicator, message, and relevant data payload when applicable. Standard HTTP status codes are used to represent the outcome of each request.

Sample Success Response

				
					{
"status": "success",
"remark": "contact_list",
"message":[
    "Contact list fetched successfully"
],
"data": {
   ...you get all data here
    }
}
    
				
			

Error Sample Response

				
					{
    "remark": "Unauthorized",
    "status": "error",
    "message": [
        "The client secret is required"
    ]
}
				
			
				
					{
    "remark": "Unauthorized",
    "status": "error",
    "message": [
        "Access to this API endpoint is restricted to IP addresses that have been explicitly whitelisted.",
        "In order to access this API endpoint, please add your IP address (::1) to the white list from the user dashboard."
    ]
}
				
			

Get Contact List

This endpoint allows you to retrieve a complete list of contacts associated with your Mesigic account.

				
					
contact/list
				
			

Query Parameters

Query parameters that allow you to customize the API response.

Name Description Required Default
page Specifies the page number to retrieve. No 1
paginate Defines the number of items returned per page. No 20
search Searches for contacts by firstname, lastname or mobile number. No -
				
					
$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://mesigic.com/extern-api/contact/list',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'GET',
  CURLOPT_HTTPHEADER => array(
    'client-id: YOUR-CLIENT-ID',
    'client-secret: YOUR-CLIENT-SECRET',
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
				
			

Create New Contact

This endpoint allows you to add a new contact to your Mesigic account. Provide the necessary contact details, and upon successful request, the API returns the created contact’s information in JSON format for easy integration.

				
					https://mesigic.com/external-api
                /contact/store
            
				
			

Requried Fields

The following fields are required to create a new contact in the system.

Name Required Default
firstname Yes -
lastname Yes -
mobile_code Yes -
mobile Yes -
city No -
state No -
post_code No -
address No -
profile_image No -
				
					
$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://mesigic.com/extern-api/contact/store',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS => array('firstname' => 'John','lastname' => 'Doe','mobile_code' => '880','mobile' => '01988'),
  CURLOPT_HTTPHEADER => array(
    'client-id: YOUR-CLIENT-ID',
    'client-secret: YOUR-CLIENT-SECRET',
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
				
			

Update Contact

This endpoint allows you to update an existing contact. You only need to send the fields you want to modify. Any field not included in the request will remain unchanged.

				
					https://mesigic.com/external-api
                /contact/update/{id}
            
				
			

Requried Fields

The following fields are required to create a new contact in the system.

Name Required Default
firstname Yes -
lastname Yes -
mobile_code Yes -
mobile Yes -
city No -
state No -
post_code No -
address No -
profile_image No -
				
					
$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://mesigic.com/extern-api/contact/update/{contactId}',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS => array('firstname' => 'John','lastname' => 'Doe','mobile_code' => '880','mobile' => '01988'),
  CURLOPT_HTTPHEADER => array(
    'client-id: YOUR-CLIENT-ID',
    'client-secret: YOUR-CLIENT-SECRET',
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
				
			

Delete Contact

This endpoint allows you to delete a contact by its unique ID. Deletion may be restricted if the contact has associated messages or is blocked.

				
					https://mesigic.com/external-api
                /contact/delete/{id}
            
				
			
				
					
$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://mesigic.com/extern-api/contact/delete/{contactId}',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'DELETE',
  CURLOPT_POSTFIELDS => array('firstname' => 'John','lastname' => 'Doe','mobile_code' => '880','mobile' => '01988'),
  CURLOPT_HTTPHEADER => array(
    'client-id: YOUR-CLIENT-ID',
    'client-secret: YOUR-CLIENT-SECRET',
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
				
			

Conversation List

Retrieve a paginated list of conversations for the authenticated user, including contact info and conversation status.

				
					https://mesigic.com/external-api
                /inbox/conversation-list
            
				
			

Query Parameters

Name Description Default
status Filter conversations by status. Use below value for the filter conversation via status. Done = 1; Pending = 2; Important = 3; Unread = 4; All
page Specifies the page number to retrieve. 1
paginate Defines the number of items returned per page. 20
				
					
$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://mesigic.com/extern-api/inbox/conversation-list',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'GET',
  CURLOPT_HTTPHEADER => array(
    'client-id: YOUR-CLIENT-ID',
    'client-secret: YOUR-CLIENT-SECRET',
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
				
			

Update Conversation List

Update the status of a conversation such as pending, done, or important. Here Done = 1, Pending = 2 and Important = 3,UnRead=4

				
					https://mesigic.com/external-api
                /inbox/change-conversation-status/{conversation_id}
            
				
			

URL Parameters

Parameter Type Description
conversation_id integer Unique ID of the conversation

Request Body

Field Type Required
status integer Yes
				
					
$curl = curl_init();
curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://mesigic.com/extern-api/inbox/change-conversation-status/2',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS => array('status' => '1'),
  CURLOPT_HTTPHEADER => array(
    'client-id: YOUR-CLIENT-ID',
    'client-secret: YOUR-CLIENT-SECRET',
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;


				
			

Conversation Details

Retrieve complete details of a conversation including contact information, notes, tags, and list associations.

				
					https://mesigic.com/external-api
                /inbox/conversation-details/{conversation_id}
            
				
			

URL Parameters

Parameter Type Description
conversation_id integer Unique ID of the conversation
				
					$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://mesigic.com/extern-api/inbox/conversation-details/2',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'GET',
  CURLOPT_POSTFIELDS => array('status' => '1'),
  CURLOPT_HTTPHEADER => array(
    'client-id: YOUR-CLIENT-ID',
    'client-secret: YOUR-CLIENT-SECRET',
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
				
			

Send Message

				
					https://mesigic.com/external-api
                /inbox/send-message
            
				
			

Request Body

Field Type Required Description
mobile_code string yes Mobile country code. Must be a valid numeric country code without the plus (+) sign.
mobile string yes A valid mobile phone number associated with the provided country code.
from_number string conditional A valid WhatsApp Business phone number registered on your account and in the Meta dashboard is required. If no ID is provided, the message will be sent using your default registered WhatsApp account.
message string Conditional Text message body. Required if no media, location, or interactive data is provided
image file No Image file (jpg, jpeg, png – max 5MB)
document file No Document file (pdf, doc, docx – max 100MB)
video file No Video file (mp4 – max 16MB)
audio file No Audio file – max 16MB
latitude decimal Conditional Latitude for location message
longitude decimal Conditional Longitude for location message
cta_url_id integer No CTA URL ID for interactive button messages
interactive_list_id integer No Interactive list ID
				
					$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://mesigic.com/extern-api/inbox/send-message',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS => array('mobile_code' => '880','mobile' => xxxxxxxxx','message' => 'Hello world'),
  CURLOPT_HTTPHEADER => array(
    'client-id: YOUR-CLIENT-ID',
    'client-secret: YOUR-CLIENT-SECRET',
  ),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
				
			

Send Template Message

				
					https://mesigic.com/external-api
                /external-api/inbox/send-template-message
            
				
			

Request Body

Field Type Required Description
mobile_code string yes Mobile country code. Must be a valid numeric country code without the plus (+) sign.
mobile string yes A valid mobile phone number associated with the provided country code.
from_number string conditional A valid WhatsApp Business phone number registered on your account and in the Meta dashboard is required. If no ID is provided, the message will be sent using your default registered WhatsApp account.
template_id integer Yes Approved WhatsApp template ID

Notes

				
					$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://mesigic.com/extern-api/inbox/send-template-message',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS => array('mobile_code' => '880','mobile' => 'xxxxxx','testmplate_id' => 'your template id'),
  CURLOPT_HTTPHEADER => array(
    'client-id: YOUR-CLIENT-ID',
    'client-secret: YOUR-CLIENT-SECRET',
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
				
			

Get Template List

				
					https://mesigic.com/external-api
                /inbox/template-list
				
			
				
					$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://mesigic.com/extern-api/inbox/template-list',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'GET',
  CURLOPT_HTTPHEADER => array(
    'client-id: YOUR-CLIENT-ID',
    'client-secret: YOUR-CLIENT-SECRET',
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
				
			
  • FAQs

Frequently asked questions

Before reaching out, browse through our FAQs for quick solutions to your concerns.

  • General

  • What is Mesigic?

    Mesigic is a complete cross-platform WhatsApp CRM and marketing tool that helps businesses manage conversations, automate customer engagement, and run marketing campaigns through WhatsApp.

  • Service

  • What services does Mesigic provide?

    Mesigic offers WhatsApp CRM tools, message automation, contact segmentation, multi-agent inbox, campaign analytics, and lead tracking.

  • Subscription

  • What subscription plans do you offer?

    Mesigic offers three plans: Starter (basic features), Pro (advanced tools + multiple users), and Enterprise (custom solutions and dedicated support).

What is Mesigic?

Mesigic is a complete cross-platform WhatsApp CRM and marketing tool that helps businesses manage conversations, automate customer engagement, and run marketing campaigns through WhatsApp.

What services does Mesigic provide?

Mesigic offers WhatsApp CRM tools, message automation, contact segmentation, multi-agent inbox, campaign analytics, and lead tracking.

What subscription plans do you offer?

Mesigic offers three plans: Starter (basic features), Pro (advanced tools + multiple users), and Enterprise (custom solutions and dedicated support).

#paylessgrowmore | #growwithmesigic | #grocito

Grow Your Business
without Paying Extra!