Русский
Приём SMS-кодов foodpanda через API, вебхуки или панель
Команда получает код подтверждения foodpanda, заказав одноразовый номер OTP Gateway от OTP Route для нужной страны, введя его в тестируемый сценарий foodpanda и забрав код через вебхук, опрос API или панель. Цены — от $0.20 за код, а заказ, по которому SMS не пришло в течение 20 минут, возвращается полностью.
Какие вызовы API возвращают код foodpanda?
API проверочных кодов foodpanda использует id сервиса foodpanda и пять вызовов к https://otproute.com/api/v1; каждый авторизуется Bearer-ключом с префиксом or_live_.
GET /api/v1/countriesотдаёт id стран; кэшируйте результат.GET /api/v1/prices?country=<id>&service=foodpandaвозвращает актуальную цену и показывает, можно ли обслужить этот рынок прямо сейчас.POST /api/v1/activationsс телом{"service": "foodpanda", "country": "<id>"}создаёт заказ и возвращает id активации и номер телефона.- Ваш тест вводит этот номер на проверяемом экране foodpanda, а код забирается вебхуком или через
GET /api/v1/activations/{id}. POST /api/v1/activations/{id}/cancelзакрывает заказ, который тесту больше не нужен.
Добавьте GET /api/v1/balance на шаг подготовки, чтобы набор тестов аккуратно останавливался при пустом кошельке. Ключи создаются в консоли разработчика, до 10 на аккаунт, лимит — 300 запросов в минуту. Форматы запросов и ошибок перечислены в документации для разработчиков.
Как написать обработчик вебхука?
Доставка по push удобнее, когда одновременно идёт несколько тестов. Направьте один из пяти разрешённых эндпоинтов на маршрут вашего тестового окружения и подпишите его на activation.sms_received, activation.expired и activation.cancelled для заказов foodpanda.
Каждая доставка содержит X-OTPRoute-Signature: t=<unix>,v1=<hex>. Вычислите HMAC-SHA256 от <t>.<raw body> с секретом эндпоинта, сравните с v1 за постоянное время и отклоняйте запросы со слишком старой меткой времени. Делайте это над сырыми байтами, до любого разбора JSON, который мог бы их изменить.
Сделайте обработчик идемпотентным: привязывайте каждое событие к id активации и игнорируйте повторы, поскольку при повторных попытках одно и то же событие может прийти дважды. Отвечайте быстро и передавайте код тому, чего ждёт тест. Для небольших скриптов разумная альтернатива — опрос эндпоинта активации раз в несколько секунд. Крайние случаи разобраны в руководстве по HMAC-вебхукам.
Для чего foodpanda подтверждает номер телефона?
foodpanda — платформа доставки еды и продуктов, наиболее известная в Южной и Юго-Восточной Азии. Как и большинство приложений доставки, она привязывает аккаунт к мобильному номеру: номер обычно подтверждается одноразовым SMS-кодом при регистрации, может проверяться снова при входе с нового устройства и даёт курьерам и поддержке возможность связаться с клиентом по заказу.
Для партнёрских команд, агентств и разработчиков, работающих вокруг платформы, это значит, что шаг получения OTP foodpanda присутствует во многих реальных сценариях: подключение нового клиента, проверка локализованного экрана регистрации или воспроизведение проблемы со входом, о которой сообщил пользователь. Управляемый номер foodpanda для каждого теста избавляет от необходимости одалживать личную SIM-карту коллеги.
В каких странах можно получить номер для foodpanda?
Маршрут foodpanda доступен в 198 странах. Среди примеров — Пакистан, Бангладеш, Малайзия, Филиппины, Тайвань, Сингапур, Гонконг, Таиланд, Камбоджа, Лаос, Мьянма, Германия, Великобритания и США.
Выбор страны — не формальность. Приложения доставки локализуются по рынкам, поэтому тест бангладешского экрана регистрации должен использовать бангладешский номер, а аккаунт, который будет заказывать в Куала-Лумпуре, — малайзийский. Несовпадение страны может привести к отклонённому номеру или к постороннему региональному сценарию. Актуальное наличие по странам меняется в течение дня, поэтому источник истины — эндпоинт цен. Как выбирать рынки и переключаться между ними, объясняет руководство по маршрутизации по странам.
Может ли не разработчик сделать это из панели?
Да, и это занимает примерно столько же кликов, сколько заказ обеда:
- Откройте OTP Gateway, выберите foodpanda как сервис и укажите страну.
- Проверьте показанную цену и подтвердите заказ.
- Скопируйте номер в приложение или на сайт foodpanda, который вы тестируете.
- Следите за карточкой активации; код появится на ней, когда придёт SMS.
Окно активации — 20 минут. Если foodpanda так и не отправит код или вы отмените заказ, оплата автоматически вернётся на кошелёк, так что вы платите только за пришедшие коды.
Почему код foodpanda может не прийти?
Несколько причин покрывают почти все случаи. foodpanda, как и многие потребительские приложения, может отказываться от виртуальных номеров на некоторых рынках или для некоторых действий. Она может также ограничивать, как часто одно устройство, IP-адрес или аккаунт запрашивает код. А отдельные маршруты время от времени бывают перегружены.
Полезные привычки для SMS-верификации foodpanda в тестах:
- Дожидайтесь полного окна, прежде чем отменять.
- Разносите повторные попытки по времени, а не заказывайте снова в тугом цикле.
- Попробуйте маршрут другой страны, если сценарий теста позволяет.
- Пока строите конвейер, используйте режим песочницы на аккаунте разработки, чтобы не тратить реальные заказы на ошибки обвязки.
Ни один маршрут не может заставить сервис принять номер; автоматический возврат существует именно для такой ситуации.
Когда лучше подойдёт выделенный номер и каковы правила использования?
Одноразовый номер Gateway не может принять второй код позже. Если staging- или QA-аккаунту нужно снова войти через несколько недель, больше подходит постоянный виртуальный номер для foodpanda: Dedicated Virtual Numbers доступны в США и Канаде, от $1.95/month, входящие SMS — в панели и на вашем вебхуке. В других странах самостоятельного долгосрочного номера нет; напишите на [email protected] и уточните. Подробности — на странице виртуальных номеров.
Используйте OTP Route только для собственных продуктов и законных аккаунтов: один аккаунт на реального человека или компанию, всегда в рамках условий foodpanda и Политики допустимого использования OTP Route. foodpanda — товарный знак его владельца, и OTP Route не связан с ним. Пополнение — предоплаченный кошелёк в USD без ежемесячной платы, картой или USDT/USDC, с PDF-счётом на каждое пополнение.
Частые вопросы
Какой id сервиса foodpanda в API OTP Route?
foodpanda. Укажите его вместе с id страны в запросе цены и в запросе активации.
Можно ли автоматизировать тесты регистрации foodpanda в CI?
Да. Создайте ключ для каждого окружения, заказывайте номера через API и ждите вебхук activation.sms_received либо опрашивайте активацию.
Из какой страны должен быть тестовый номер foodpanda?
Из рынка, для которого предназначен аккаунт. foodpanda локализуется по странам, поэтому соответствие номера рынку помогает избежать отклонённых номеров и неверных региональных сценариев.
Заплачу ли я, если foodpanda не пришлёт код?
Нет. Заказ foodpanda, по которому SMS не пришло за 20 минут или который вы отменили, возвращается на кошелёк полностью.
Примет ли foodpanda любой номер OTP Route?
Не обязательно. Некоторые сервисы отклоняют виртуальные номера, поэтому приём может зависеть от страны и действия.
Придёт ли код на тот же номер foodpanda в следующем месяце?
Номер Gateway рассчитан на одну верификацию. Для повторных входов используйте выделенный номер США или Канады.
Как убедиться, что вебхук действительно от OTP Route?
Пересчитайте HMAC-SHA256 от метки времени и сырого тела с секретом эндпоинта, сравните с заголовком подписи и отклоняйте устаревшие метки времени.
Названия сервисов являются товарными знаками их владельцев. OTP Route не связан с ними. Используйте номера законно, соблюдайте условия каждого сервиса и нашу Политику допустимого использования.