Skip to content

Commit

Permalink
Merge pull request #1 from EDI-N/Kolya
Browse files Browse the repository at this point in the history
spec+ some
  • Loading branch information
EDI-N committed Jun 3, 2019
2 parents efe7840 + 07f67c5 commit 4e04448
Show file tree
Hide file tree
Showing 18 changed files with 602 additions and 1 deletion.
1 change: 1 addition & 0 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ EDIN | Электронный документооборот для бизнес
general_2_0/general_2_0_list
retail_2.0/retail_2_0_list
integration_2_0/integration_2_0_list
XML/XML-structure.rst

.. toctree::
:maxdepth: 2
Expand Down
1 change: 0 additions & 1 deletion docs/integration/integration_list.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
:maxdepth: 1

API_methods
XML/XML-structure
AS2
SOAP
FTP
Expand Down

Large diffs are not rendered by default.

33 changes: 33 additions & 0 deletions docs/integration_2_0/FTP.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
FTP/FTPS
#########

Структура сервера:
******************************************

- inbox/ - каталог с входящими документами
- cinbox/ - каталог с входящими документами, со спец.настройками
- outbox/ - каталог для исходящих документов
- coutbox/ - каталог для исходящих документов, со спец.настройками
- error/ - каталог с ошибочными документами, которые не обработаны системой.
- reports/ - каталог для исходящих спец. документов ДФС
- transit/ - служебный каталог

Замечания по использованию:
**************************************
Адрес сервера обмена ftp://ftp.edi-n.com

Если вы используете формат обмена данными EDIN, то рабочими папками будут
/outbox/ и /inbox/, а если используете иной, ранее оговоренный формат обмена данными, то
рабочими папками будут: /coutbox/ и /cinbox/.

По умолчанию файлы, которые вы отправляете, будут появляться в веб-интерфейсе системы во
вкладке «Черновики», но не будут отправляться в розничную сеть. Для настройки автоматической
отправки нужен письменный запрос от пользователя на адрес integration@edi-n.com.

.. important:: Внимание, в именах файлов для загрузки должны использоваться только цифры, латинские буквы и символы «&», «_», «-» или «.».

Платформа EDIN также поддерживает **FTPS** соединение: ftps://ftp.edi-n.com

В таком типе соединения, порт будет: 990

FTPS (File Transfer Protocol + SSL, или FTP/SSL) — это расширение широко используемого протокола передачи данных FTP, которое добавляет поддержку для криптографических протоколов уровней транспортной безопасности и защищенных сокетов.
197 changes: 197 additions & 0 deletions docs/integration_2_0/SOAP.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,197 @@
SOAP API
#########

.. contents:: Содержание:

---------

WSDL схема для работы с FTPEX по SOAP: https://soap.edi-n.com/soap/service.wsdl

Получение списка доступных файлов (getList)
============================================================================================

