Это комментарий к подключению самописной CRM.
Для отправки заявок на занятия с сайта sanlin-football.kz в CRM требуется
послать в POST-запросе на URL http://football.rict.su/Request/Accept
JSON следующего вида:
{
"token" : "d9d0c12116e16821240cb32179cdf39",
"city" : "Астана",
"name" : "Иван"
"phone" : "111222333444"
}
строковые данные передаются в кодировке UTF-8
token рассчитывается следующим образом: (пример приводится ниже)
1. Берётся текущее время UTC с точностью до минут
2. Время переводится в количество секунд, прошедших с начала эпохи
3. К текстовому представлению количества секунд добавляется секретная строка
4. От полученной строки считается хэш MD5, байты хэша переводятся в вид шестнадцатеричной строки
5. token готов (регистр символов в строке не важен)
Замечание. Если за время от расчёта токена до его получения CRМ произошёл переход секунд 59 -> 00,
то CRM примет значение токена за прошлую минуту
В ответ CRM отправляет JSON вида:
{
"code": 0,
"message": "Нет ошибок",
"result_id": 2
}
если HTTP-статус 200 и параметр code == 0, то заявка успешно отправлена, поле result_id содержит
её идентификатор. В противном случае code содержит внутренний код ошибки CRM, message содержит текстовое описание ошибки
$secret = "DHOHkwUgPIzMm";
$timestamp = gmdate("Y-m-d H:i:00")." UTC";
$seconds = strtotime($timestamp);
$str = $seconds.$secret;
$token = md5($str);
class Request
{
public $token;
public $phone;
public $name;
public $city;
}
$new_request = new Request();
$new_request->token = $token;
$new_request->name = "Сергей";
$new_request->phone = "9998889988";
$new_request->city = "Павлодар";
$data = json_encode($new_request);
$url = 'http://football.rict.su/Request/Accept';
$context = stream_context_create(array(
'http' => array(
'method' => 'POST',
'header' => "Content-type: application/json; charset=utf-8\r\n"."Content-Length: ".strlen($data),
'content' => $data,
'timeout' => 30,
),
));
$ret = file_get_contents($url, false, $context);
print_r($ret);
Вот Хук для контакт форм
add_action( 'wpcf7_mail_sent', 'your_wpcf7_mail_sent_function' ); /// Хук WordPress для работы с CF7
function your_wpcf7_mail_sent_function( $contact_form )
{
$title = $contact_form->title;
$posted_data = $contact_form->posted_data;
if ('Контактная форма 1' == $title) {
$submission = WPCF7_Submission::get_instance();
$posted_data = $submission->get_posted_data();
//взяли данные из формы при отправке
$name = $posted_data['text-331']; // это поля вформы
$phone = $posted_data['tel-720'];
$city = $posted_data['text-389'];
}
}
Как передать данные на CRM из контакт форм? То есть, отправить запрос с токеном, как они пишут в описании.
ВОт код мой
add_action( 'wpcf7_mail_sent', 'your_wpcf7_mail_sent_function' ); /// Хук WordPress для работы с CF7
function your_wpcf7_mail_sent_function( $contact_form )
{
$title = $contact_form->title;
$posted_data = $contact_form->posted_data;
if ('Контактная форма 1' == $title) {
$submission = WPCF7_Submission::get_instance();
$posted_data = $submission->get_posted_data();
//взяли данные из формы при отправке
$name = $posted_data['text-331']; // это поля вформы
$phone = $posted_data['tel-720'];
$city = $posted_data['text-389'];
$secret = "DHOHkwUgPIzMm";
$timestamp = gmdate("Y-m-d H:i:00")." UTC";
$seconds = strtotime($timestamp);
$str = $seconds.$secret;
$token = md5($str);
class Request
{
public $token;
public $phone;
public $name;
public $city;
}
$new_request = new Request();
$new_request->token = $token;
$new_request->name = $name;
$new_request->phone = $phone;
$new_request->city = $city;
$data = json_encode($new_request);
$url = 'http://football.rict.su/Request/Accept';
$context = stream_context_create(array(
'http' => array(
'method' => 'POST',
'header' => "Content-type: application/json; charset=utf-8\r\n"."Content-Length: ".strlen($data),
'content' => $data,
'timeout' => 30,
),
));
$ret = file_get_contents($url, false, $context);
print_r($ret);
}
}
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости