MySlot

Интеграции

Лимиты API и ошибка 429: как передать записи в CRM без потерь

Как обрабатывать лимиты API при передаче записей в CRM: ошибка 429, Retry-After, очередь, безопасные повторы, приоритеты и контроль задержек синхронизации.

7 минут чтения·Обновлено: 29 сентября 2026 г.·Автор: команда MySlot
Очередь бронирований с паузой отправки и успешно переданными карточками CRM
Управляемая очередь помогает переждать ограничения внешней системы. Концептуальная иллюстрация.

Коротко

Ограничение API не должно приводить к потере записей: операции передачи в CRM сохраняют в устойчивой очереди, отправляют с допустимой скоростью и повторяют по правилам внешнего сервиса. Ответ 429 обычно означает превышение частоты запросов, а не отмену самой брони. Клиентский статус записи и состояние её синхронизации необходимо разделять.

Разбор полезен командам, которые связывают онлайн-запись с CRM, аналитикой или уведомлениями. Здесь рассматривается перегрузка исходящей интеграции: задания известны, но принимающая система временно ограничивает обработку. Это отличается от поиска пропущенных webhook. Приведённые схемы являются требованиями к интеграции, а не описанием готового механизма очередей MySlot.

Главное в статье

Подтверждённая бронь и успешно обновлённая CRM являются разными результатами.

Лимит может действовать на аккаунт, приложение, метод или несколько параметров сразу.

Повторы должны учитывать Retry-After и контракт конкретного API.

Рост очереди оценивают по возрасту заданий и скорости обработки, а не только по количеству ошибок.

Повторная отправка операции требует защиты от дублей и устаревших изменений.

Раздел 01

Что означает ошибка 429 при передаче записей

Стандарт HTTP описывает 429 Too Many Requests как превышение допустимого числа запросов за определённый период. Ответ может содержать Retry-After с указанием ожидания. При этом сам стандарт не задаёт универсальный способ подсчёта или идентификации клиента: реальные ограничения необходимо читать в документации конкретного провайдера.

Нельзя переносить лимит одной CRM на другую или считать его постоянным для всех методов. Например, документация Shopify отдельно различает ограничения по стоимости запросов и по количеству обращений для разных API. Практический вывод для проектирования: параметры скорости и параллельности задаются по контракту интеграции, а не одной произвольной задержкой на весь проект.

Отделяйте ограничение частоты от неверных данных, отсутствия прав и сетевого тайм-аута. Бесконечный повтор некорректного запроса не исправит обязательное поле. А тайм-аут после отправки не доказывает, что операция не выполнена: прежде чем создавать новый объект, нужен предусмотренный контрактом способ проверить результат или безопасно повторить исходное действие.

Раздел 02

Как устроить очередь без потери заданий

Сначала определите систему, которая подтверждает бронь. Если это сервис записи, временное ограничение CRM не должно освобождать занятый слот или показывать клиенту ошибку повторного оформления. Карточка может оставаться подтверждённой, а синхронизация иметь отдельное состояние: ожидает, повторяется, завершена или требует вмешательства.

Задание нужно сохранять надёжно вместе с изменением исходных данных либо через эквивалентную проверяемую схему. Иначе возможен промежуток: бронь уже записана, а процесс завершился до создания задания. Часто для этого применяют транзакционный журнал исходящих событий: отдельный обработчик читает сохранённые операции и отмечает результат передачи.

Минимальная карточка задания включает идентификатор брони, тип операции, версию исходных данных, адресата, число попыток, время следующего запуска и результат последней попытки. Для внешнего объекта хранится устойчивое соответствие идентификаторов. Секреты доступа и лишние персональные данные не должны попадать в диагностические сообщения.

При нескольких обработчиках задание должно переходить в работу управляемо: с блокировкой или арендой и восстановлением после сбоя. Повторная обработка всё равно возможна, поэтому очередь сама по себе не гарантирует отсутствие дублей. Для каждой изменяющей операции нужна отдельная стратегия идемпотентности, то есть безопасного повторения одного действия.

Раздел 03

Как обрабатывать разные результаты API

ОтветОсновное действиеЧего избегать
Ограничение частотыОтложить отправку по правилам APIНемедленных повторов всеми обработчиками одновременно.
Неверные данныеПередать причину на исправлениеБесконечного повтора без изменения запроса.
Проблема доступаПроверить авторизацию и праваПовторной отправки секретов в открытые журналы.
Неопределённый результатСверить выполнение или повторить идемпотентноСоздания второго заказа с новым идентификатором операции.

Раздел 04

Как настроить ожидание и приоритеты

При наличии Retry-After соблюдайте указанное ожидание. Заголовок может содержать число секунд или HTTP-дату; обработчик должен понимать поддерживаемый провайдером формат. Если заголовка нет, применяйте документированную стратегию повторов, например увеличение интервалов с небольшой случайной добавкой, чтобы несколько процессов не возобновляли поток одновременно.

