Ветис.API — Меркурий (ФГИС ВетИС): Получить список входящих ВСД

Сценарий из mcp-everything. Актуально на 2026-10-24.

Учётная система предприятия видит ветеринарные сопроводительные документы на поставки и готовит приёмку заранее.

  1. Получи доступ: подай заявку через форму aplms.vetrf.ru (сначала тестовый контур t2-aplms.vetrf.ru). Придут логин и пароль для базовой аутентификации и apiKey; в запросах также нужен issuerId — идентификатор заявителя.
  2. Подай заявку submitApplicationRequest на POST /platform/services/3.0/ApplicationManagementService: apiKey, application.serviceId = mercury-g2b.service:3.0, issuerId, issueDate, а в application.data — запрос операции GetVetDocumentList (getVetDocumentListRequest).
  3. В запросе укажи initiator.login — логин пользователя Меркурия (логин базовой аутентификации не подойдёт), enterpriseGuid площадки, vetDocumentType = INCOMING, vetDocumentStatus = CONFIRMED и issueDateInterval — не длиннее 31 дня. Страницы — listOptions.count (до 1000) и offset.
  4. В ответе на подачу — applicationId. Забери результат заявкой receiveApplicationResultRequest с apiKey, issuerId и applicationId; повторяй с паузой, пока заявка в обработке. applicationId хранится 3 дня.
  5. В результате — vetDocumentList с атрибутами total, offset и count; если total больше полученного, запроси следующую страницу.
cat > list.xml <<'XML'
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
  xmlns:apldef="http://api.vetrf.ru/schema/cdm/application/ws-definitions"
  xmlns:apl="http://api.vetrf.ru/schema/cdm/application"
  xmlns:merc="http://api.vetrf.ru/schema/cdm/mercury/g2b/applications/v3"
  xmlns:vd="http://api.vetrf.ru/schema/cdm/mercury/vet-document/v2"
  xmlns:bs="http://api.vetrf.ru/schema/cdm/base"
  xmlns:dt="http://api.vetrf.ru/schema/cdm/dictionary/v2">
  <SOAP-ENV:Body>
    <apldef:submitApplicationRequest>
      <apldef:apiKey>APIKEY</apldef:apiKey>
      <apl:application>
        <apl:serviceId>mercury-g2b.service:3.0</apl:serviceId>
        <apl:issuerId>ISSUER_ID</apl:issuerId>
        <apl:issueDate>2026-10-24T10:00:00</apl:issueDate>
        <apl:data>
          <merc:getVetDocumentListRequest>
            <merc:localTransactionId>list20261024</merc:localTransactionId>
            <merc:initiator><vd:login>mercury_user</vd:login></merc:initiator>
            <bs:listOptions><bs:count>1000</bs:count><bs:offset>0</bs:offset></bs:listOptions>
            <vd:vetDocumentType>INCOMING</vd:vetDocumentType>
            <vd:vetDocumentStatus>CONFIRMED</vd:vetDocumentStatus>
            <vd:issueDateInterval>
              <bs:beginDate>2026-10-01T00:00:00</bs:beginDate>
              <bs:endDate>2026-10-24T23:59:59</bs:endDate>
            </vd:issueDateInterval>
            <dt:enterpriseGuid>ENTERPRISE_GUID</dt:enterpriseGuid>
          </merc:getVetDocumentListRequest>
        </apl:data>
      </apl:application>
    </apldef:submitApplicationRequest>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
XML

curl -s -u "$VETIS_LOGIN:$VETIS_PASSWORD" -H 'Content-Type: text/xml; charset=utf-8' \
  --data-binary @list.xml https://api.vetrf.ru/platform/services/3.0/ApplicationManagementService
# в ответе applicationId — передай его в receiveApplicationResultRequest:

cat > result.xml <<'XML'
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
  xmlns:apldef="http://api.vetrf.ru/schema/cdm/application/ws-definitions">
  <SOAP-ENV:Body>
    <apldef:receiveApplicationResultRequest>
      <apldef:apiKey>APIKEY</apldef:apiKey>
      <apldef:issuerId>ISSUER_ID</apldef:issuerId>
      <apldef:applicationId>APPLICATION_ID</apldef:applicationId>
    </apldef:receiveApplicationResultRequest>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
XML

curl -s -u "$VETIS_LOGIN:$VETIS_PASSWORD" -H 'Content-Type: text/xml; charset=utf-8' \
  --data-binary @result.xml https://api.vetrf.ru/platform/services/3.0/ApplicationManagementService

Базовые URL

Авторизация

Тип: Basic Auth

Базовая аутентификация логином и паролем, которые присылаются письмом после получения доступа; затем проверяется apiKey, передаваемый в теле запроса. Заявка на доступ подаётся через форму https://t2-aplms.vetrf.ru/pub/ (тестовый контур) или https://aplms.vetrf.ru/pub/ (продуктивный, нужна УКЭП руководителя). Поддержка — api@vetrf.ru.

Методы сценария

POST /platform/services/3.0/ApplicationManagementService — submitApplicationRequest: подача заявки

В ответе: applicationId, status, rcvDate.

Параметр Где Тип Обяз. Описание
apiKey body string да Ключ API
application.serviceId body string да mercury-g2b.service:3.0
application.issuerId body string да Идентификатор заявителя
application.issueDate body string да Дата подачи заявки
application.data body object да Тело заявки: запрос конкретной операции Меркурия

POST /platform/services/3.0/ApplicationManagementService — receiveApplicationResultRequest: результат заявки

Идентификатор заявки хранится 3 дня.

Параметр Где Тип Обяз. Описание
apiKey body string да Ключ API
issuerId body string да Идентификатор заявителя
applicationId body string да ID заявки из ответа submitApplicationRequest

POST /platform/services/3.0/ApplicationManagementService — GetVetDocumentList: список ВСД

Передаётся в application.data как getVetDocumentListRequest. В ответе — vetDocumentList с атрибутами total, offset, count.

Параметр Где Тип Обяз. Описание
localTransactionId body string нет ID заявки в клиентской системе
initiator.login body string да Логин пользователя Меркурия (логин базовой аутентификации не подходит)
listOptions.count body integer нет Количество, по умолчанию 100, максимум 1000
listOptions.offset body integer нет Смещение, по умолчанию 0
vetDocumentType body string нет INCOMING, OUTGOING, PRODUCTIVE, TRANSPORT, RETURNABLE
vetDocumentStatus body string нет CONFIRMED, WITHDRAWN, UTILIZED
issueDateInterval.beginDate body string нет Начало интервала оформления (интервал не больше 31 дня)
issueDateInterval.endDate body string нет Конец интервала
consignor body object нет Фильтр по отправителю (не для PRODUCTIVE)
referencedDocument body object нет Поиск по связанному документу (нужен vetDocumentType)
enterpriseGuid body string да GUID предприятия

Нюансы

Другие сценарии


Если этого недостаточно — официальная документация: https://help.vetrf.ru/wiki/Ветис.API Вся интеграция одним документом: https://mcp-everything.ru/integrations/vetis-mercury.md