Основы работы с 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
Авторизация голосом для этой страны не доступна
50
Превышен лимиты авторизации в час. Лимиты устанавливаются в настройках сервиса.
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 →
Получение информации о аккаунте getAccount →
Получение информации об авторизации getInfo →
Получение информации по вашему сервису getService →
Запрос текущего баланса в личном кабинете getBalance →
API стандартизации телефонов →