Главная » API » Команды API

Команды API

Перед началом работы нужно создать API-ключ. Для этого необходимо обратиться к представителю разработчиков CallbackHunter и сообщить ему IP сервера, с которого будут приходить запросы, а также название компании, которая будет использовать API.

Логин

callbackhunter.com/api/login?key=123&email=eap@callbackhunter.com&password=qwerty
/api/logout?user_id=19494&key=123

  • key — ключ доступа к API
  • email — почта, под которой зарегистрирован пользователь
  • password — пароль пользователя

В случае успеха будет возвращен json-массив следующего вида:
{«status»:»success»,»result»:»4531f30da687de343a2fc8e569cffafb»}
где result — id сессии пользователя.

В случае ошибки вернет json-массив со структурой, упомянутой выше.

Логаут

/api/logout?user_id=19494&key=123

  • key — ключ доступа к API
  • user_id — id пользователя

В случае успеха будет возвращен json-массив следующего вида:
{«status»:»success»,»result»:»1″}

В случае ошибки вернет json-массив со структурой, упомянутой выше.

Получение звонков

/api/get_calls_by_param?id=123&key=123&date_from=2015-04-17_00:00:00&date_to=2015-04-20_23:59:59&limit=2&offset=1

Получение звонков пользователя за указанный промежуток времени с ограничением числа (limit) и сдвигом выборки (offset);

Передаваемые параметры:

  • key — ключ доступа к API
  • id — id пользователя
  • from_date — начальная дата для выборки звонков
  • to_date — конечная дата для выборки звонков
  • offset — отступ от первой записи
  • limit — ограничение по количеству выдаваемых записей
  • order (необязательный) — порядок вывода. По умолчанию asc, может быть desc

В случае, если from_date == to_date, выбираются данные по звонкам за день.

Параметры, касающиеся времени, то есть date_from и date_to, считаются заданными в UTC в случае, если у пользователя больше 1 виджета. Если же число виджетов равно 1, то считается, что время задано в часовом поясе из настроек этого виджета.

Обращение возвращает json-массив.

