Перейти к основному содержимому

Руководство по API

Обмен данными с BestDoctor осуществляется по REST API.

Авторизация

Для авторизации используется схема Token-Based Authentication.

Токен предоставляется Партнёру в рамках интеграции с BestDoctor.

В случае потери токена необходимо обратиться в службу технической поддержки.

Схема взаимодействия

Некоторые операции могу занимать продолжительное время, например, калькуляция или ручная обработка. В этом случае устанавливается таймаут, при наступлении которого возвращается текущий статус Заказа. Если этот статус не является терминальным, необходимо производить опрос (polling) о состоянии Заказа до его попадания в терминальный статус.

Таймаут

Таймаут ответа на запрос по-умолчанию 3 секунды. По достижении таймаута возвращается информация о текущем состоянии Заказа. Если Заказ не находится в одном из терминальных статусов, необходимо выполнять опрос состояния Заказа.

Таймаут можно изменить с помощью query-параметра await_timeout

В этом случае схема взаимодействия выглядит следующим образом:


Подход с опросом применяется для методов-действий, которые запускают изменения статуса Заказа, например, создание или подтверждение оплаты.

Коды ответов

КодОписание
200Успешный ответ.
201Успешный ответ, заказ создан.
400Ошибка валидации тела запроса.
401Ошибка аутентификации.
403Доступ запрещен.
404Заказ не найден.
420Ошибка бизнес-логики. Обратитесь в службу технической поддержки.
500Внутренняя ошибка. Обратитесь в службу технической поддержки.

SLA переходов

Максимальное время пребывания Заказа в нетерминальных статусах:

СтатусВремя
VALIDATION5 мин.
CALCULATION5 мин.
CALCULATED1 мин.
PROCESSING5 мин.

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

Схема опроса

Опроса состояния Заказа рекомендуется с постоянно увеличивающимися интервалами в зависимости от SLA. Например, если SLA статуса составляет 5 минут, то схема опроса может выглядеть следующим образом:

  • 1 сек.
  • 10 сек.
  • 1 мин.
  • 5 мин.

Спецификация OpenAPI

Генерация API-клиента

Спецификация OpenAPI позволяет сгенерировать файлы API-клиента на любом языке программирования или фреймворке, который поддерживает OpenAPI-генератор.

Это позволяет упростить интеграцию с API Партнёрских Заказов.