AcquireCounteragent

На текущий момент доступно 2 версии данного метода:

v1.21

Метод позволяет добавить организацию в список контрагентов организации myOrgId.

HTTP

POST /V2/AcquireCounteragent

Параметры запроса:

  • myOrgId - идентификатор организации, от имени которой производится инициация отношения партнерства.
  • myDepartmentId - идентификатор подразделения, от имени которого производится инициация отношения партнерства. Данный параметр запроса может отсутствовать.

В запросе должен присутствовать HTTP-заголовок Authorization с необходимыми данными для авторизации. Пользователь имеет право производить манипуляции со списком контрагентов организации myOrgId, если у него есть доступ хотя бы в один из ящиков этой организации.

В теле запроса должно содержаться сообщение AcquireCounteragentRequest, в формате протобуфер:

message AcquireCounteragentRequest {
    optional string OrgId = 1;
    optional string Inn = 2;
    optional string MessageToCounteragent = 3;
    optional InvitationDocument InvitationDocument = 4;
}

message InvitationDocument {
    required Events.SignedContent SignedContent = 1;
    required string FileName = 2;
    optional bool SignatureRequested = 3 [default = false];

AcquireCounteragentRequest:

  • OrgId: идентификатор организации-контрагента;
  • Inn: ИНН организации-контрагента;
  • MessageToCounteragent: текст комментария к операции
  • InvitationDocument: вложенный файл:
    • SignedContent: содержимое файла документа вместе с ЭП под ним в виде структуры SignedContent.
    • FileName: имя файла с приглашением
    • SignatureRequested: запрос подписи контрагента

В теле ответа содержится AsyncMethodResult, в формате протобуфер:

message AsyncMethodResult {
    optional string taskId = 1;
}

AsyncMethodResult:

  • taskId: идентификатор задачи на отправки приглашения контрагенту. По этому идентификатору можно получить подтверждение успешной обработки запроса;

Если организация уже зарегистрирована в Диадоке, лучше пользоваться параметром OrgId контрагента, поскольку он позволяет детализировать Контрагента с помощью КПП. Получить OrgId можно с помощью метода GetOrganizationsByInnKpp.

Если организация еще не зарегистрирована в Диадоке и для нее отсутствует параметр OrgId, то нужно пользоваться параметром Inn. Если организация с данным ИНН присутствует в ЕГРЮЛ, то для нее будет создан ящик. В ящик будет помещено приглашение к партнерству. Организация получит приглашение, когда сотрудник организации с сертификатом КЭП войдет в Диадок. Таким образом можно отправить запрос только в головную организацию, в филиал организации отправить запрос нельзя.

Алгоритм выполнения запроса:

  • Если между организациями myOrgId и counteragentOrgId нет действующего отношения партнерства, то от имени организации myOrgId отправляется запрос на установление отношения партнерства в адрес организации counteragentOrgId, Контрагент counteragentOrgId переходит в статус IsInvitedByMe.
  • Если в индексе отношений есть входящий запрос на установление отношения партнерства от организации counteragentOrgId к организации myOrgId (то есть контрагент counteragentOrgId находится в статусе InvitesMe), то этот запрос подтверждается и между организациями myOrgId и counteragentOrgId устанавливается действующее отношение партнерства. Контрагент counteragentOrgId переходит в статус IsMyCounteragent.
    • Принять приглашение без вложенного документа, а также приглашение со вложенным документом, не требующим подписи, можно отправкой взаимного запроса без вложенного документа.
    • Нельзя принять приглашение с помощью взаимного запроса со вложенным документом.
    • Нельзя принять взаимным запросом приглашение со вложением, требующим подписи. Для принятия такого приглашения через API необходимо подписать вложенный документ с помощью метода PostMessagePatch. Сразу после подписания вложенного документа будет установлено отношение партнерства.
  • Если между организациями myOrgId и counteragentOrgId отношение партнерства уже установлено, или уже есть исходящий запрос от организации myOrgId к организации counteragentOrgId, то ничего не происходит.

Возможные HTTP-коды возврата:

  • 200 (OK) - операция успешно завершена.

  • 400 (Bad Request) - данные в запросе имеют неверный формат или отсутствуют обязательные параметры.

  • 401 (Unauthorized) - в запросе отсутствует HTTP-заголовок Authorization, или в этом заголовке содержатся некорректные авторизационные данные.

  • 403 (Forbidden) - может возвращаться в следующих случаях:

    • доступ к ящику с предоставленным авторизационным токеном запрещен;
    • у пользователя недостаточно прав для доступа ко всем документам организации;
    • у пользователя нет права работать со списками контрагентов (см. OrganizationUserPermissions.CanManageCounteragents);
  • 404 (Not Found) - в указанном ящике нет документов с указанными идентификаторами.

  • 405 (Method not allowed) - используется неподходящий HTTP-метод.

  • 500 (Internal server error) - при обработке запроса возникла непредвиденная ошибка.

v1.20

Метод позволяет добавить организацию counteragentOrgId в список контрагентов организации myOrgId.

HTTP

POST /AcquireCounteragent

Параметры запроса:

  • myOrgId - идентификатор организации, от имени которой производится инициация отношения партнерства
  • counteragentOrgId: идентификатор организации-контрагента;
  • comment: текст комментария к операции (может отсутствовать).
  • myDepartmentId - идентификатор подразделения, от имени которого производится инициация отношения партнерства. Данный параметр запроса может отсутствовать.

В запросе должен присутствовать HTTP-заголовок Authorization с необходимыми данными для авторизации. Пользователь имеет право производить манипуляции со списком контрагентов организации myOrgId, если у него есть доступ хотя бы в один из ящиков этой организации.

Алгоритм выполнения запроса:

  • Если между организациями myOrgId и counteragentOrgId нет действующего отношения партнерства, то от имени организации myOrgId*отправляется запрос на установление отношения партнерства в адрес организации *counteragentOrgId. Контрагент counteragentOrgId переходит в статус IsInvitedByMe.
  • Если в индексе отношений есть входящий запрос на установление отношения партнерства от организации counteragentOrgId к организации myOrgId (то есть контрагент counteragentOrgId находится в статусе InvitesMe), то этот запрос подтверждается и между организациями myOrgId и counteragentOrgId устанавливается действующее отношение партнерства. Контрагент counteragentOrgId переходит в статус IsMyCounteragent.
  • Если между организациями myOrgId и counteragentOrgId отношение партнерства уже установлено, или уже есть исходящий запрос от организации myOrgId к организации counteragentOrgId, то ничего не происходит.

Возможные HTTP-коды возврата:

  • 200 (OK) - операция успешно завершена.

  • 400 (Bad Request) - данные в запросе имеют неверный формат или отсутствуют обязательные параметры.

  • 401 (Unauthorized) - в запросе отсутствует HTTP-заголовок Authorization, или в этом заголовке содержатся некорректные авторизационные данные.

  • 403 (Forbidden) - может возвращаться в следующих случаях:

    • доступ к ящику с предоставленным авторизационным токеном запрещен;
    • у пользователя недостаточно прав для доступа ко всем документам организации;
    • у пользователя нет права работать со списками контрагентов (см. OrganizationUserPermissions.CanManageCounteragents);
  • 404 (Not Found) - в указанном ящике нет документов с указанными идентификаторами.

  • 405 (Method not allowed) - используется неподходящий HTTP-метод.

  • 500 (Internal server error) - при обработке запроса возникла непредвиденная ошибка.