Каждой генерации присваивать уникальный id по которому можно получить результат генерации. Должны быть доступны 3 публичных API метода: auth(), generate() и retrieve(id).
auth
возвращает md5-хеш, который передается с последующими запросами. Хеш должен быть уникальным.
пример запроса:
POST /api/auth
{
"*login":"*user123",
"*pass" :"*qwerty"
}
пример ответа:
{
"*token":"*5295231fe39d8838e1682ee2f54cffb9",
}
Время жизни хеша 60 секунд с момента последнего запроса с его использованием. После истечения ttl хеш считается недействительным.
Наглядный пример:
- Шлем запрос на auth -> получаем токен “A”
- C токеном “A” шлем запрос на generate -> корректный ответ
- Через 45 сек с токеном “A” шлем запрос на generate -> корректный ответ
- Через 50 сек с токеном “A” шлем запрос на generate -> корректный ответ
- Через 65 сек с токеном “A” шлем запрос на generate -> 401
generate
возвращает случайное число от 1 до 100000 и id генерации (md5-хеш).
пример запроса:
GET /api/generate
headers {"Authorization": "Bearer 5295231fe39d8838e1682ee2f54cffb9"}
пример ответа:
{
"id" :"a8f5f167f44f4964e6c998dee827110c"
"*value":"7856"*,
}
retrieve
получение результата генерации по id
пример запроса:
GET /api/retrieve?id=a8f5f167f44f4964e6c998dee827110c
headers {"Authorization": "Bearer 5295231fe39d8838e1682ee2f54cffb9"}
пример ответа:
{
"*value":"7856"*,
}