Работа с контрагентами

Для каждой организации в Транскрипте определен список контрагентов, с которыми возможен обмен электронными документами.

Список таких контрагентов содержится в адресной книге.

Работа с адресной книгой в Транскрипте предполагает получение списка контрагентов, отправку приглашений на обмен документами и обработку, полученных приглашений.

Внимание: Управлять списком активных контрагентов можно и через веб-интерфейс Транскрипта. Изменения, сделанные через веб-интерфейс, отражаются на списках контрагентов, получаемых через API, и наоборот. В ряде случаев проще не включать в интеграционное решение логику управления списком активных контрагентов, и выполнять такое управление через веб-интерфейс.

Если требуется поддерживать аналогичный функционал в вашей системе необходимо обеспечивать единство списка активных контрагентов с веб-версией.

Для этого необходимо:

Получить список контрагентов

Для получения списка контрагентов организации используйте метод GetPagedContactList

Синтаксис:

GetPagedContactList (Guid token, filter = null)

Параметры
Табл. 1.
Параметр Тип Значение
token Guid авторизационный токен
filter TranscryptContact.Filter фильтр

Выходные данные:

Возвращает список контрагентов.

Пример:

var getContactListResult = api.GetPagedContactList(
  token, 
  new TranscryptContact.Filter {
    State = TranscryptContact.StateCode.Active
  }
);

if (!getContactListResult.IsSuccess)
{
  throw new Exception("Ошибка " + getContactListResult.Fault);
}

var activeContactList = getContactListResult.Result;

Отправить приглашение контрагенту

Для отправки приглашения на обмен документами контрагенту используйте метод SendExchangeRequest.

Прим.: Предварительно выполните поиск контрагента по его реквизитам.

Синтаксис:

SendExchangeRequest (Guid token, string requestReceiverId, string description)

Параметры

Табл. 2.
Параметр Тип Значение
token Guid авторизационный токен
requestReceiverId string идентификатор участника документооборота - получателя запроса
description string комментарий к запросу

Выходные данные:

StateCode - Возвращает состояние отправленного приглашения (направления).

Пример:

var findOrganizationResult = api.FindOrganizationsToAdd(
  token,
  new Organization.Filter{
    SearchString = "Название или ИНН"
  });
if (!findOrganizationResult.IsSuccess)
  return "Ошибка. " + findOrganizationResult.Fault.Message;

var requestReceiverId = findOrganizationResult.Result.First().DocflowMemberId;
var sendRequestResult = api.SendExchangeRequest(token, requestReceiverId, "комментарий к запросу");
if (!sendRequestResult.IsSuccess)
  return "Ошибка. " + sendRequestResult.Fault.Message;

var requestState = sendRequestResult.Result;

Принять приглашение на обмен документами

Для добавления контрагента в список активных используется метод AcceptExchangeRequest (Guid token, string contactId).

Синтаксис:

AcceptExchangeRequest (Guid token, string contactId)

Параметры

Табл. 3.
Параметр Тип Значение
token Guid авторизационный токен
contactId string идентификатор участника документооборота, отправившего запрос

Выходные данные:

StateCode - возвращает новый статус направления с контрагентом.

Пример:

var acceptExchangeRequestResult = api.AcceptExchangeRequest (token, contactId);
if (!acceptExchangeRequestResult.IsSuccess)
  return "Ошибка. " + acceptExchangeRequestResult.Fault.Message;

var requestState = acceptExchangeRequestResult.Result;

Отклонить/удалить приглашение на обмен документами

Для отклонения/удаления приглашения на обмен документами используется метод RejectExchangeRequest.

Синтаксис:

RejectExchangeRequest (Guid token, string contactId)

Параметры

Табл. 4.
Параметр Тип Значение
token Guid авторизационный токен
contactId string идентификатор участника документооборота, с которым установлена связь

Выходные данные:

StateCode - возвращает новый статус направления с контрагентом.

Пример:

var rejectExchangeRequestResult = api.RejectExchangeRequest (token, contactId);
if (!rejectExchangeRequestResult.IsSuccess)
  return "Ошибка. " + rejectExchangeRequestResult.Fault.Message;

var requestState = rejectExchangeRequestResult.Result;