Очередь и лимиты
актуальнаяКак HTTP и TCP работают одновременно, сколько документов ждёт очереди и какие есть таймауты.
Касса одна и обрабатывает один документ за раз. Оба канала складывают документы в общую очередь.
Что гарантируется
- HTTP и TCP можно включить одновременно.
- Документы обрабатываются по одному, в порядке поступления, независимо от канала. Пришедший вторым ждёт, его отправитель видит
PROCESSING. - Документ одного канала не перебивает документ другого: пока идёт оплата картой по TCP, HTTP-документ подождёт.
- Защита от дублей общая. Один и тот же
id, присланный в оба канала, обработается один раз, оба получат один результат. - Результат хранится по
idи уходит тому каналу, который прислал документ.
Лимиты кассы
| Параметр | Значение | Что при превышении |
|---|---|---|
| Длина очереди | 8 документов | ERROR «Очередь документов заполнена (8), повторите позже» |
| Ожидание, пока касса возьмёт документ в работу | 120 секунд | ERROR «Касса не приняла документ в обработку» |
| Ожидание результата документа в работе | 180 секунд | ERROR «Превышено время обработки документа» |
| Хранение результатов на кассе | 100 документов, 24 часа | статус по забытому id: ERROR «Документ не найден. Сначала отправьте документ» |
Документ, пришедший в свёрнутое приложение, ждёт своей очереди и доставляется, как только приложение снова на экране, в пределах 120 секунд.
Правила для интегратора
- Один
id, один канал. Дублирование в оба канала работает, но путает диагностику. - Не шлите следующий документ, не завершив предыдущий. Особенно по HTTP: сервер помнит только последний документ сессии, и статус предыдущего вернёт
ERROR«The ID does not match the original request.», если чек ещё не попал в базу сервера. PROCESSINGэто нормально. Единственная реакция: подождать и спросить снова.- Две системы на одной кассе: закладывайте, что операция может занять дольше из-за очереди.