Service specification
Сценарій поведінки:
Користувач вводить номер телефону та ОТР (одноразовий код) в систему
Якщо код введений користувачем вірний, то система надішле у відповідь |
---|
{ "meta": { "code": 200, "url": "https://example.com/resource", "type": "object", "request_id": "req-adasdoijasdojsda" }, "data": { "id": "7d23bebb-1cf3-4221-bf21-18aada444756", "status": "VERIFIED", "code_expired_at": "2017-07-10T12:20:16.300597Z", "active": true } } |
Де:
Id
- ідентифікатор запитуcode_expired_at
= час до якого код дійсний в системіActive
- статус коду в системіStatus
- відображає статус СМС
"status": "NEW" | "status": "TRUE" | "status": "FALSE" | "status": "VERIFIED" | "status": "UNVERIFIED" | "status": "EXPIRED" | "status": "CANCELED" |
---|---|---|---|---|---|---|
при створенні запиту, за замовчуванням | при можливості верифікації:
| при неуспішній верифікаціїі:
| При успішному проходженні | при неуспішному проходженні верифікації (більше 3 спроб) | Сплив строк придатності коду | Встановлюється провайдером, у випадку, якщо СМС не може бути доставленим. |
Якщо код введений користувачем невірний, то:
Якщо це одна з перших трьох невірних спроб, система відповість |
---|
{ "error": { "message": "Invalid verification code", "type": "forbidden" }, "meta": { "code": 403, "request_id": "xxx", "type": "object", "url": "http://api-svc.verification/verifications/{{phone_number}}/actions/complete" } } |
Якщо, це четверта (і більше) невдала спроба ввести код, то система відповість: |
---|
{ "error": { "message": "Maximum attempts exceed", "type": "forbidden" }, "meta": { "code": 403, "request_id": "xxx", "type": "object", "url": "http://api-svc.verification/verifications/{{phone_number}}/actions/complete" } } |
Якщо вірний код введено після сплину строку придатності коду (OTP_LIFETIME=300 секунд) : |
---|
{ "data": { "active": false, "code_expired_at": "2020-03-13T15:14:45.640890Z", "id": "6b5c534c-1664-4fdc-8128-96caaeb27089", "status": "expired" }, "meta": { "code": 200, "request_id": "xxx", "type": "object", "url": "http://api-svc.verification/verifications/{{phone_number}}/actions/complete" } } |
Якщо невірний код введено після сплину строку придатності коду : |
---|
{ "error": { "message": "Invalid verification code", "type": "forbidden" }, "meta": { "code": 403, "request_id": "xxx", "type": "object", "url": "http://api-svc.verification/verifications/{{phone_number}}/actions/complete" } } |
Verify code
- Search active code for phone number
- Check code expiration period
- Compare codes
Matched
Deactivate code
- Add phone number to verified_phones
Not matched
Deactivate code
- Invoke Send verification code
- Return error