Содержание
Для интеграции с другими сервисами и приложениями рекомендуем настроить интеграцию через Zapier.
Вы сможете передавать данные между сервисами без помощи программистов.
Таблица кодов и сообщений ответов API сервиса JustClick
После каждого обращения к функциям API сервиса ваша система получает ответ в кодировке JSON.
(Как его можно получить и обработать смотрите ниже пример на PHP.)
В ответе возвращаются поля error_code, error_text и hash, иногда — когда нужно вернуть ещё какие-то данные —
возвращается массив result :
- error_code — числовой код сообщения об ошибке,
- error_text — текстовое сообщение об ошибке,
- hash — подпись к данным, чтобы удостоверится что ответ от нашей системы, а не подделан (как формируется смотрите ниже),
- result — массив с результирующими данными (например result->bill_id — номер созданного заказа).
| код error_code |
сообщение error_text |
описание |
| общие ошибки | ||
| 0 | ok | действие выполнено успешно |
| 1 | not transferred hash | не передана хешь-подпись запроса |
| 2 | no transmitted data | не переданы параметры запроса |
| 3 | wrong posted data | ошибочные параметры запроса |
| 4 | incorrect hash | хешь-подпись к запросу неверна |
| 5 | invalid user name | не передан или не найден логин в системе JustClick |
| 6 | permission denied for ip … | для указанного ip доступ запрещён |
| 7 | account disabled | аккаунт отключен |
| 8 | Limit to subscribe for this IP exided. Try later | Лимит запросов по API с данного адреса исчерпан. Попробуйте позже. Как правило связано с тем, что функции API отключены для аккаунта. |
| ошибки добавления контакта | ||
| 0 | activation email sent to subscriber | пользователь добавлен в группы. ему выслано письмо активации. |
| 100 | email is missing | в переданных параметрах отсутствует e-mail контакта |
| 101 | subscription error: (описание) | ошибка добавления пользователя в группу |
| 102 | the subscriber is already registered | контакт уже есть во всех переданных группах |
| 103 | has an invalid subscriptions group | в запросе передана несуществующая группа |
| 104 | subscription forbidden for (id группы) | добавление в эту группу невозможно. например автогруппа. |
| ошибки работы с заказами | ||
| 0 | order status changed | статус заказа успешно изменен |
| 200 | nonexistent order | заказ с указанным номером не существует |
| 201 | wrong status | передан неверный статус заказа |
| 202 | order not paid | во время оплаты заказа произошла ошибка |
| 203 | order number is empty | не передан номер заказа |
| ошибки удаления иизменения статуса заказа | ||
| 0 | order status changed | статус заказа успешно изменён |
| 0 | order deleted | заказ успешно удалён |
| 302 | nonexistent order | в запросе передан не существующий номер заказа |
| 303 | wrong status | такого статуса заказа нет в системе |
| ошибки получения списка купленных продуктов по мейлу клиента | ||
| 400 | order not found | заказ с таким номером не существует |
| ошибки получения списка групп контактов по email-у клиента | ||
| 500 | subscriber not found | контакт с таким и-мейлом не существует |
| 501 | group not found | контакт не состоит ни в одной группе |
| ошибки создания заказа | ||
| 600 | wrong email | передан не правильный и-мейл клиента |
| 601 | order already exist. his number send in result array. | такой заказ уже существует. (в result->bill_id будет передан его номер) |
| 602 | error creating order | не удалось создать заказ |
| 603 | missing products | в заказе отсутсвуют товары |
| 604 | product not exist | в вашем магазине нет продукта с таким id (будет возвращён id этого продукта) |
| 605 | not having any data for delivery products | не хватает данных для доставки продукта (отсутсвует адресс или имя) |
| ошибки получения всех продуктов | ||
| 700 | no products | в магазине отсутствуют продукты |
| ошибки добавления контакта | ||
| 800 | group subscribers is not found | указанная группа контактов не найдена (не существует) |
| 801 | subscriber with such address is not found | контакт с указанным email не найден (не существует) |
| ошибки получения информации о заказе | ||
| 400 | Order not found | Заказ с таким номером не существует |
По мере развития API сервиса таблица ответов будет дополнятся.
Пример на PHP получения и обработки ответа сервиса
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
<!--?php // Логин в системе Джастклик $user_rs['user_id'] = 'username'; // Ключ для формирования подписи. см. футер страницы личного кабинета - "API" - "Ключ API" $user_rs['user_rps_key'] = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'; // Формируем массив данных для передачи в API $send_data = array( 'rid[0]' => 'super', 'lead_name' => 'Name', 'lead_email' => 'lead@email.ru', 'lead_phone' => '+788888888', 'lead_city' => 'City', 'aff' => 111, 'tag' => 'this is tag', 'ad' => 1111, 'doneurl2' => 'http://yandex.ru/' ); // Формируем подпись к передаваемым данным $send_data['hash'] = GetHash($send_data, $user_rs); // Вызываем функцию AddLeadToGroup в API и декодируем полученные данные $resp = json_decode(Send('http://username.justclick.ru/api/AddLeadToGroup', $send_data)); // Проверяем ответ сервиса if(!CheckHash($resp, $user_rs)){ echo "Ошибка! Подпись к ответу не верна!"; exit; } if($resp->error_code == 0) echo "Пользователь добавлен в группу {$send_data['rid[0]']}. Ответ сервиса: {$resp->error_code}"; else echo "Ошибка код:{$resp->error_code} - описание: {$resp->error_text}"; // =========== Функции отправки, получения и обработки ответа ============ // Отправляем запрос в API сервиса function Send($url, $data) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data)); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // выводим ответ в переменную $res = curl_exec($ch); curl_close($ch); return $res } // Формируем подпись к передаваемым в API данным function GetHash($params, $user_rs) { $params = http_build_query($params); $user_id = $user_rs['user_id']; $secret = $user_rs['user_rps_key']; $params = "$params::$user_id::$secret"; return md5($params); } // Проверяем полученную подпись к ответу function CheckHash($resp, $user_rs) { $secret = $user_rs['user_rps_key']; $code = $resp->error_code; $text = $resp->error_text; $hash = md5("$code::$text::$secret"); if($hash == $resp->hash) return true; // подпись верна else return false; // подпись не верна } ?--> |


