ЕСОЗ - публічна документація

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this content. View the current version.

Compare with Current View Version History

« Previous Version 3 Next »

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
    }
}

Де:

  1. id- ідентифікатор запиту
  2. code_expired_at= час до якого код дійсний в системі
  3. Active- статус активності коду в системі
    1. "status": "TRUE" - при можливості верифікації:
      1. при створенні запиту за замовчуванням,
      2. якщо було менше 4 спроб використання
      3. якщо не сплинув строк дії коду (до 300 секунд після створення
    2. "status": "FALSE"  - при неуспішній верифікаціїі:
      1. якщо використали код
      2. якщо більше 3 спроб погашення
      3. якщо сплинув термін для верифікації при  верифікації, в тому числі успішній верифікації
  4. Status- відображає статус верифікації
"status": "NEW""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
  • No labels