Аутентификация и доступ к API
Обзор
GuestMe API использует OAuth 2.0 для аутентификации. Для доступа к API вам понадобятся учётные данные клиента.
Получение доступа
Для начала работы с API запросите следующие данные у менеджера GuestMe или через техническую поддержку:
client_id- идентификатор клиентаclient_secret- секретный ключ клиентаадрес сервера- URL API сервера
Контакты для получения доступа
Email: api@guestme.ru Тема письма: "Запрос доступа к GuestMe API"
Получение access_token
После получения учётных данных вы можете получить токен доступа, используя flow client_credentials.
Параметры запроса
- grant_type:
client_credentials - scope:
ROLE_EXTERNAL_INTEGRATION - Authorization header:
Basic base64(client_id:client_secret)
Пример запроса
POST /oauth2/token
Content-Type: application/x-www-form-urlencoded
Authorization: Basic Z3Vlc3RtZTpzZWNyZXQ=
grant_type=client_credentials&scope=ROLE_EXTERNAL_INTEGRATION
Пример с cURL
curl -X POST https://api.examle.com/oauth2/token \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Authorization: Basic $(echo -n 'client_id:client_secret' | base64)" \
-d "grant_type=client_credentials&scope=ROLE_EXTERNAL_INTEGRATION"
Пример ответа
{
"access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
"token_type": "Bearer",
"expires_in": 3600,
"scope": "ROLE_EXTERNAL_INTEGRATION"
}
Использование токена
Полученный access_token используется для всех последующих запросов к API:
GET /api/v1/external/restaurant
Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...
Срок действия токена
- Токен действителен в течение 1 часа (3600 секунд)
- После истечения срока нужно получить новый токен
- Рекомендуется обновлять токен проактивно за 5 минут до истечения
Best Practices
✅ Рекомендуется
- Хранить
client_secretв безопасном месте (переменные окружения, секреты) - Кэшировать токен и переиспользовать его в течение срока действия
- Обновлять токен до истечения срока действия
- Обрабатывать ошибки при получении токена
❌ Не рекомендуется
- Хранить
client_secretв коде или репозитории - Запрашивать новый токен для каждого запроса к API
Нужна помощь? Написать в поддержку