Click2Call API v1


Что такое Click2Call API

Click2Call API — интерфейс для разработчиков, позволяющий инициировать звонок без ручного набора номера, используя номера и мобильное приложение SIPSIM.


Маршруты и аутентификация


Базовый адрес API

https://app.sipsim.by/api/v1


Основные endpoints

  • GET /init_call
  • GET /init_call/health


Токены и параметры аутентификации

Параметр
Как получить
Назначение
crm_token
выдается технической службой SIPSIM единоразово разработчику
идентификация разработчика
token
генерируется в ЛК SIPSIM: Интеграции → API Click2Call
идентификация клиента разработчика
crm_name
выдается технической службой SIPSIM единоразово разработчику
идентификатор CRM/интеграции


Health Check

Проверяет корректность токенов и доступность API.


Endpoint

GET /api/v1/init_call/health?token=<token>&crm_name=<crm_name>&crm_token=<crm_token>


Обязательные параметры

  • token
  • crm_name
  • crm_token


Ответы

200 OK

{
  "status": "ok"
}

403 Forbidden

{
  "status": "ok"
}

Формат запросов

Для Click2Call API v1 используется метод GET с передачей параметров в query string.

Пример: /api/v1/init_call?crm_name=...&crm_token=...&token=...&caller=...&receiver=...&&crm_username=...

Примечание: несмотря на то, что ответ возвращается в JSON, параметры в GET /init_call передаются как query-параметры.


Инициация звонка


Endpoint

GET /api/v1/init_call


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

Параметр
Тип
Описание
Обязательный
crm_name
string
Имя CRM, выданное SipSim
Да
crm_token
string
Токен разработчика
Да
token
string
Токен клиента разработчика
Да
caller
string
Номер SipSim, с которого инициируется вызов (международный формат)
Да
receiver
string
Номер, на который идет вызов (международный формат)
Да
pbx_id
string
Устаревший параметрНет
external_pbx_id
string
Дополнительный внешний ID звонка для webhook-синхронизации. Если не передан, используется pbx_id
Нет
crm_username
string
Имя пользователя/клиента в CRMДа
crm_user_email
string
Email пользователя/клиента в CRM
Нет

Пример запроса

GET /api/v1/init_call?crm_name=CRMNAME&crm_token=aSdft12345QWEAS54211f&token=aSdft12345QWEAS54211f&caller=%2B375291111111&receiver=%2B375291111112&pbx_id=asd123wqda12&external_pbx_id=crm-call-20260322-001&crm_username=Евгений%20Алёхин&crm_user_email=user228@gmail.com

Примеры ответов


Успешный ответ

{
  "status_code": 200,
  "success": true,
  "message": "Request accepted",
  "external_pbx_id": "crm-call-20260322-001"
}

Ошибка авторизации / обязательных auth-параметров

{
  "status_code": 500,
  "success": false,
  "message": "crm_token is required param, crm_name is required param, token is required param, something went wrong"
}

Ошибка валидации бизнес-параметров

{
  "status_code": 500,
  "success": false,
  "message": "caller is required param, receiver is required param, crm_username is required param, invalid caller number, invalid receiver number, something went wrong"
}

Приложение не установлено / невалидный device token

{
  "status_code": 400,
  "success": false,
  "message": "Invalid device token of uninstalled app"
}


Важно про pbx_id и external_pbx_id в webhook

Для синхронизации API-запроса и webhook-событий используются два идентификатора:

  • pbx_id — идентификатор звонка со стороны телефонии/ATS
  • external_pbx_id — идентификатор, переданный вами при init_call

Это позволяет стабильно сопоставлять webhook-события с исходным CRM-запросом.


Что если телефон выключен

Если на момент запроса приложение ранее было установлено, но устройство выключено/вне сети, запрос может вернуться как успешно принятый.
Для восстановления корректной обработки вызовов после перезагрузки устройства рекомендуется открыть приложение SIPSIM вручную.


Дополнительная информация

Инструкция по мобильному приложению SIPSIM — предоставляется отдельно.