Описание сервиса взаимодействия СЭД Счета-Фактуры с внешними системами

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 – тип документа

    Обязательный параметр, в качестве параметра передается тип неформализованного документа. Принимает значения:

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

Прочий документ