2.1.1.3. XML для работы с приглашениями и таблицами данных контрагентов
 
Эти XML файлы используются для выполнения Регламента обмена приглашениями обмениваться документами с помощью Такском-Доклайнз. Предусмотрено два XML формата:
XML списка приглашенных и пригласивших к обмену контрагентов (используется для отслеживания статусов приглашений и для запросов на отправку приглашений по списку);
XML команд принятия и отклонения приглашения.
XSD схемы для создания и проверки XML можно скачать по ссылке:
Во всех этих XML файлах должны быть следующие параметры:
  •  
“Xmlns: http://api-invoice.taxcom.ru/ ContactActions” для команд принятия и отклонения приглашения или “Xmlns: http://api-invoice.taxcom.ru/contacts” для других.
  •  
“Encoding: utf-8”.
XML списка контактов
Файл XSD схемы: Contacts.xsd.
Этот XML файл содержит список приглашенных, пригласивших или приглашаемых контрагентов, а также информацию о подразделениях и сотрудниках организации с включенной опцией "Показывать контрагентам при заполнении данных получателя". В таком же виде поступает обновление списка "Мои контрагенты", включающее входящие приглашения от контрагентов за определённый период.
 
Contacts:
Атрибут
Тип
Описание
Обязательное присутствие
Asof
 Дата и время - стандарт XML (YYYY-MM-DDТHH:mm:ss.ttt)
Отметка времени
Да
Contact
Комплексный тип.
См. следующую табл.
Содержит узел Contact для каждой записи обновления списка контактов.
См. следующую табл.
Нет
TemplateID
Идентификатор типа GUID
Идентификатор шаблона письма приглашения Тег TemplateID опционален. Если его нет, то используется шаблон по умолчанию.
Указанный шаблон должен быть создан и записан в системе заранее.
Набор поддерживаемых маркеров шаблона, которые при формировании сообщения заменяются на реальные значения:
[ContactName] - Поле Name из заявки
[SenderName] - Наименование отправителя
[SenderMessage] - Сообщение пользователя. Поле Comment заявки
[SenderInn] - ИНН отправителя
[ContactInn] - ИНН получателя
[IsTestAbonent] - признак тестового абонента
Нет
 
Contact:
Атрибут
Тип
Описание
Обязательное присутствие
State
Комплексный тип.
См. следующую табл.
Значение статуса входящего или исходящего приглашения.
См. следующую табл.
Нет
Name
Текст, до 255 символов
Полное или краткое наименование организации или индивидуального предпринимателя.
Да
Inn
Число, до 12 символов
ИНН юридического лица (10 цифр) или индивидуального предпринимателя (12 цифр). Система проверят правильность ИНН.
Да
Kpp
Число, до 9 символов
КПП юридического лица получателя (если получатель - индивидуальный предприниматель, то значение не задаётся);
Нет
SenderEmail
Текст, максимальная длина 32 символа
Адрес электронной почты отправителя в формате [имя_пользователя]@[сервер].[домен] (например, demo@mail.ru)
Нет
Email
Текст, до 32 символов
Адрес электронной почты контрагента в формате [имя_пользователя]@[сервер].[домен] (например, demo@mail.ru)
Да
Login
Текст, до 255 символов
Псевдоним пользователя в системе Такском-Доклайнз.
Нет
EDXClientId
Текст, до 46 символов
Идентификатор участника документооборота.
Нет
ExternalContactId
Текст, до 255 символов
Идентификатор контрагента во внешней учетной системе.
Нет
Comment
Текст, до 255 символов
Текст приглашения или комментарий
Нет
Agreements
Комплексный тип.
См. табл. "Agreements\Agreement" ниже.
Список договоров (контрактов) с контрагентом.
См. табл. ниже.
Нет
OperatorId
Текст, 3 символа
Идентификатор доверенного оператора электронного документооборота, присвоенный ФНС и состоящий из 3 символов, например, 2AL, 2BM, 2BE.
Нет
ScanFilename
Текст, до 100 символов
Имя файла вложения, включая расширение. Поддерживаемые типы расширения - ".pdf", ".jpg", ".png".
Нет
Scan
Текст, до 10 МБ
Файл вложения в кодировке Base64 (ограничение по объему - 10 МБ).
Нет
OrganizationStructure
Комплексный тип
См. табл. "OrganizationStructureType" ниже
Информация об организационной структуре
Нет
Active
Bool
Активность абонента. Абонент считается активным, если за предыдущие 6 месяцев зафиксирована его авторизация. В ином случае абонент считается неактивным. Для роумингового кабинета не отображается.
Нет
Наличие элемента «OperatorId» однозначно свидетельствует об отправке приглашения в роуминг, тому оператору, с которым необходим обмен документами.
Наличие элемента «OperatorId» запрещает использование элемента «EDXClientId».
Наличие одного из элементов «ScanFilename» или «Scan» влечёт за собой обязательное присутствие второго.
 