Возвращаемые данные:

  • id — id звонка
  • status — success/manager_invalid/client_invalid/NULL — статус звонка. success при успехе, manager_invalid при невозможности дозвона к менеджеру (не взял трубку, неправильный номер телефона, client_invalid — аналогично для клиента. null — звонок еще не завершился или не связанная с абонентами ошибка при дозвоне
  • widget_id — id виджета
  • site — сайт, на котором установлен виджет
  • datecall — время звонка
  • duration — длительность разговора
  • phone_client — телефонный номер клиента
  • phone_manager — телефонный номер менеджера
  • sess_ip — ip сессии
  • referer_original — реферер
  • entrance_page — страница, с которой был осуществлен вход
  • call_from_url — страница, с которой был вызван звонок с виджета
  • record — адрес записи разговора
  • geo_location — гео-локация (страна, город)
  • caller_name — имя звонившего пользователя (null если не было указано)
  • caller_email — email звонившего пользователя (null если не было указано)

utm_source,
utm_medium,
utm_term,
utm_content,
utm_campaignutm_source,
utm_medium,
utm_term,
utm_content,
utm_campaign

Получение сообщений из чатов

/api/get_chats_msg?id=321&key=123&date_from=2016-08-22_00:00:00&date_to=2016-08-22_23:59:00

Возвращает чаты, vk и telegram-чаты и cbh-вопросы за указанный период времени с ограничением числа (limit) и сдвигом выборки (offset).

Передаваемые параметры:

  • key — ключ доступа к API
  • id — id пользователя
  • date_from — дата, с которой начинается выборка звонков
  • date_to — дата, на которой заканчивается выборка звонков
  • offset — отступ от первой записи
  • limit — ограничение по количеству выдаваемых записей

Обращение возвращает многомерный json-массив.

Возвращаемые данные:

{
‘cbh_chat’:[
{
«id»: «1234», //id виджета
«site»: «mysite.su», //сайт
«date»: «2015-03-09 08:04:51», //дата добавления чата
«message»: «почем камбала?» //сообщение чата
}
],
‘cbh_questions’:
{
«id»: «1234», //id виджета
«site»: «mysite.su», //сайт
«date_added»: «2015-03-09 08:04:51»,//дата добавления чата
«question»: «почем камбала?», //вопрос
«phone»: «79851234567», //указанный клиентом телефон
«email»: «em@ai.l», //указанный клиентом телефон
«user_name»: «Ivan Piotr», //имя пользователя, сохраненное виджетом
«user_phone»: «79851234567», //телефон пользователя, сохраненный виджетом
«user_email»: «em@ai.l» //телефон пользователя, сохраненный виджетом
},
‘tg_chat’:[
{
«id»: «1234», //id виджета
«site»: «mysite.su», //сайт
«date_sent»: «2015-03-09 08:04:51»,//дата начала чата
«message»: «почем камбала?»

«from»:»manager»,

«from_id»: «123123», //telegram_id менеджера
«manager_first_name»: «Vasia»,
«manager_last_name»: «Ivanov»,

«caller_name»: «Ivan Piotr», //имя пользователя, сохраненное виджетом
«caller_phone»: «79851234567», //телефон пользователя, сохраненный виджетом
«caller_email»: «em@ai.l» //телефон пользователя, сохраненный виджетом
}
],
‘vk_chat’:[
{
«id»: «1234», //id виджета
«site»: «mysite.su», //сайт
«date_sent»: «2015-03-09 08:04:51», //дата начала чата
«message»: «почем камбала?»

«from»:»client»,

«from_id»: «123123», //vk_id менеджера
«manager_first_name»: «Vasia»,
«manager_last_name»: «Ivanov»,

«caller_name»: «Ivan Piotr», //имя пользователя, сохраненное виджетом
«caller_phone»: «79851234567», //телефон пользователя, сохраненный виджетом
«caller_email»: «em@ai.l» //почтовый адрес пользователя, сохраненный виджетом
}
],

‘uni_chat’: [
{
«chat_id»:»1234″,
«client_transport»:»sk», // sk — skype, tg — telegram, vk — vkontakte, fb — facebook, sms — смс,
«manager_transport»:»sl», //sl — slack
«message_id»:»12345″,
«site»:»site.ru»,
«widget_id»:»1111″,
«message»:»добрый день!»,
«from»:»client», // manager — от менеджера клиенту, service — системное сообщение
«date_sent»:»2016-11-09 13:32:36″,
«sid»:»wfcjlkwcnlke»,
«caller_name»:»»,
«caller_phone»:»»,
«caller_email»:»»,
«manager_first_name»:»»,
«manager_last_name»:»»
}
]

Получение данных о платежах пользователя

/api/get_pays_data?id=123&key=123

Передаваемые параметры:

  • key — ключ доступа к API
  • id — id пользователя

Возвращает данные:

  • date_last_pay — дата последней оплаты
  • sum_last_pay — сумма последней оплаты
  • dateadd — дата оплаты
  • pays_total_sum — общий объем оплат
  • pays_total_count — количество произведенных оплат
  • payments_type — тип оплат (онлайн/безнал)
  • minutes_balans/lead_balans — тип баланса (минуты/лиды)

Получение общих данных о звонках пользователя

get_calls_data_balans

Передаваемые параметры:

  • key — ключ доступа к API
  • id — id пользователя
  • last_pay — включает (last_pay=1) либо выключает (last_pay=0) вывод звонков только после последней оплаты

Получение токена

/api/auth?email=mail@mail.ma&password=qwerty

Возвращает следующие данные:

  • token — уникальный токен, необходимый для авторизации. Длится 1 час, после этого сбрасывается. Токен (&token=…) после этого передается в api-запрос вместо id пользователя и ключа.

create_user — требуются права на запись пользователя (выдаются по запросу).

Необходимые данные:

  • id — id пользователя, осуществляющего запрос (не нужно, если доступ к API привязан к ip пользователя)
  • key — ключ доступа к API пользователя
  • site — сайт пользователя
  • name — имя пользователя
  • password — пароль пользователя
  • email — почта пользователя
  • phone — телефон пользователя
  • affiliate_tag — партнерская метка (если есть)

Пример:

http://callbackhunter.com/api/create_user?site=site.com&name=Владислав&password=qwerty&email=qwer@qwe.rty&phone=789456123

create_widget — требуются права на запись виджета (выдаются по запросу).

Необходимые данные:

  • key — ключ доступа к API пользователя
  • user_id — id пользователя, для которого нужно создать виджет. Совпадает с id пользователя-владельца api-доступа (не обязательно совпадает, если доступ к API привязан к ip пользователя)
  • site — сайт, на котором будет размещен виджет
  • phone — телефон менеджера, отвечающего на звонки
  • sms_phone — телефон, на который будут приходить сообщания sms-рассылки
  • country — страна, к которой относится сайт с виджетом
  • mail — почтовый адрес программиста, ответственного за виджет

Пример:

http://callbackhunter.com/api/create_widget?user_id=19494&site=vivacuba.su&phone=+(7)123456789&sms_phone=+(7)123456789&country=Россия&mail=bbb@bbb.bb

Создание пользователя + виджета

Для создания необходимо прописать IP, с которого будут осуществляться запросы к API.

Возвращает id пользователя и хэш виджета. Если таковых не существует — создает.

Для вызова необходимо указать верный email и пароль пользователя, а также сайт, на котором находится виджет.

При создании пользователя ему присваивается партнерская метка, по которой создатель может к нему обратиться.

Параметры запроса:

  • key=123 — ключ доступа. Дается при создании api-аккаунта
  • &usite=mysite.site — сайт регистрируемого пользователя
  • &uname=иван — имя регистрируемого пользователя
  • &upass=qwerty — пароль регистрируемого пользователя
  • &umail=qwerty@qwe.rty — почта регистрируемого пользователя. Должна быть уникальной
  • &uphone=7189456123 — телефон регистрируемого пользователя
  • &affiliate_tag=nethouse — необязательный параметр. метка владельца аккаунта API. Не должна меняться
  • &wsite=site.local — адреса сайта нового виджета
  • &wphone=789789789 — телефон менеджера нового виджета
  • &wmail=bbb@hhh.kk — email менеджера нового виджета
  • &sms_phone=987987987 — телефон для получения sms

Пример:

callbackhunter.com/api/create_widget_fast?key=123&usite=mysite.site&uname=иван&upass=qwerty&umail=qwerty@qwe.rty&uphone=7189456123&affiliate_tag=nethouse&wsite=site.local&wphone=789789789&wmail=bbb@hhh.kk&sms_phone=987987987

Обращение возвращает JSON-массив.

В случае успеха в массиве будут содержаться следующие данные:

  • user_id — id сгенерированного пользователя
  • widget_id — id нового виджета
  • tracker_code — код виджета, подставляемый в скрипт в месте для
  • hunter_code (<script type=»text/javascript» src=»//cdn.callbackhunter.com/cbh.js?hunter_code=287228e4e73a25b5bfc4bfb5befdbf83″ charset=»UTF-8″></script>
  • status — статус операции (в данном случае будет success)
  • api_key — апи-ключ нового пользователя

Пример:

{«user_id»:»35569″,»tracker_code»:»287228e4e73a25b5bfc4bfb5befdbf83″,»api_key»:»a456b789c123d789″,»status»:»success»}

В случае ошибки будет выведен json-массив со следующими данными:

  • status — статус операции (в данном случае будет error)
  • error_code — код ошибки (коды ошибки можно посмотреть на сайте callbackhunter.com/cabinet/widget_api)
  • error_descr — описание кода ошибки

Пример:

{«status»:»error»,»error_code»:»wrong0″,»error_descr»:»\u0412\u044b \u0432\u0432\u0435\u043b\u0438 \u043d\u0435\u0432\u0435\u0440\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435.»}

Партнерская метка

/api/add_user_affiliate_tag?email=mail@mail.com&password=qwerty&key=mykey&tag=nethouse

Параметры запроса:

  • email — почтовый адрес пользователя;
  • password — пароль пользователя;
  • key — ключ доступа к API;
  • tag — добавляемая партнерская метка. Если такая уже установлена, возвращается success.

В случае успеха будет возвращен json-массив следующего вида:

{«status»:»success»,»result»:»mytag»}
где mytag — новая партнерская метка пользователя.

Получение параметров пользователя — name, email, phone, email_notify, sms_notify

/api/get_user_settings?id=19494&key=123

Передаваемые параметры:

  • key — ключ доступа к API
  • id — id пользователя

Обращение возвращает JSON-массив.

В случае успеха в массиве будут содержаться следующие данные:

  • id — id пользователя
  • name — имя пользователя
  • email — почтовый адрес пользователя
  • phone — телефон пользователя
  • email_notify — включена ли рассылка по email, Y или N
  • sms_notify — включена ли sms-рассылка, Y или N
  • expire_tariff — дата истечения тарифа (datetime)
  • payments_type — тип тарифа (в минутах minutes или в клиентах leads)
  • lead_count — число клиентов. только если тип тарифа leads
  • min_count — число минут. только если тип тарифа minutes

Пример ответа:

{«id»:»12345″,»name»:»Alex»,»email»:»mail@mail.org»,»phone»:»123456780″,»email_notify»:»N»,»sms_notify»:»Y»,»status»:»success»}

Изменение параметров пользователя — name, email, phone, email_notify, sms_notify

/api/change_user_settings?id=19494&key=123

Изменение одного или нескольких настроек пользователя.

Передаваемые параметры:

  • key — ключ доступа к API
  • id — id пользователя
  • name — новое имя пользователя (если изменяется)
  • email — новый email пользователя (если изменяется)
  • phone — новый телефон пользователя (если изменяется)
  • email_notify — включение/выключение рассылки по email, Y или N (если изменяется)
  • sms_notify — включение/выключение sms-рассылки, Y или N (если изменяется)

Обращение возвращает JSON-массив.

В случае успеха в массиве будут содержаться следующие данные:

  • id — id пользователя
  • name — имя пользователя
  • email — email пользователя
  • phone — телефон пользователя
  • email_notify — включена ли рассылка по email, Y или N
  • sms_notify — включена ли sms-рассылка, Y или N

Пример ответа:

{«id»:»12345″,»name»:»Alex»,»email»:»mail@mail.org»,»phone»:»123456780″,»email_notify»:»N»,»sms_notify»:»Y»,»status»:»success»}

Восстановление пароля

/api/repasswd?email=mail@mail.ma&user_id=123&key=123

Получение нового пароля на указанную почту

Передаваемые параметры:

  • key — ключ доступа к API
  • user_id — id пользователя
  • email — email пользователя, под которым он зарегистрирован в cbh

В случае успеха будет возвращен json-массив следующего вида:
{«status»:»success»,»result»:»1″}

Изменение пароля

/api/chpasswd?email=mail@mail.ma&user_id=123&key=123&old_passw=qwerty&new_passw=asdfg&confirm_passw=asdfg

Передаваемые параметры:

  • key — ключ доступа к API
  • user_id — id пользователя
  • email — email пользователя, под которым он зарегистрирован в cbh
  • old_passw — старый пароль
  • new_passw — новый пароль
  • confirm_passw — подтверждение нового пароля

В случае успеха будет возвращен json-массив следующего вида:
{«status»:»success»,»result»:»1″}.

Полезные статьи