# SOAP API

Даний розділ описує інтеграцію з платформою EDIN через SOAP API.

<span>WSDL схема для роботи з FTPEX по SOAP: </span>[https://soap.edin.ua/soap/service.wsdl](https://soap.edin.ua/soap/service.wsdl)

# Отримання списку доступних файлів (getList)

<p class="callout info">WSDL схема для роботи з FTPEX по SOAP: [https://soap.edin.ua/soap/service.wsdl](https://soap.edin.ua/soap/service.wsdl)</p>

**Параметри, які потрібно передати**: логін і MD5 пароля (дані, які були видані користувачу при підключенні до платформи електронного документообігу) (MD5 генератор [http://www.danstools.com/md5-hash-generator/](http://www.danstools.com/md5-hash-generator/)).

*У відповідь* отримуємо список імен файлів, які на даний момент доступні користувачеві.

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

```
<result>
           <errorCode>0</errorCode>
           <list>status_20150924144604_4679904.xml</list>
           <list>status_20150924144604_7259532.xml</list>
           <list>status_20150924144604_4784911.xml</list>
   ...
   ...
   <list>status_20151005123023_686803070.xml</list>
           <list>order_20151005132435_707890630.xml</list>
 </result>
```

**Можливі помилки**:

- errorCode 1 - помилка при авторизації,
- errorCode 2 - інша помилка

Повний запит і відповідь сервера по цьому методу можна завантажити за наступними посиланнями:

[getList\_request2.xml](https://wiki-v2.edin.ua/attachments/23)

[getList\_response2.xml](https://wiki-v2.edin.ua/attachments/25)

<div class="section" id="bkmrk-"></div>

# Отримання кількох документів (пошук) (getDocuments)

<p class="callout info">WSDL схема для роботи з FTPEX по SOAP: [https://soap.edin.ua/soap/service.wsdl](https://soap.edin.ua/soap/service.wsdl)</p>

**Параметри, які потрібно передати**: логін, MD5 пароля і конкретні імена файлів (імена файлів повертає [getList](https://wiki-v2.edin.ua/books/inse-ftp-as2-soap/page/otrimannia-spisku-dostupnix-failiv-getlist))

У *відповідь* отримуємо код відповіді сервера (0 - успішна обробка), а також закодований в base64 zip архів із затребуваними файлами.

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

```
<soap:getDocumentsRequest>
   <!--Optional:-->
   <user>
      <!--Optional:-->
      <login>login</login>
      <!--Optional:-->
      <pass>parol</pass>
   </user>
   <!--Zero or more repetitions:-->
   <fileName>hello.xml</fileName>
  <fileName>musician.xml</fileName>
</soap:getDocumentsRequest>
```

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

```
<result>
   <errorCode>0</errorCode>
 <content>UEsDBBQACAgIAD...AAAA</content>
</result>
```

**Можливі помилки**:

- errorCode 1 - помилка отримання документів (значення помилки повертається в &lt;errorMessage/&gt;)

Повний запит і відповідь сервера по цьому методу можна завантажити за наступними посиланнями:

[getDocumentsResponse2.xml](https://wiki-v2.edin.ua/attachments/27)

[getDocumentsRequest2.xml](https://wiki-v2.edin.ua/attachments/29)

# Отримання конкретного файлу (getDoc)

<p class="callout info">WSDL схема для роботи з FTPEX по SOAP: [https://soap.edin.ua/soap/service.wsdl](https://soap.edin.ua/soap/service.wsdl)</p>

**Параметри, які потрібно передати**: логін, MD5 пароля і конкретне ім’я файлу (імена файлів повертає [getList](https://wiki-v2.edin.ua/books/inse-ftp-as2-soap/page/otrimannia-spisku-dostupnix-failiv-getlist))

*У відповідь* отримуємо конкретний файл у вигляді BASE-64 рядка.

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

```
<result>
          <errorCode>0</errorCode>
          <content>PFN0YXR1cz4KI...4KPC9TdGF0dXM+</content>
</result>
```

Вміст поля &lt;content&gt; перекладається в XML подання шляхом розшифровки BASE-64 (в результаті виходить тіло XML файлу).

**Можливі помилки**:

- errorCode 1 - помилка при отриманні документа.

Повний запит і відповідь сервера по цьому методу можна завантажити за наступними посиланнями:

[getDoc\_request2.xml](https://wiki-v2.edin.ua/attachments/33)

[getDoc\_response2.xml](https://wiki-v2.edin.ua/attachments/31)

# Передача конкретного файлу (sendDoc)

<p class="callout info">WSDL схема для роботи з FTPEX по SOAP: [https://soap.edin.ua/soap/service.wsdl](https://soap.edin.ua/soap/service.wsdl)</p>

**Параметри, які потрібно передати**: логін, MD5 пароля, конкретне ім’я файлу і тіло файлу в вигляді BASE-64 рядка.

*У відповідь* отримуємо код відповіді сервера (0 - успішна передача).

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

```
<result>
           <errorCode>0</errorCode>
</result>
```

**Можливі помилки**:

- errorCode 3 - помилка при відправленні документа

Повний запит і відповідь сервера по цьому методу можна завантажити за наступними посиланнями:

[sendDoc\_request2.xml](https://wiki-v2.edin.ua/attachments/35)

[sendDoc\_response2.xml](https://wiki-v2.edin.ua/attachments/37)

# Архівування документа (видалення конкретного файлу з сервера) (archiveDoc)

<p class="callout info">WSDL схема для роботи з FTPEX по SOAP: [https://soap.edin.ua/soap/service.wsdl](https://soap.edin.ua/soap/service.wsdl)</p>

**Параметри, які потрібно передати**: логін, MD5 пароля і конкретне ім’я файлу (імена файлів повертає getList)

У *відповідь* отримуємо код відповіді сервера (0 - успішна обробка).

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

```
<result>
           <errorCode>0</errorCode>
</result>
```

**Можливі помилки**:

- errorCode 4 - помилка при архівуванні документа

Повний запит і відповідь сервера по цьому методу можна завантажити за наступними посиланнями:

[archiveDoc\_request2.xml](https://wiki-v2.edin.ua/attachments/41)

[archiveDoc\_response2.xml](https://wiki-v2.edin.ua/attachments/39)

# Масове архівування документів (видалення файлів з сервера) (archiveDocuments)

<p class="callout info">WSDL схема для роботи з FTPEX по SOAP: [https://soap.edin.ua/soap/service.wsdl](https://soap.edin.ua/soap/service.wsdl)</p>

**Параметри, які потрібно передати**: логін, MD5 пароля і конкретне ім’я файлу (імена файлів повертає [getList](https://wiki-v2.edin.ua/books/inse-ftp-as2-soap/page/otrimannia-spisku-dostupnix-failiv-getlist))

*У відповідь* отримуємо код відповіді сервера (0 - успішна обробка).

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

```
<soap:archiveDocumentsRequest>
   <!--Optional:-->
   <user>
      <!--Optional:-->
      <login>login</login>
      <!--Optional:-->
      <pass>parol</pass>
   </user>
   <!--Zero or more repetitions:-->
       <fileName>hello.xml</fileName>
     <fileName>musician.xml</fileName>
</soap:archiveDocumentsRequest>
```

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

```
<result>
           <errorCode>0</errorCode>
</result>
```

**Можливі помилки**:

- errorCode 4 - помилка при архівуванні документа (значення помилки повертається в&lt;errorMessage/&gt;).

Повний запит і відповідь сервера по цьому методу можна завантажити за наступними посиланнями:

[archiveDocumentsRequest2.xml](https://wiki-v2.edin.ua/attachments/43)

[archiveDocumentsResponse2.xml](https://wiki-v2.edin.ua/attachments/45)