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

Первая интеграция

Переходите от тестового tenant к production осознанно.

Обе среды используют одинаковый контракт, но учётные данные, данные tenant, база и политика сброса должны быть отдельными.

Последовательность интеграции

  1. 1. Подготовьте sandbox

    Используйте отдельные API-origin, тестовый tenant и учётные данные sandbox. Добавляйте только синтетические услуги, персонал и контакты.

  2. 2. Создайте приложение с минимальными правами

    Включите только нужные области. Явно подтвердите права на запись и при необходимости ограничьте локации, источники и IP.

  3. 3. Читайте перед записью

    Получите актуальную опубликованную услугу и свободное время, затем передайте возвращённые ID без изменений в запросе.

  4. 4. Сделайте повтор записи безопасным

    Используйте новый Idempotency-Key для каждой логической операции. Перед отменой или переносом получите запись и передайте expected_version.

  5. 5. Проверьте доставку

    Подпишите публичный HTTPS endpoint, сохраните одноразовый секрет в серверном хранилище и фиксируйте ID webhook-событий до побочных действий.

  6. 6. Переходите к production осознанно

    Выдайте новый production-ключ и секрет подписи. Не используйте данные sandbox, tenant, записи или webhook URL как механизм миграции.

Пример серверной авторизации

http
GET /api/partner/v1/catalog?locale=en&limit=25 HTTP/1.1
Authorization: Bearer fnx_test_example_key_not_a_real_credential
Origin: https://partner.example

Sandbox и production разделены

Тестовая среда (TEST)

Нужны отдельные база, tenant, API-origin и издатель учётных данных. Платежи выключены, данные только синтетические, политика сброса — DAILY или ON_DEMAND.

Рабочая среда (LIVE)

После готовности интеграции создайте отдельные production-приложение, учётные данные и webhook-секрет. Production не является резервом для sandbox.

Аутентификация и области

ОбластьДоступРазрешённые действия
catalog.readЧтениеЧитайте актуальный опубликованный каталог услуг, локаций и специалистов.
availability.readЧтениеЧитайте ограниченный набор актуального свободного времени.
booking.createЗаписьСоздавайте гостевую запись с согласием, external_reference и Idempotency-Key.
booking.manageЗаписьЧитайте и изменяйте только записи приложения через непрозрачные ссылки pbr_.
webhooks.manageЗаписьНастраивайте, приостанавливайте, повторяйте и ротируйте webhook endpoint в центре владельца.

Не храните эти значения в браузере

  • Partner API-ключи и секреты подписи webhook.
  • Необработанные Idempotency-Key, если они содержат бизнес-значение или данные клиента.
  • Архивы webhook-данных с непрозрачными ссылками на записи и деталями расписания.

Политика поддержки и перехода к production

  • Перед переходом к production проверьте в sandbox приложение, разрешённые источники/IP, локации, webhook-приёмник и повторы.
  • Для проблемы интеграции укажите среду, endpoint, время UTC, HTTP-статус и X-Request-Id. Не добавляйте учётные данные, секрет, полный payload или контакты.
  • Эта документация не обещает время ответа или доступность. Используйте статическую страницу статуса как справочник контракта и сохраняйте ограниченные повторы.
Начало работы | Feny для разработчиков