УКР | [ENG](https://hackmd.io/8x6rVjR-SnOj1HHwAfa8tg)

:arrow_left: [На Головну](/Mj2ZqCVpSq6A6Jzm6ladlw)
# [20801] Отримання даних довідника (v.1)
:::info
Застосування версії запитів "Оплата комунальних послуг (v.1)" чи "Оплата комунальних послуг (v.2)" визначається на етапі інтеграції.
:::
## Застосування
Запит [20801] застосовується для отримання даних довідника: назв міст, вулиць, номерів будинків, квартир та ID акаунтів для подальшого запиту заборгованості.
## Запит
*Опис атрибутів "Partner", "KeyAES" та "Sign" див. у розділі ["Загальна інформація по підключенню (API)"](https://hackmd.io/g3cItPVFStez0ql3Xj-2TA).*
### Структура "Data"
Структура "Data" для даної операції формується з наступних параметрів:
:::info
<details>
<summary>Формування структури "Data" (приклади наведені нижче)</summary>
<br>
~~~
{
"dictionary": "",
"parentid": "",
"Transaction": {
"TransactionID": "",
"TerminalID": "",
"DateTime": ""
}
}
~~~
</details>
:::
|Параметр|Обов'яз-ковість|Тип|Опис|Приклад|
|:----:|:----:|:----:|----|:----:|
| `dictionary` | Так | Рядок | Передається окреме значення, дані якого необхідно отримати з довідника. Можливі значення: </br> `city` - назви міст; </br> `street` - назви вулиць; </br> `house` - номера будинків; </br> `apartment` - номера квартир. |`street`|
| `parentid` | Так | Рядок | "Батьківський" ідентифікатор, отриманий у відповіді на цей же запит через параметр `accountid`. Наприклад, для отримання даних по значенню `street` передається значення `accountid`, отримане по `city`. У початковому запиті для `city` передається порожнє значення. |`10`|
|`Transaction`|Так|Структура|Структура, що передає дані про транзакцію. Див. розділ ["Структура "Transaction"](https://hackmd.io/g3cItPVFStez0ql3Xj-2TA#2-Data).|Див. нижче.|
## Відповідь
*Загальна інформація по формуванню структури відповіді наведена у розділі [“Загальна інформація по підключенню (API)”](https://hackmd.io/g3cItPVFStez0ql3Xj-2TA?both#%D0%A1%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D0%B0-%D0%B2%D1%96%D0%B4%D0%BF%D0%BE%D0%B2%D1%96%D0%B4%D1%96).*
### Структура "Data"
Структура "Data" відповіді формується з наступних параметрів:
| Параметр | Обов’яз-ковість | Тип | Опис | Приклад |
|:-:|:-:|:-:|-|:-:|
| `dictionary` | Так | Рядок | Запитаний параметр. |`city`|
| `list`^1^ | Так | Масив | Масив структур, що передає дані по всім елементам запитаного параметра. |Див. приклад нижче.|
^1^ Параметри масиву **"list"**:
| Параметр | Обов’яз-ковість | Тип | Опис | Приклад |
|:-:|:-:|:-:|-|:-:|
| `id` | Так | Рядок | Унікальний ідентифікатор окремого елементу. |`111`|
| `name` | Так | Рядок | Назва окремого елементу. |`Vinnitsa`|
| `giocid` | Так | Ціле | Унікальний ідентифікатор ГІОЦ (укр. головний інформаційно-обчислювальний центр) окремого елементу. |`12312`|
| `accountid` | Так/Ні | Рядок | Унікальний ідентифікатор акаунту для подальшого запиту заборгованості. Параметр передається лише для значення `apartment`. |`1`|
### Приклади відповідей
:::success
<details>
<summary>Операція проведена успішно</summary>
<br>
~~~md
{
"Code": 200,
"Message": "Done",
"Data": {
"OperationDate": "2023-02-21T15:54:42.129914+02:00",
"OperationID": 9488897,
"OperationStatus": 10,
"dictionary": "city",
"list": [
{
"id": "111",
"name": "Vinnitsa",
"giocid": 12312,
"accountid": ""
},
{
"id": "112",
"name": "Uman",
"giocid": 13415,
"accountid": ""
}
]
},
"KeyAES": "",
"Sign": ""
}
~~~
</details>
:::
:::success
<details>
<summary>Помилка виконання операції</summary>
<br>
~~~md
{
"Code": 200,
"Message": "done",
"Data": {
"OperationID": 111,
"OperationStatus": 21,
"Reason": 3
},
"KeyAES": "",
"Sign": ""
}
~~~
</details>
:::
## Тестові дані
:::info

Для тестування даного запиту застосовуйте параметри **Тестового Партнера**.
Див. деталі підключення у розділі: ["Параметри підключення Тестового Партнера"](https://hackmd.io/kGejjgk0QaiwfpoZFnTadA).
<details>
<summary>Тестовий запит</summary>
<br>
~~~md
{
"Partner": {
"PartnerToken": "72a8ddb8-9145-4a41-af1a-8c48ecaa4be1",
"OperationType": 20801
},
"Data": "{\"dictionary\":\"street\",\"parentid\":\"84\",\"Transaction\":{\"TransactionID\":\"0c5328f5-bda9-4376-b6a0-ca544fcb72fc\",\"TerminalID\":\"1\",\"DateTime\":\"20230221120111\"}}",
"KeyAES": "",
"Sign": ""
}
~~~
</details>
<details>
<summary>Очікувана відповідь</summary>
<br>
~~~md
{
"Code": 200,
"Message": "Adress find",
"Data": {
"OperationDate": "2023-04-19T13:27:21.643715+03:00",
"OperationID": 9508515,
"OperationStatus": 10,
"dictionary": "street",
"list": [
{
"accountid": "77206001",
"giocid": 0,
"id": 1,
"name": "АБРИКОСОВА"
},
{
"accountid": "77207001",
"giocid": 0,
"id": 2,
"name": "АВАНГРАДСЬКА"
},
{
"accountid": "77208001",
"giocid": 0,
"id": 3,
"name": "АГРАРНА"
},
{
"accountid": "77209001",
"giocid": 0,
"id": 4,
"name": "АГРОНОМІЧНА"
},
{
"accountid": "77210001",
"giocid": 0,
"id": 5,
"name": "АНГАРСЬКА 1-А"
},
{
"accountid": "77213001",
"giocid": 0,
"id": 6,
"name": "ВИНОГРАДНА"
},
{
"accountid": "77214001",
"giocid": 0,
"id": 7,
"name": "ДОБРЯНСЬКОГО"
},
{
"accountid": "77215001",
"giocid": 0,
"id": 8,
"name": "ДУКОВА"
},
{
"accountid": "77235001",
"giocid": 0,
"id": 9,
"name": "ЄВРОПЕЙСЬКА ВУЛ"
},
{
"accountid": "77216001",
"giocid": 0,
"id": 10,
"name": "ЗЕЛЕНА"
},
{
"accountid": "77217001",
"giocid": 0,
"id": 11,
"name": "ЗОРЯНА"
},
{
"accountid": "77218001",
"giocid": 0,
"id": 12,
"name": "КВІТКОВА"
},
{
"accountid": "81437001",
"giocid": 0,
"id": 13,
"name": "КРАЙНЯ ВУЛ."
},
{
"accountid": "77219001",
"giocid": 0,
"id": 14,
"name": "ЛЕВАДНА"
},
{
"accountid": "77220001",
"giocid": 0,
"id": 15,
"name": "МОЛОДІЖНА"
},
{
"accountid": "77221001",
"giocid": 0,
"id": 16,
"name": "НИЖНЯ"
},
{
"accountid": "77222001",
"giocid": 0,
"id": 17,
"name": "ПАРКОВА"
},
{
"accountid": "77223001",
"giocid": 0,
"id": 18,
"name": "ПОЛЬОВА"
},
{
"accountid": "81439001",
"giocid": 0,
"id": 19,
"name": "ПРОЇЗНА ВУЛ."
},
{
"accountid": "77224001",
"giocid": 0,
"id": 20,
"name": "САДОВА"
},
{
"accountid": "77225001",
"giocid": 0,
"id": 21,
"name": "СВІТЛА"
},
{
"accountid": "77226001",
"giocid": 0,
"id": 22,
"name": "СЕЛЕКЦІОНЕРІВ"
},
{
"accountid": "77228001",
"giocid": 0,
"id": 23,
"name": "СОНЯЧНА"
},
{
"accountid": "81440001",
"giocid": 0,
"id": 24,
"name": "СПОРТИВНА ВУЛ."
},
{
"accountid": "77229001",
"giocid": 0,
"id": 25,
"name": "СТЕПОВА"
},
{
"accountid": "77230001",
"giocid": 0,
"id": 26,
"name": "СТЕПОВИЙ"
},
{
"accountid": "81441001",
"giocid": 0,
"id": 27,
"name": "ТИХА ВУЛ."
},
{
"accountid": "81443001",
"giocid": 0,
"id": 28,
"name": "ТІНИСТА ВУЛ."
},
{
"accountid": "81442001",
"giocid": 0,
"id": 29,
"name": "ТОРГОВА ВУЛ."
},
{
"accountid": "77231001",
"giocid": 0,
"id": 30,
"name": "УРОЖАЙНА"
},
{
"accountid": "77232001",
"giocid": 0,
"id": 31,
"name": "ФРУКТОВА"
},
{
"accountid": "77233001",
"giocid": 0,
"id": 32,
"name": "ЦЕНТРАЛЬНА"
},
{
"accountid": "77234001",
"giocid": 0,
"id": 33,
"name": "ЮЖНА"
}
]
},
"KeyAES": "",
"Sign": ""
}
~~~
</details>
:::
## Пов'язані запити
[[208011] Отримання даних міст з довідника](https://hackmd.io/qckJ3sUqT5C00IvWxsJ4dw)
[[20802] Отримання даних заборгованості](https://hackmd.io/fkcB0yBhTuKW7SEYbCV0zw)
[[10108] Погашення заборгованості](https://hackmd.io/f8cr3qN-QU27s2pAyU39bQ)
## Довідкові матеріали
Опис загальних параметрів системи XPAY див. у розділі ["Довідкові матеріали"](https://hackmd.io/aBE7H5cfQ-iqaN3SnwaQ-w): коди типів операцій, типи платіжних методів, коди статусів обробки операцій, відомості та помилки, що повертаються у відповіді та ін.

:arrow_left: [На Головну](/Mj2ZqCVpSq6A6Jzm6ladlw)
:arrow_left: [Загальна інформація по підключенню (API)](https://hackmd.io/g3cItPVFStez0ql3Xj-2TA)
<details>
<summary>Служба підтримки XPAY</summary>
</br>
Телефон: +38 093 891 92 00
Email: info@xpay.com.ua
Telegram: @xpaysupportbot
</details>