1. Режимы
Sandbox предназначен для интеграции и не отправляет реальные сообщения и не расходует аванс. Production включает реальные каналы после назначения тарифа и настройки организации.
2. Запрос и маршрутизация
Заказчик передает запрос через API или интерфейс. OTPilot проверяет формат, ограничения и доступность привязанных каналов, затем выбирает канал в соответствии с настройками и доступностью.
Повтор запроса с тем же ключом идемпотентности не создает повторную платную операцию, если параметры запроса совпадают.
3. Биллинговое событие
Если активный тариф не устанавливает более выгодное правило, услуга соответствующего канала считается начатой и подлежит учету после принятия сообщения сторонним каналом или провайдером для передачи. Ошибка OTPilot до такой передачи не тарифицируется.
Отказ, блокировка или недоставка после принятия сторонним каналом могут тарифицироваться, если канал начислил стоимость. Примененная цена и статус показываются в детализации операции. Проверка введенного пользователем кода отдельно не тарифицируется, если тариф прямо не говорит иное.
4. Статусы
- created: запрос создан, но не передан в канал.
- submitted или accepted: канал принял сообщение для обработки.
- delivered: канал подтвердил доставку, если такой статус доступен.
- failed или rejected: обработка завершилась ошибкой или отказом.
- approved или denied: результат проверки кода, а не гарантия доставки сообщения.
5. Цена и округление
Цена каждой операции определяется активной версией тарифа на момент биллингового события. Денежный учет ведется в рублях и копейках. OTPilot не изменяет стоимость уже учтенной операции задним числом, кроме исправления подтвержденной технической ошибки.
До включения Production организация видит назначенный тариф и единицы тарификации в кабинете. Без опубликованного тарифа платные отправки не включаются.
6. Баланс и остановка
Средства зачисляются на авансовый баланс только после подтверждения платежа. При недостаточном остатке OTPilot вправе отклонить новый платный запрос. Отрицательный баланс возможен только из-за запоздавшего подтверждения стоимости сторонним каналом и подлежит погашению.
7. Ограничения каналов
Заказчик учитывает правила VK, Telegram, email-провайдеров и иных подключенных каналов. OTPilot может менять порядок маршрутизации при недоступности канала, но не подключает новый платный канал без информации в тарифе или настройках.
Лимиты защищают сервис и адресатов. Попытки обхода rate limit, массовая нежелательная рассылка и использование чужих идентификаторов запрещены.
8. Поддержка и корректировки
Сообщения об ошибках принимаются на otpilot.app@yandex.ru и по телефону +7 964 190-92-42. Для проверки нужны идентификатор операции, время и описание без передачи кода подтверждения или секретного API-ключа.
При подтвержденной ошибке учета OTPilot корректирует детализацию и авансовый баланс.