State:
Атрибут
Тип
Описание
Обязательное присутствие
Code
Перечисление, enum
Код статуса приглашения может принимать значения:
Sent - Приглашение отправлено контрагенту, ожидание ответа.
Accepted - Приглашение принято.
Rejected - Приглашение отклонено.
Error - Ошибка
Incoming - Контрагент ожидает ответа на приглашение.
Да
ErrorCode
Перечисление, enum
Если есть ошибка, данный код указывает её  причину:
1.Некорректный формат ИНН контрагента. ErrorCode=InvalidInn.
Данное описание применяется при выявлении ошибки в ИНН.
2.Неверный формат email контакта. ErrorCode=InvalidEmail.
3.Невозможно отправить приглашение, так как контрагент не найден в базе абонентов компании "Такском", и адрес электронной почты задан неверно. ErrorCode = NotFound.
Данное описание применяется при невозможности обработать запрос.
4.Не найдены приглашения. ErrorCode = NotFound.
Данное значение применяется при попытке выполнения команд "принять" или "отклонить"  для несуществующего входящего приглашения (передан логин контрагента, который не отправлял приглашений принимающей стороне).
Нет
Changed
Дата и время - стандарт XML (YYYY-MM-DDТHH:mm:ss.ttt)
Дата и время последнего изменения статуса контакта (приглашения).
Да
Внимание!
Поле State используется только в методах получения данных из списка  приглашений (GetContactListUpdates, GetContacts).
 
Agreements\Agreement:
Атрибут
Тип
Описание
Обязательное присутствие
Number
Текст, до 255 символов
Номер договора/контракта
Нет
Date
Дата и время - стандарт XML (YYYY-MM-DDТHH:mm:ss.ttt)
Дата заключения договора/контракта
Нет
 
OrganizationStructureType
Атрибут
Тип
Описание
Обязательное присутствие
RootDepartment
Комплексный тип DepartmentStructuredInfoType
См. следующую таблицу.
Информация о головном подразделении
Да
 
DepartmentStructuredInfoType
Атрибут
Тип
Описание
Обязательное присутствие
SubDepartments
Содержит список вложенных подразделений.
Тип DepartmentStructuredInfoType
Информация о вложенных подразделениях
Нет
Employees
Содержит список сотрудников. Тип EmployeeShortInfoType
Информация о сотрудниках подразделения
Да
ID
Тип строка. 32 символа
Идентификатор подразделения
Да
Name
Тип строка. 1 - 255 символов
Наименование подразделения
Да
 
EmployeeShortInfoType
Атрибут
Тип
Описание
Обязательное присутствие
ID
Тип строка. 32 символа
Идентификатор сотрудника
Да
Name
Тип строка. 1 - 255 символов
Фамилия, имя, отчество сотрудника
Да
Position
Тип строка. 0 - 255 символов
Сведения о должности, занимаемой сотрудником
Да
XML команда принятия  приглашения к обмену электронными документами и XML команда отклонения приглашения или отказа от обмена электронными документами имеют одинаковую структуру и используют упомянутые выше атрибуты.
 
Примеры
Пример XML файла заявки на отправку приглашений:
<?xml version="1.0" encoding="utf-8"?>
<Contacts xmlns="http://api-invoice.taxcom.ru/contacts">
<Contact>
<ExternalContactId>Client-993</ExternalContactId>
<Name>ООО "Нептун"</Name>
<Inn>7714698320</Inn>
<Email>GruzdevMV@taxcom.ru</Email>
<Comment>Это Иванов А. В.</Comment>
</Contact>
<TemplateID>1B3F3F57-96BD-40AB-83FE-8C63540EE8BD</TemplateID>
</Contacts>
 
Пример XML файла статусов приглашений и структуры организации
<?xml version="1.0" encoding="windows-1251"?>
<Contacts Asof="2016-06-02T16:02:25.597" xmlns="http://api-invoice.taxcom.ru/contacts">
               <Contact>
                              <State Code="Accepted" ErrorCode="" Changed="2015-09-08T13:45:02.137">Контакт подтвержден, обмен документами доступен</State>
                              <Name>Индивидуальный предприниматель Нестриженко Филофей Дементьевич</Name>
                              <Inn>787419301376</Inn>
                              <Login>nestr</Login>
                              <EDXClientId>2AL-93D14F72-E2A4-4DE6-8859-03B70C547106-00000</EDXClientId>
                              <Email />
                              <Agreements />
                              <OrganizationStructure>
                                            <RootDepartment ID="e33af870-d0d4-46cf-828a-fe1205c1f438" Name="Головное подразделение">
                                                           <SubDepartments />
                                                           <Employees>
                                                                          <Employee ID="7fc990f9-08c9-44c9-b2a0-ccf8a76cace4">
                                                                                         <Name LastName="Иванов" FirstName="Петр" />
                                                                                         <Position />
                                                                          </Employee>
                                                           </Employees>
                                            </RootDepartment>
                              </OrganizationStructure>
               </Contact>
               <TemplateID>00000000-0000-0000-0000-000000000000</TemplateID>
</Contacts>
 
 
Приложение Такском-Ассистент может отправлять в систему Такском-Доклайнз команды принятия или отклонения приглашений
 
Пример XML файла команды принятия приглашения
(от абонента с идентификатором 2AL-2971F132-1B2A-401E-8ACC-02F11180F3FC-00000)
<?xml version="1.0" encoding="utf-8"?>
<ContactActions xmlns="http://api-invoice.taxcom.ru/ContactActions">
<ContactAction Type="Accept" EdxClientId="2AL-2971F132-1B2A-401E-8ACC-02F11180F3FC-00000" />
</ContactActions>
 
Пример XML файла команды отклонить приглашение
(от абонента с идентификатором 2AL-077966D6-2204-4714-B5B0-B63EDF6BAEB6-00000)
<?xml version="1.0" encoding="utf-8"?>
<ContactActions xmlns="http://api-invoice.taxcom.ru/ContactActions">
<ContactAction Type="Reject" EdxClientId="2AL-077966D6-2204-4714-B5B0-B63EDF6BAEB6-00000" />
</ContactActions>