*Сигнатура* (параметры которые нужно передать): логин и MD5 пароля (те данные, которые были выданы пользователю при подключении к платформе электронного документооборота)(MD5 генератор 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 - другая ошибка

"Массовое" получение документов (нескольких искомых документов) (getDocuments)
============================================================================================

*Сигнатура* (параметры которые нужно передать): логин, MD5 пароля и конкретные имена файлов (имена файлов возвращает 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 - ошибка получения документов (значение ошибки возвращается в <errorMessage/>)

Получение конкретного файла (getDoc)
============================================================================================

*Сигнатура* (параметры которые нужно передать): логин, MD5 пароля и конкретное имя файла (имена файлов возвращает getList)

*В ответ* получаем конкретный файл в виде BASE-64 строки.

**Пример ответа**:

::

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

Содержимое поля <content> переводится в XML представление путем расшифровки BASE-64 (в итоге получается тело XML файла).

**Возможные ошибки**:

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

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

*Сигнатура* (параметры которые нужно передать) : логин, MD5 пароля, конкретное имя файла и тело файла в виде BASE-64 строки

*В ответ* получаем код ответа сервера (0 - успешная передача).

**Пример ответа**:

::

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

**Возможные ошибки**:

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

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

*Сигнатура* (параметры которые нужно передать) : логин, MD5 пароля и конкретное имя файла (имена файлов возвращает getList)

*Что возвращает*: код ответа сервера (0 - успешная обработка).

**Пример ответа**:

::

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

**Возможные ошибки**:

- errorCode 4 - ошибка при архивации документа

"Массовое" архивирование документов (удаление файлов с сервера) (archiveDocuments)
============================================================================================

*Сигнатура* (параметры которые нужно передать): логин, MD5 пароля и конкретное имя файла (имена файлов возвращает 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 - ошибка при архивации документа (значение ошибки возвращается в <errorMessage/>)

Дополнение
============================================================================================

Полные запросы и ответы сервера по каждому запросу:

:download:`sendDoc_response2.xml<SOAP_API_request_response/sendDoc_response2.xml>`

:download:`sendDoc_request2.xml<SOAP_API_request_response/sendDoc_request2.xml>`

:download:`getList_response2.xml<SOAP_API_request_response/getList_response2.xml>`

:download:`getList_request2.xml<SOAP_API_request_response/getList_request2.xml>`

:download:`getDocumentsResponse2.xml<SOAP_API_request_response/getDocumentsResponse2.xml>`

:download:`getDocumentsRequest2.xml<SOAP_API_request_response/getDocumentsRequest2.xml>`

:download:`getDoc_response2.xml<SOAP_API_request_response/getDoc_response2.xml>`

:download:`getDoc_request2.xml<SOAP_API_request_response/getDoc_request2.xml>`

:download:`archiveDocumentsResponse2.xml<SOAP_API_request_response/archiveDocumentsResponse2.xml>`

:download:`archiveDocumentsRequest2.xml<SOAP_API_request_response/archiveDocumentsRequest2.xml>`

:download:`archiveDoc_response2.xml<SOAP_API_request_response/archiveDoc_response2.xml>`

:download:`archiveDoc_request2.xml<SOAP_API_request_response/archiveDoc_request2.xml>`
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap="http://soap.edi.service.org/">
<soapenv:Header />
<soapenv:Body>
<soap:archiveDoc>
<!-- Optional: -->
<user>
<!-- Optional: -->
<login>login</login>
<!-- Optional: -->
<pass>parol</pass>
</user>
<!-- Optional: -->
<fileName>status_2.xml</fileName>
</soap:archiveDoc>
</soapenv:Body>
</soapenv:Envelope>
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:archiveDocResponse xmlns:ns2="http://soap.edi.service.org/">
<result>
<errorCode>0</errorCode>
</result>
</ns2:archiveDocResponse>
</S:Body>
</S:Envelope>
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap="http://soap.edi.service.org">
<soapenv:Header />
<soapenv:Body>
<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>
</soapenv:Body>
</soapenv:Envelope>
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header />
<SOAP-ENV:Body>
<ns3:archiveDocumentsResponse xmlns:ns3="http://soap.edi.service.org">
<result>
<errorCode>0</errorCode>
</result>
</ns3:archiveDocumentsResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
16 changes: 16 additions & 0 deletions docs/integration_2_0/SOAP_API_request_response/getDoc_request2.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap="http://soap.edi.service.org/">
<soapenv:Header />
<soapenv:Body>
<soap:getDoc>
<!-- Optional: -->
<user>
<!-- Optional: -->
<login>login</login>
<!-- Optional: -->
<pass>parol</pass>
</user>
<!-- Optional: -->
<fileName>status_55.xml</fileName>
</soap:getDoc>
</soapenv:Body>
</soapenv:Envelope>
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:getDocResponse xmlns:ns2="http://soap.edi.service.org/">
<result>
<errorCode>0</errorCode>
<content>PFN0Y...0dXM+</content>
</result>
</ns2:getDocResponse>
</S:Body>
</S:Envelope>
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap="http://soap.edi.service.org">
<soapenv:Header />
<soapenv:Body>
<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>
</soapenv:Body>
</soapenv:Envelope>
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header />
<SOAP-ENV:Body>
<ns3:getDocumentsResponse xmlns:ns3="http://soap.edi.service.org">
<result>
<errorCode>0</errorCode>
<content>UEsDBBQACAgIAy...AAAA</content>
</result>
</ns3:getDocumentsResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap="http://soap.edi.service.org/">
<soapenv:Header />
<soapenv:Body>
<soap:getList>
<!-- Optional: -->
<user>
<!-- Optional: -->
<login>login</login>
<!-- Optional: -->
<pass>parol</pass>
</user>
</soap:getList>
</soapenv:Body>
</soapenv:Envelope>
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:getListResponse xmlns:ns2="http://soap.edi.service.org/">
<result>
<errorCode>0</errorCode>
<list>status_20159904.xml</list>
<list>status_2032.xml</list>
<list>status_2014911.xml</list>
<list>order_201630.xml</list>
</result>
</ns2:getListResponse>
</S:Body>
</S:Envelope>

0 comments on commit 4e04448

Please sign in to comment.