Ожидание относится к области ограничения, а не только к одному сообщению. Если квота общая для аккаунта, остальные обработчики не должны продолжать нагружать его прежним темпом. Разделите ограничения скорости и числа одновременных запросов, согласуйте их между исполнителями и учитывайте обращения других интеграций к тому же аккаунту.

Приоритеты определяются последствиями задержки. Изменение ближайшего визита может быть срочнее ночной выгрузки отчётов, но старые задания не должны оставаться без обработки навсегда. Кроме того, приоритет не разрешает нарушать зависимость: обновление внешней карточки нельзя выполнить раньше её создания, если API требует существующий объект.

Документация Microsoft Graph рекомендует использовать Retry-After, а при его отсутствии для соответствующих сценариев описывает экспоненциальное ожидание. Это пример подхода конкретного сервиса. Для CRM и платёжных API условия повторов, допустимые операции и предельные сроки нужно проверить отдельно.

Раздел 05

Какие показатели контролировать

Возраст очереди

Измеряйте ожидание самого старого задания и распределение задержек. Небольшая очередь из зависших операций может быть опаснее большого потока, который быстро обрабатывается.

Баланс поступления и обработки

Сравнивайте скорость появления заданий с фактической пропускной способностью. Если входящий поток постоянно выше, повторы не решат проблему: нужно уменьшать запросы или пересматривать доступную квоту.

Ошибки по причинам

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

Повторные побочные действия

Контролируйте дубли контактов, задач и уведомлений. Однократное обновление карточки не означает, что связанный сценарий не отправил клиенту несколько сообщений.

Операции на разборе

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

Раздел 06

Как проверить интеграцию перед запуском

01

Уточнить контракт

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

02

Смоделировать ограничение

На тестовом контуре верните серию ответов 429. Проверьте, что очередь сохраняется после перезапуска, а брони не отменяются из-за временной недоступности CRM.

03

Проверить изменение во время ожидания

Перенесите или отмените бронь, пока прежнее обновление стоит в очереди. Устаревшая операция не должна восстановить уже отменённый визит; порядок или сверка версий должны обеспечивать актуальный результат.

04

Проверить неопределённый ответ

Смоделируйте выполнение операции с потерей ответа. Повторный запуск не должен создать вторую карточку, списание или уведомление.

05

Отработать восстановление

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

Раздел 07

Частые вопросы об ограничениях API

Поможет ли добавить больше обработчиков? Только если узкое место находится внутри интеграции. При общей внешней квоте увеличение параллельности может лишь ускорить её исчерпание. Сначала измерьте разрешённую и фактическую скорость.

Можно ли объединять несколько обновлений одной брони? Иногда можно передавать последнее состояние вместо промежуточных снимков. Но финансовые операции, история событий и зависимые действия не должны исчезать при таком объединении. Правило определяется смыслом операции, а не удобством очереди.

Нужно ли показывать клиенту ошибку CRM? Не обязательно, если бронь уже надёжно подтверждена в основной системе. Сотрудник видит задержку синхронизации, а клиент получает правдивый статус своего заказа. Если внешняя операция обязательна для подтверждения, интерфейс должен явно сохранять промежуточное состояние.

Важно

Практический совет

Попросите интегратора показать не только успешную передачу записи, но и восстановление после ограничения: сохранённое задание, паузу, повтор, отсутствие дубля и контроль устаревшей версии. Именно этот путь определяет надёжность в часы пик.

Вывод

Итог

Устойчивая интеграция управляет нагрузкой и сохраняет смысл операций при задержках. Очередь, ограничение скорости, безопасные повторы и наблюдаемость работают вместе; ни один из этих элементов не заменяет остальные.

Обсуждая интеграцию MySlot с CRM через API, согласуйте источник истины, квоты принимающей системы и сценарии восстановления. Конкретные лимиты, гарантии доставки и способы защиты от дублей должны быть подтверждены документацией и тестами выбранного решения.

Демо

Хотите понять, какой сценарий онлайн-записи нужен вашему бизнесу?

Покажем демо MySlot и разберём ваш процесс: услуги, расписание, ресурсы, CRM, оплаты и уведомления.

Получить демо

MySlot

Когда стоит рассмотреть MySlot

MySlot подойдёт, если вам нужно:

принимать онлайн-записи
управлять расписанием
учитывать сотрудников или ресурсы
работать с группами
принимать оплату или предоплату
отправлять уведомления
передавать заявки в CRM
адаптировать запись под бренд
убрать ручной перенос данных

Возможности

Возможности MySlot по теме статьи

Запуск

Хотите запустить онлайн-запись без хаоса и ручных переносов?

MySlot поможет принимать записи, управлять расписанием, ресурсами, оплатами и передавать данные в CRM.