Надання прав доступу до сертифіката (обмежений доступ для конкретних користувачів)

Для роботи з цим методом користувач повинен бути авторизованим .

Метод запиту

HTTP POST

Content-Type

application/json (тіло HTTP запиту/відповіді в json форматі)

URL запиту

https://edo.edin.ua/Api/V1/Certificate/SetAccess

Параметри, що передаються в URL (разом з адресою методу)

-//-

JSON-параметри в тілі HTTP запиту/відповіді

REQUEST

Таблиця 1 - Опис json-параметрів запиту

Параметр

Mandatory/Optional

Формат

Опис

varToken​

M

String

токен, отриманий при авторизації

cert_id

M

int (11)

id сертифіката (intCertID)

access_type

M

int

тип доступу сертификата; 1 - доступний усім, 2 - обмежений доступ

access_action

O…M

int

дія по доступу до сертифікату; 1 - відкрити доступ до сертифікту, 2 - закрити доступ до сертифікату. Поле обов’язкове при access_type=2

amigos_info

O…M

[{…}]

масив об’єктів; дані контрагентів. Поле обов’язкове при access_type=2

gln

M

String

GLN користувача, для якого здійснюється налаштування доступу до сертифіката

isRetailer

O

boolean

відмітка, чи являється контрагент Торговою Мережею; false - открываем/ограничиваем доступ для GLN; true - відкрити/закрити доступ для мережі

RESPONSE

Таблиця 2 - Опис json-параметрів відповіді метода API

Параметр

Mandatory/Optional

Формат

Опис

​varMessage​

String

повідомлення сервера

​intCode​

int

код відповіді сервера


Приклади

Приклад тіла запиту в json форматі:

{
  "varToken": "nohuola9h24tmj4jln3devi151",
  "cert_id": "2173",
  "access_type": "2",
  "access_action": "1",
  "amigos_info": [
    {
      "gln": "9864066822430",
      "isRetailer": false
    },
    {
      "gln": "9864064665428",
      "isRetailer": false
    },
    {
      "gln": "4829900023799",
      "isRetailer": true
    }
  ]
}

Приклад тіла відповіді в json форматі:

{
  "varMessage": "Success!",
  "intCode": 200
}

Опис помилок роботи методу для надання доступу до сертифіката

  1. У разі коли сертифікат ("cert_id":"21478457735367345") не належить користувачу, під яким пройдена авторизація:

{
  "varMessage": "Сертификат не найден",
  "intCode": 404
}
  1. Якщо в запиті був відсутній тип доступу ("access_type":"") або був переданий тип доступу, якого немає в довіднику:

{
  "varMessage": "Не заполнено обязательное поле \"access_type\"",
  "intCode": 400
}
  1. Якщо в запиті передано тип доступу «Обмежений доступ» та не заповнено поле «дії над доступом сертифіката» ("access_action":"") або це значення відсутнє в довіднику:

{
  "varMessage": "Не заполнено обязательное поле \"access_action\"",
  "intCode": 400
}
{
  "varMessage": "Недопустимый формат поля \"access_action\" 324",
  "intCode": 400
}
  1. Якщо в запиті не заповнений параметр amigos_info

Приклад запиту:

{
"varToken":"jl4k81iq15utvdqtihghk38kk1",
"cert_id":"2173",
"access_type":"2",
"access_action":"2"
}

Приклад відповіді:

{
  "varMessage": "Не заполнено обязательное поле \"amigos_info\"",
  "intCode": 400
}
  1. Якщо в запиті не заповнено поле gln в блоці amigos_info

Приклад запиту:

"amigos_info":[
    {
      "gln": "",
      "isRetailer": true
    },
    {
      "gln": "",
      "isRetailer": true
    },
    {
      "gln": "4829900023799",
      "isRetailer": true
    }
  ]

Приклад відповіді:

{
  "varMessage": "Не заполнено обязательное поле \"gln\" в блоке \"amigos_info\"",
  "intCode": 400
}
  1. Якщо в запиті передано некорректний gln в блоці amigos_info

Приклад запиту:

"amigos_info":[
    {
      "gln": "dfghdfg",
      "isRetailer": true
    },
    {
      "gln": "dgfhdfg",
      "isRetailer": true
    },
    {
      "gln": "4829900023799",
      "isRetailer": true
    }
  ]
}

Приклад відповіді:

{
  "varMessage": "Недопустимый формат поля \"gln\" dfghdfg в блоке \"amigos_info\"",
  "intCode": 400
}
  1. Якщо в запиті передано некорректний isRetailer в блоці amigos_info

Приклад запиту:

"amigos_info":[
    {
      "gln": "9864066822430",
      "isRetailer": "fdsa"
    },
    {
      "gln": "9864064665428",
      "isRetailer": false
    },
    {
      "gln": "4829900023799",
      "isRetailer": true
    }
  ]
}

Приклад відповіді:

{
  "varMessage": "Недопустимый формат поля \"isRetailer\" fdsa в блоке \"amigos_info\"",
  "intCode": 400
}
  1. Якщо в запиті передано gln, якого немає в БД

Приклад запиту:

"amigos_info":[
    {
      "gln": "9008727091081",
      "isRetailer": false
    },
    {
      "gln": "9008727092026",
      "isRetailer": false
    },
    {
      "gln": "9008727092071",
      "isRetailer": false
    },
    {
      "gln": "9008727092033",
      "isRetailer": false
    }
  ]
}

Приклад відповіді:

{
  "varMessage": "Не найдены \"gln\" 9008727091081,9008727092026,9008727092071,9008727092033 в блоке \"amigos_info\"",
  "intCode": 404
}
  1. Якщо в запиті передано gln, що не відносяться до Торгової Мережі

Приклад запиту:

"amigos_info":[
    {
      "gln": "9864066822430",
      "isRetailer": true
    },
    {
      "gln": "9864064665428",
      "isRetailer": true
    },
    {
      "gln": "4829900023799",
      "isRetailer": true
    }
  ]
}

Приклад відповіді:

{
  "varMessage": "Переданные данные в поле \"gln\" 9864066822430,9864064665428  блока \"amigos_info не принадлежат сети\"",
  "intCode": 404
}