[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"glossary-bulk-api::ru":3,"gloss-cluster-bulk-api::ru":26,"gloss-next-bulk-api::ru":9},{"slug":4,"category":5,"name":6,"definition":7,"meta_desc":8,"faq":9,"schema_markup":9,"related":10},"bulk-api","integration","Массовый API","Массовый API (bulk API) — это отдельный набор эндпоинтов, который поставщик предлагает для переноса множества записей разом, в отличие от поштучного API, обслуживающего обычный трафик приложения. Он существует потому, что у этих двух нагрузок нет ничего общего: одной нужна одна запись за миллисекунды, другой — перенести сто тысяч записей, и ей всё равно, в какой момент часа это закончится. Обращаться со второй как с быстрым циклом по первой — верный способ упереться в лимит запросов и встать на первой же исторической загрузке.\n\nТри различия важнее прочих. Массовый API обычно асинхронен: вы отправляете задание, получаете идентификатор, опрашиваете его состояние и затем скачиваете результат, а не читаете ответ, — значит, коду нужно место, где задание переживёт породивший его запрос. Он тарифицируется иначе, как правило по квоте заданий или строк, а не по лимиту запросов, поэтому бюджет, рассчитанный для обычного API, здесь неверен. И ошибки возвращаются по каждой записи: задание может отчитаться об успехе, когда часть строк отклонена валидацией, и это самый частый способ, которым массовый импорт превращается в проблему с данными спустя месяцы. Вызывающая сторона, смотрящая только на статус задания, записала частичный импорт как чистый.\n\nМелкие различия подводят не реже. Покрытие полей нередко уже, чем у поштучного API: объект, который вы обычно создаёте, может быть недоступен для массового создания или доступен не со всеми атрибутами. Валидация иногда слабее, то есть массовый путь — это дверь, через которую в систему попадают записи, отвергнутые бы интерактивным API. Порядок внутри задания не гарантируется, поэтому пачку, содержащую и создание, и последующее обновление одной и той же записи, нельзя считать применяемой именно в этой последовательности.\n\nПрактические привычки: всегда читайте результат по каждой записи и сверяйте количества, а не только статус задания; давайте каждому заданию ключ идемпотентности или собственный идентификатор пачки, чтобы повторная отправка после таймаута не записала всё дважды; подбирайте размер пачки под заявленный поставщиком максимум, а не под то, что помещается в память; и делайте первую боевую пачку такой, чтобы отказы мог прочитать человек.","Массовый API переносит множество записей одним асинхронным заданием: тарифицируется отдельно и может отчитаться об успехе при части отклонённых строк.",null,[11,14,17,20,23],{"slug":12,"name":13},"backfill","Обратное заполнение (Backfill)",{"slug":15,"name":16},"concurrency-limit","Лимит параллельных запросов",{"slug":18,"name":19},"cursor-pagination","Курсорная пагинация",{"slug":21,"name":22},"idempotency-key","Ключ идемпотентности",{"slug":24,"name":25},"rate-limit","Ограничение частоты запросов (Rate Limit)",[27,31,34,38,39,42,45,48,51,54,57,60],{"slug":28,"category":5,"name":29,"updated_at":30},"api-deprecation","Устаревание API","2026-09-08T21:32:37+00:00",{"slug":32,"category":5,"name":33,"updated_at":30},"app-review","Проверка приложения",{"slug":35,"category":5,"name":36,"updated_at":37},"backend-for-frontend","Backend for Frontend (BFF)","2026-09-08T21:32:36+00:00",{"slug":15,"category":5,"name":16,"updated_at":37},{"slug":40,"category":5,"name":41,"updated_at":30},"connector-versioning","Версионирование коннекторов",{"slug":43,"category":5,"name":44,"updated_at":30},"delete-propagation","Распространение удалений",{"slug":46,"category":5,"name":47,"updated_at":30},"effective-permissions","Действующие права",{"slug":49,"category":5,"name":50,"updated_at":37},"event-ordering","Порядок событий",{"slug":52,"category":5,"name":53,"updated_at":37},"field-mapping","Сопоставление полей (field mapping)",{"slug":55,"category":5,"name":56,"updated_at":37},"function-schema","Схема функции",{"slug":58,"category":5,"name":59,"updated_at":37},"grpc","gRPC",{"slug":61,"category":5,"name":62,"updated_at":37},"integration-marketplace","Каталог интеграций (integration marketplace)"]