Описание сервиса взаимодействия СЭД Счета-Фактуры с внешними системами
v.3.2.1
Идентификация пользователя 2
Информирование об ошибках 2
Работа с документами 2
Создание формализованного документа 2
Создание неформализованного документа 3
Добавление ЭП к документу 3
Отправка документа 3
Удаление документа 4
Создание связей документа 4
Получение связей документа 4
Удаление связей документа 5
Получение изменений с момента последней синхронизации 5
Получение информации по документу 6
Получение содержимого документа 6
Получение ЭП документа 7
Получение квитанций по документу 7
Работа с зарегистрированными организациями в системе 7
Поиск организаций, зарегистрированных в СЭД СФ 7
Получение реквизитов организации, зарегистрированной в СЭД СФ 8
Получение рекзизитов своей организации, зарегистрированной в СЭД СФ 8
Получение количества переданных и полученных документов за период 9
Полный список возвращаемых ошибок 10
Список типов документов в системе 11
Взаимодействие СЭД Счета-Фактуры (СЭД СФ) с внешними системами осуществляется с помощью web-сервисов, описанных в настоящем документе.
Идентификация пользователя
Идентификация пользователя реализуется с использованием технологии WS Security. Авторизация производится по логину и паролю пользователя. Все методы сервиса реализуют проверку корректности доступа к реализованному в методе функционалу.
Информирование об ошибках
Информирование об ошибках и исключительных ситуациях реализуется на уровне SOAP протокола в теге soap:Fault ответного сообщения. Ошибки могут быть 2-х типов:
Ожидаемые ошибки, вызванные некорректным вызовом метода. В этом случае faultcode содержит идентификатор Client и faultstring содержит формализованное сообщение об ошибке; xml удовлетворяющий схеме
<xs:schema xmlns:xs="http://www. w3.org/2001/XMLSchema">
<xs:element name="error">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="code" type="xs:integer"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:schema>
Для каждого метода указан список ожидаемых кодов и сообщений об ошибках.
Все остальные ошибки и исключительные ситуации. В этом случае faultcode содержит идентификатор Server и faultstring содержит текстовое описание возникшей проблемы.
Работа с документами
Создание формализованного документа
String createDoc(byte[] docData, byte[] signature);
Параметры:
docData - содержимое документа в xml-представлении
signature – подпись документа (необязательный параметр)
Возвращаемое значение:
Идентификатор созданного документа
Возможные ошибки:
Код | Описание | Вероятная причина |
1 | Ошибка авторизации | Неверный логин или пароль |
2 | Неверный параметр | Один из переданных параметров неверен |
4 | Неверный документ | Указанный документ не является формализованным документом |
5 | Ошибка проверки документа | Документ не прошел одну или несколько из проверок |
6 | Документ уже существует | Такой документ уже ранее был создан и существует в системе |
7 | ЭП неверна | Указанная подпись не соответствует документу либо не является подписью |
9 | Ошибка создания документа | Ошибка создания документа |
Создание неформализованного документа
String createRawDoc(String recipientId, String filename,
String type, byte[] docData, byte[] signature);
Параметры:
recipientId - идентификатор организации-получателя документа.
- Обязательный параметр, в качестве параметра передается идентификатор получателя в виде строки
filename – Имя файла – вложения документа
- Обязательный параметр, в качестве параметра передается имя файла в виде строки
type – тип документа
- Обязательный параметр, в качестве параметра передается тип неформализованного документа. Принимает значения:
- ACT – Акт выполненных работ NOTE - Товарная накладная UNFORMALIZEDDOC - Прочий документ
docData - бинарный массив, содержащий неформализованный документ.
- Обязательный параметр, в качестве параметра передается содержимое документа в виде массива байт
signature – ЭП документа:
- Необязательный параметр, в качестве параметра передается бинарный массив данных, содержащий подпись документа в формате pkcs#7
Возвращаемое значение:
Идентификатор созданного документа
Возможные ошибки:
Код | Описание | Вероятная причина |
1 | Ошибка авторизации | Неверный логин или пароль |
2 | Неверный параметр | Один из переданных параметров неверен |
7 | Подпись не верна | Указанная подпись не соответствует документу либо не является подписью |
Добавление ЭП к документу
void createSignature(String docId, byte[] signature);
Параметры:
docId – идентификатор документа
signature - бинарный массив данных, содержащий подпись документа в формате pkcs#7
Возвращаемое значение:
Нет
Возможные ошибки:
Код | Описание | Вероятная причина |
1 | Ошибка авторизации | Неверный логин или пароль |
2 | Неверный параметр | Один из переданных параметров неверен |
3 | Ошибка безопасности | Доступ к документу запрещен |
7 | Подпись не верна | Указанная подпись не соответствует документу либо не является подписью |
Отправка документа
void sendDocument(String docId);
Параметры:
docId – идентификатор документа
Возвращаемое значение:
Нет
Возможные ошибки:
Код | Описание | Вероятная причина |
1 | Ошибка авторизации | Неверный логин или пароль |
2 | Неверный параметр | Один из переданных параметров неверен |
3 | Ошибка безопасности | Доступ к документу запрещен |
8 | Ошибка изменения документа | Состояние документа запрещает отправку |
Удаление документа
void deleteDocument(String docId);
Параметры:
docId – идентификатор документа
Возвращаемое значение:
Нет
Возможные ошибки:
Код | Описание | Вероятная причина |
1 | Ошибка авторизации | Неверный логин или пароль |
2 | Неверный параметр | Один из переданных параметров неверен |
3 | Ошибка безопасности | Доступ к документу запрещен |
8 | Ошибка изменения документа | Состояние документа запрещает удаление |
Создание связей документа
void createLinks(String docId, String[] linkDocId);
Параметры:
docId – идентификатор главного документа;
linkDocId – список идентификаторов подчиненных документов.
Возвращаемое значение:
Нет.
Возможные ошибки:
Код | Описание | Вероятная причина |
1 | Ошибка авторизации | Неверный логин или пароль |
2 | Неверный параметр | Один из переданных параметров неверен |
3 | Ошибка безопасности | Доступ к документу запрещен |
Получение связей документа
String[] getLinks(String docId);
Параметры:
docId – идентификатор главного документа.
Возвращаемое значение:
Cписок идентификаторов связанных документов.
Возможные ошибки:
Код | Описание | Вероятная причина |
1 | Ошибка авторизации | Неверный логин или пароль |
2 | Неверный параметр | Один из переданных параметров неверен |
Удаление связей документа
void deleteLinks(String docId, String[] linkDocId);
Параметры:
docId – идентификатор главного документа;
linkDocId – список идентификаторов связанных документов.
Возвращаемое значение:
Нет.
Возможные ошибки:
Код | Описание | Вероятная причина |
1 | Ошибка авторизации | Неверный логин или пароль |
2 | Неверный параметр | Один из переданных параметров неверен |
Получение изменений с момента последней синхронизации
RequestChangesResult requestChanges(String syncId, bool mainOnly);
Параметры:
syncId – идентификатор синхронизации. Принимает значения:
- пустая строка – получить все изменения RequestChangesResult. syncId – получить изменения с момента последней синхронизации.
Подробнее см. примечания.
mainOnly – только для основных документов (счет-фактура, Акт, Накладная, НФД и т. д).
Возвращаемое значение:
RequestChangesResult {
syncId: String, - новый идентификатор синхронизации
changes: [{ - список изменений
docId: String, - идентификатор документа
changeType: Integer - тип изменений
mainOnly: bool - признак основного документа
}]
}
Типы изменений:
0 – новый документ
1 – изменилось состояние документа
2 – документ удален
Примечания:
Идентификатор синхронизации – идентификатор предыдущего сеанса синхронизации.
Признак основного документа – содержит признак основного документа (true/false основной документ / квитанция)
Возможные ошибки:
Код | Описание | Вероятная причина |
1 | Ошибка авторизации | Неверный логин или пароль |
2 | Неверный параметр | Один из переданных параметров неверен |
Получение информации по документу
DocInfo getDocInfo(String docId);
Параметры:
docId – идентификатор документа
Возвращаемое значение:
DocInfo {
type: String, - тип документа
parent: String, - идентификатор родительского документа
state: String, - состояние документа
stateComment, - комментарий к состоянию документа
senderId: String, - идентификатор организации-отправителя
recipientId: String, - идентификатор организации-получателя
created: DateTime, - дата и время создания
modified: DateTime, - дата и время последнего изменения
isSigned: bool, - признак наличия подписи
isRaw: bool - признак неформализованного документа
fileName: String - имя файла (вложения документа)
}
Возможные ошибки:
Код | Описание | Вероятная причина |
1 | Ошибка авторизации | Неверный логин или пароль |
2 | Неверный параметр | Один из переданных параметров неверен |
3 | Ошибка безопасности | Доступ к документу запрещен |
Получение содержимого документа
byte[] getDocContent(String docId);
Параметры:
docId – идентификатор документа
Возвращаемое значение:
Бинарный массив данных содержащий неформализованный документ либо xml
Возможные ошибки:
Код | Описание | Вероятная причина |
1 | Ошибка авторизации | Неверный логин или пароль |
2 | Неверный параметр | Один из переданных параметров неверен |
3 | Ошибка безопасности | Доступ к документу запрещен |
Получение ЭП документа
Signatures getDocSignature(String docId)
Параметры:
docId – идентификатор документа
Возвращаемое значение:
Массив подписей документа в формате pkcs#7, либо пустой массив в случае, если документ не содержит подписей.
Возможные ошибки:
Код | Описание | Вероятная причина |
1 | Ошибка авторизации | Неверный логин или пароль |
2 | Неверный параметр | Один из переданных параметров неверен |
3 | Ошибка безопасности | Доступ к документу запрещен |
Получение квитанций по документу
String[] getDocReceipts(String docId)
Параметры:
docId – идентификатор документа
Возвращаемое значение:
массив идентификаторов документов квитанций на указанный документ.
Возможные ошибки:
Код | Описание | Вероятная причина |
1 | Ошибка авторизации | Неверный логин или пароль |
2 | Неверный параметр | Один из переданных параметров неверен |
3 | Ошибка безопасности | Доступ к документу запрещен |
Работа с зарегистрированными организациями в системе
Поиск организаций, зарегистрированных в СЭД СФ
String[] findOrg(String inn, String kpp);
Параметры:
inn – ИНН организации
kpp – КПП организации (необязательный параметр)
Возвращаемое значение:
Список идентификаторов организаций, зарегистрированных в системе и удовлетворяющих критериям поиска.
Если КПП не задан, и зарегистрировано несколько организаций с одинаковым ИНН, но разными КПП, то метод вернет список идентификаторов организаций.
Если не найдено ни одной организации, удовлетворяющей критериям поиска, то вернется пустой список.
Возможные ошибки:
Код | Описание | Вероятная причина |
1 | Ошибка авторизации | Неверный логин или пароль |
2 | Неверный параметр | Один из переданных параметров неверен |
Получение реквизитов организации, зарегистрированной в СЭД СФ
OrgInfo getOrgInfo(String orgId);
Параметры:
orgId –идентификатор организации
Возвращаемое значение:
OrgInfo {
inn: String, - ИНН организации
ogrn: String, - ОГРН организации/индивидуального предпринимателя
certificate: String[] – список действующих СКП, присвоенных организации
isPersonal: bool, - признак индивидуального предпринимателя
personalInfo { - информация об индивидуальном предпринимателе
family: String, - Фамилия
name: String, - Имя
secondName: String, - Отчество
},
legalInfo { - информация о юридическом лице
name: String, - наименование
kpp: String, - КПП организации
}
isForeignAddress: bool, - признак иностранного адреса
russianAddress { - адрес местонахождения в Российской Федерации
postIndex: String, - почтовый индекс
regionCode: String, - код региона
area: String, - район
city: String, - город
settlement: String, - населенный пункт
street: String, - улица
house: String, - дом
building: String, - корпус
apartment: String, - квартира
},
foreignAddress {
countryCode: String, - код страны
address: String, - адрес
}
}
Возможные ошибки:
Код | Описание | Вероятная причина |
1 | Ошибка авторизации | Неверный логин или пароль |
2 | Неверный параметр | Один из переданных параметров неверен |
Получение реквизитов своей организации, зарегистрированной в СЭД СФ
String[] getOrgId();
Параметры:
Отсутствуют.
Возвращаемое значение:
Идентификатор (список идентификаторов) организации, выполняющей вызов метода
Возможные ошибки:
Код | Описание | Вероятная причина |
1 | Ошибка авторизации | Неверный логин или пароль |
Получение количества переданных и полученных документов за период
Int getDocCount(Date beginDate, Date endDate, String type, String routeDirection);
Параметры:
beginDate – дата начала периода
endDate – дата окончания периода
type – тип документа
- Необязательный параметр, в качестве параметра передается тип документа. При отсутствии типа документа возвращается количество документов всех типов Принимает значения:
- ON_SFAKT – Счет-Фактура ACT – Акт выполненных работ NOTE - Товарная накладная UNFORMALIZEDDOC - Прочий документ
routeDirection – направление документооборота
- Необязательный параметр, в качестве параметра передается направление документооборота. Принимает значения:
- IN – Входящие документы OUT - Исходящие документы параметр отсутствует – метод возвращает значение по всем документам
Возвращаемое значение:
Количество документов за указанный период.
Возможные ошибки:
Код | Описание | Вероятная причина |
1 | Ошибка авторизации | Неверный логин или пароль |
2 | Неверный параметр | Один из переданных параметров неверен |
Приложение 1
Полный список возвращаемых ошибок
Код | Описание | Вероятная причина |
1 | Ошибка авторизации | Неверный логин или пароль |
2 | Неверный параметр | Один из переданных параметров неверен |
3 | Ошибка безопасности | Доступ к документу запрещен |
4 | Неверный документ | Указанный документ не является формализованным документом |
5 | Ошибка проверки документа | Документ не прошел одну или несколько из проверок |
6 | Документ уже существует | Такой документ уже ранее был создан и существует в системе |
7 | Подпись неверна | Указанная подпись не соответствует документу либо не является подписью |
8 | Ошибка изменения документа | Состояние документа запрещает его изменение |
9 | Ошибка создания документа | Ошибка создания документа |
Приложение 2
Список типов документов в системе
№ | Тип документа | Описание |
1 | ON_SFAKT | Счет-Фактура |
2 | ACT | Акт выполненных работ |
3 | NOTE | Товарная накладная |
4 | UNFORMALIZEDDOC | Прочий документ |


