Основы работы с API

API ucaller.ru построено на REST-принципах, работает с реальными объектами и обладает предсказуемым поведением. API в качестве основного протокола использует HTTP, а значит, подходит для разработки на любом языке программирования, который умеет работать с HTTP-библиотеками (cURL и другими).

Основы работы с API

IP адрес API сервера

Мы рекомендуем использовать HTTPS

У нас так же есть HTTP если возникнут проблемы с сертификатами

Если в вашей стране заблокированны Русские ip адреса используйте этот домен только HTTP

API поддерживает POST и GET-запросы. POST-запросы используют JSON-аргументы. API всегда возвращает ответ в формате JSON, независимо от типа запроса.

Аутентификация

Узнать Секретный ключ вашего сервиса можно в личном кабинете, в разделе Мои сервисы. Если у вас еще нет сервиса создайте его.

Есть несколько вариантов аутентификации запросов

  • Аутентификация с помощью Query только для GET запросов

    curl https://api.ucaller.ru/?key=<Секретный ключ вашего сервиса>&service_id=<Идентификатор сервиса>
    
  • Аутентификация с помощью JSON

    curl https://api.ucaller.ru/ \
    -X "POST" \
    -H "Content-Type: application/json" \
    -d '{"key":"<Секретный ключ вашего сервиса>", "service_id":"<Идентификатор сервиса>"}'
    
  • Аутентификация с помощью Header

    curl https://api.ucaller.ru/\
    -H "Authorization: Bearer <Секретный ключ вашего сервиса>.<Идентификатор сервиса>"
    

Тестирование API

Для тестирования вы можете использовать номера телефонов

  • 79000000001 авторизации на этот номер будут всегда успешными
  • 79000000002 авторизации на этот номер будут всегда ошибками, (не возможно дозвонится до абонента)

В личном кабинете все тестовые авторизации не будут тарифицироваться а также будут иметь статус ТЕСТ.

Коды ошибок

Если запрос обработан успешно, API вернет HTTP-код 200 и тело ответа.

Если в процессе обработки произойдет ошибка, API вернет объект ошибки.

КОД ОШИБКИ
ОПИСАНИЕ
0
Ваш IP адрес заблокирован
1
Неверный запрос. Проверьте синтаксис запроса и список используемых параметров (его можно найти на странице с описанием метода).
2
Один из необходимых параметров был не передан или неверен. Проверьте список требуемых параметров и их формат на странице с описанием метода.
3
Неверный номер телефона
4
Работа вашего сервиса отключена в настройках
5
Возникла ошибка при инициализации авторизации
9
Авторизация для этой страны запрещена настройками географии работы в личном кабинете
10
Этот id не существует или у вас нет к нему доступа
11
Авторизация не может быть бесплатно повторена, время истекло
12
Авторизация не может быть бесплатно повторена, лимит исчерпан
13
Ошибочная попытка бесплатной инициализации повторной авторизации
18
Достигнут лимит в 4 исходящих звонка в минуту или 30 вызовов в день для одного номера
19
Подождите 15 секунд перед повторной авторизации на тот же номер
20
Авторизация голосом для этой страны не доступна
401
Аутентификация не удалась. Убедитесь, что Вы используете верную схему aутентификации.
405
Метод не поддерживается.
429
Слишком много запросов в секунду
500
Произошла внутренняя ошибка сервера.
Попробуйте повторить запрос позже.
1001
Ваш аккаунт заблокирован
1002
Недостаточно средств на балансе аккаунта
1003
С этого IP запрещено обращаться к API этого сервиса
1004
Сервис заархивирован
1005
Требуется верификация номера телефона в личном кабинете

Пример тела ответа ошибки

{
 "status":false,
 "error":"Authentication failed. Make sure you are using the correct authentication scheme. (https://developer.ucaller.ru/)",
 "code":401
}

Доступные Методы API

Ограничения API →
Состоянии нашей инфраструктуры →
Инициализация авторизации initCall →
Запрос повторной бесплатной авторизации initRepeat →
Получение информации о аккаунте getAccount →
Получение информации об авторизации getInfo →
Получение информации по вашему сервису getService →
Запрос текущего баланса в личном кабинете getBalance →
API стандартизации телефонов →