Send a template (initiate a dialog)
messengers limits the content of text messages with which you can start a conversation with a customer or continue a conversation 24 hours after the customer's last message. This message must be a pre-approved template. There is a charge for sending the template, as it initiates the conversation. If the client responds to you, you can communicate with them for free for 24 hours from the time you receive the response. Read more.
$data = [
'phone' => '79995253422', // Receivers phone
'template' => 'template_name', // Template name
'namespace' => 'namespace_of_template', // Namespace of template
'language' => ['code' => 'en', 'policy' => 'deterministic'], // Language parameters
];
$json = json_encode($data); // Encode data to JSON
// URL for request POST /message
$token = '83763g87x';
$instanceId = '777';
$url = "https://api.chat-api.com/instance{$instanceId}/sendTemplate?token={$token}";
// Make a POST request
$options = stream_context_create(['http' => [
'method' => 'POST',
'header' => 'Content-type: application/json',
'content' => $json
]
]);
// Send a request
$result = file_get_contents($url, false, $options);
var request = require('request'); //bash: npm install request
// URL for request POST /message
const token = '83763g87x';
const instanceId = '777';
const url = `https://api.chat-api.com/instance${instanceId}/sendTemplate?token=${token}`;
var data = {
phone: '79995253422', // Receivers phone
template: "template_name",
namespace : "namespace_of_template",
language: {
code: "en",
policy: "deterministic"}
};
// Send a request
request({
url: url,
method: "POST",
json: data
});
// URL for request POST /message
const token = '83763g87x';
const instanceId = '777';
const url = `https://api.chat-api.com/instance${instanceId}/sendTemplate?token=${token}`;
let data = {
phone: '79995253422', // Receivers phone
template: "template_name",
namespace : "namespace_of_template",
language: {
code: "en",
policy: "deterministic"}
};
// Send a request
$.ajax(url, {
data : JSON.stringify(data),
contentType : 'application/json',
type : 'POST'
});
curl \
-d '{"phone": "79995253422","template": "template_name", "namespace" : "namespace_of_template", "language": { "code": "en", "policy": "deterministic"}}' \ # Phone and template parameters
-H "Content-Type: application/json" \ # Headers
-X POST \ # Type = POST
"https://api.chat-api.com/sendTemplate?token=83763g87x" # URL for request POST /message
Send message
If the dialog was initiated by the client, you can reply with a normal message. This dialog is also paid, if you responded to the client. You can communicate with him for free for 24 hours from the moment of the answer. Read more about the Dialogue billing model.
$data = [
'phone' => '79995253422', // Receivers phone
'body' => 'Hello, Andrew!', // Message
];
$json = json_encode($data); // Encode data to JSON
// URL for request POST /message
$url = 'https://api.chat-api.com/message?token=83763g87x';
// Make a POST request
$options = stream_context_create(['http' => [
'method' => 'POST',
'header' => 'Content-type: application/json',
'content' => $json
]
]);
// Send a request
$result = file_get_contents($url, false, $options);
var request = require('request'); //bash: npm install request
// URL for request POST /message
var url = 'https://api.chat-api.com/message?token=83763g87x';
var data = {
phone: '79995253422', // Receivers phone
body: 'Hello, Andrew!', // Сообщение
};
// Send a request
request({
url: url,
method: "POST",
json: data
});
// URL for request POST /message
var url = 'https://api.chat-api.com/message?token=83763g87x';
var data = {
phone: '79995253422', // Receivers phone
body: 'Hello, Andrew!', // Message
};
// Send a request
$.ajax(url, {
data : JSON.stringify(data),
contentType : 'application/json',
type : 'POST'
});
curl \
-d '{"phone": "79995253422","body": "Hello, Andrew!"}' \ # Phone and message
-H "Content-Type: application/json" \ # Headers
-X POST \ # Type = POST
"https://api.chat-api.com/message?token=83763g87x" # URL for request POST /message
Set a Webhook
Receive notifications about personal messages through incoming http requests to your server. This is the main function for creating a chatbot. All you have to do is change the token and the instance number.
// First of all - set a webhook to URL like http://your_website.com/my_webhook_url.php
// Parse a webhook data
$data = json_decode(file_get_contents('php://input'), true);
foreach($data['messages'] as $message){ // Echo every message
// Handle every message here
// Add to the database or generate a response
}
// First of all - set a webhook to URL like http://your_website.com/my_webhook_url
// Require Express JS и Body Parser for JSON POST acceptance
var app = require('express')();
var bodyParser = require('body-parser');
app.use(bodyParser.json());
// Handle POST request
app.post('/my_webhook_url', function (req, res) {
var data = req.body; // New messages in the "body" variable
for (var i = 0; i < data.messages.length; i++) { // For each message
var message = data.messages[i];
console.log(message.author + ': ' + message.body); //Send it to console
}
res.send('Ok'); //Response does not matter
});
app.listen(80);
Profile Management
You can view and edit your messengers profile. However, if you want to change your display name, there are a few rules.
$data = [
'address' => '79995253422', // Recipient's phone
'description' => 'Best Company', // Message
'email' => '', // Email of the organization
'vertical' => '' // The industry
];
$json = json_encode($data); // Let's encode the data in JSON
// URL for POST request /message
$token = '8376213g87x';
$instanceId = '777';
$url = 'https://api.chat-api.com/instance'.$instanceId.'/me?token='.$token;
// Let's form the context of an ordinary POST request
$options = stream_context_create(['http' => [
'method' => 'POST',
'header' => 'Content-type: application/json',
'content' => $json
]
]);
// Let's send a request
$result = file_get_contents($url, false, $options);