Ключ и авторизация
Получение API-ключа
Ключ выдаёт заведение в своём кабинете Mison: Интеграции → API-ключи → Добавить.
Ключ — это UUID вида 014bf237-7929-4520-b789-60a3e82b1dea. Он привязан к бренду и, как правило, к одной витрине меню. Храните его на сервере: в код мобильного приложения ключ помещать нельзя.
При выдаче ключа заведение задаёт:
- витрину меню — какое меню вы увидите в
GET /menus; - подтип заказа — под каким названием ваши заказы попадут в отчёты заведения;
- авто-подтверждение — принимать заказ сразу или он ждёт подтверждения оператором.
Обмен ключа на токен
Ключ сам по себе запросы не авторизует. Обменяйте его на access-токен:
curl -X POST https://backend.mison.uz/api/integrations/v1/auth/token \
-H "Content-Type: application/json" \
-d '{"api_key":"014bf237-7929-4520-b789-60a3e82b1dea"}'
{
"access_token": "44595|M4sx2SHynVRIX9CUAS3...",
"token_type": "Bearer",
"expires_in": 2592000
}
expires_in — время жизни в секундах, 30 дней. Повторный вызов до истечения срока вернёт тот же токен, поэтому запрашивать его перед каждым запросом бессмысленно — сохраните и переиспользуйте.
Лимит на этот метод — 60 запросов в минуту.
Использование токена
Все остальные методы требуют заголовок:
Authorization: Bearer <access_token>
curl https://backend.mison.uz/api/integrations/v1/points \
-H "Authorization: Bearer 44595|M4sx2SHynVRIX9CUAS3..."
Обновление токена
Токен живёт 30 дней. Когда он истечёт, любой запрос вернёт 401:
{ "message": "Неверный или просроченный access_token" }
Обработайте 401 так: запросите новый токен тем же api_key и повторите запрос. Отдельного refresh-токена нет — он не нужен, ключ и есть долгоживущий секрет.
Рекомендация
Не ждите 401. Храните дату получения токена и обновляйте его заранее — например, раз в неделю по расписанию.
Отзыв доступа
Заведение может удалить или перевыпустить ключ в кабинете в любой момент. После этого и ключ, и выданные по нему токены перестают работать — запросы начнут получать 401.