Инструменты пользователя

Инструменты сайта

  • ru

Содержание

:!:

Внимание! Документация была немного переработана. Ознакомиться с новой версией можно по ссылке

MONT Webstore

Система MONT Webstore предназначена для интеграции с электронными торговыми системами по продаже лицензионного ПО посредством электронных каналов дистрибуции.

Целью системы является предоставление возможности авторизованным партнерам группы компаний MONT получать актуальную информацию об электронных продуктах, доступных через каналы электронной поставки ПО, размещать заказы и получать ключи напрямую от вендора.

Система MONT Webstore является собственной разработкой группы компаний MONT и ей же принадлежит.

Читать подробнее о дистрибуции электронных ключей

Перейти на страницу документации по автоматической интеграции

Интерактивная версия документации доступна по адресу http://sandbox.webstore.mont.ru/wiki

Порядок интеграции

Интеграция партнера с сервисами MONT состоит из двух этапов:

  1. Разработка, отладка и тестирование на тестовом контуре
  2. Запуск в работу на боевом контуре

Получение тестового доступа

Все сервисы MONT доступны не только в боевом окружении, но и на тестовой площадке (песочнице). Для поддержания целостности системы,в процессе разработки партнеры могут работать только с песочницей. Для получения доступа необходимо написать письмо на webstore_support@mont.com с темой «Тестовый доступ для автоматического размещения заказов». В ответ вы получите тестовые логин и пароль.

Логин/пароль для автоматического размещения заказов никак не связан с логином/паролем для размещения заказов через вебинтерфейс (portal.mont.ru, eShop). Для автоматического подключения ВСЕГДА выдается другой логин.

Переключение на боевой контур

Когда партнер считает, что с его стороны интеграция завершена и он готов к переключению в боевой режим, ему необходимо написать письмо на webstore_support@mont.com с темой «Боевой доступ для автоматического размещения заказов» После успешного завершения тестирования партнеру будет создан пользователь в боевом контуре.

Для оперативного ответа специалистов МОНТ соблюдайте рекомендации по обращению в службу поддержки

Техническая информация

В данном разделе описана техническая сторона интеграции c сервисами MONT Webstore.

Cистема представляет из себя несколько веб-сервисов, доступ к которомым осуществляется с помощью прикладного протокола HTTPS. Для каждого сервиса существует 2 протокола, с помощью которых можно взаимодействовать с сервисом - XML over HTTP и SOAP.

XML over HTTP

Запросы и ответы

XML over HTTP подразумевает 2 типа запроса к серверу:

  • GET. В таком случае, все параметры запроса передаются в адресной строке, например, таким методом является GetActivationForm
  • POST. В таком случае все параметры запроса передаются с помощью XML, в качестве POST-данных. Пример такого метода: StartSubscription.

В обоих случаях ответом сервиса является XML, содержащий десериализованный объект ответа. Для каждого метода в его описании приводятся примеры запросов и ответов сервера, что можно использовать при реализации своего программного обеспечения для формирования нужных запросов. Необходимый ContentType: «application/xml»

Авторизация

Для работы некоторых методов веб-сервисов необходима авторизация. В случае XML over HTTP для этого используется Basic Authentication Scheme, стандартизированная W3C.

Примеры использования (PHP)

Рассмотрим пример использования веб-сервиса на языке PHP. Все общение с веб-сервисом можно описать одной функцией:

<?php
function CallMethod($serviceUrl, $login, $pass, $methodName, $postXml)
	{
		$ch = curl_init($serviceUrl.$methodName); //инициализируем curl для запроса на нужный адрес
		curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
		curl_setopt($ch, CURLOPT_USERPWD, $login . ':' . $password); // указываем авторизационный заголовок
		curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); // Этот параметр нужен для успешного выполнения запросов на тестовой площадке
		curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); // Этот параметр нужен для успешного выполнения запросов на тестовой площадке
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
		if ($postXml) //Если метод GET - то этот параметр просто не нужно передавать
		{
			curl_setopt($ch, CURLOPT_POST, 1);
			curl_setopt($ch, CURLOPT_HTTPHEADER, Array("Content-Type:application/xml; charset=utf-8",
				"Content-Length:" . strlen($postXml)));
			curl_setopt($ch, CURLOPT_POSTFIELDS, $postXml);
		}
		$xml = simplexml_load_string($xmlString); // Выполняем запрос
		$resultCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); // Проверяем результат выполнения запроса
		if ($xml->IsError==="true")
		{
			throw new Exception($xml->ErrorDetails,intval($xml->ErrorCode));
		}
		if ($xml->IsError==="false")
		{
			return json_decode(json_encode($xml)); //хитро преобразуем в объект
		}
		throw new Exception("Необработанная ошибка при выполнении веб-запроса. Код ошибки:".$resultCode, $resultCode);
	}
?>

Приведем примеры вызова этой функции. Для метода GetActivationForm (GET):

<?php
CallMethod("https://sandbox.mont.ru/Version2/Service/B2BService.svc/", "login", "pass", 
"GetActivationForm?partNum=cloud-6p-365&montSubscriberId=55173afd-3227-4b09-8c2a-8ef38c490708&langCode=RU");
?>

Для метода StartSubscription (POST):

<?php 
CallMethod("https://sandbox.mont.ru/Version2/Service/B2BService.svc/", "login", "pass", 
	"<?xml version=\"1.0\" encoding=\"utf-8\" ?><StartSubscription><montSubscriptionId>SUB-12345</montSubscriptionId><byEndUser>true</byEndUser></StartSubscription>");
?>

SOAP

SOAP - стандартизированный протокол обмена структурированными сообщениями. В случае использования этого протокола подключения все запросы должны иметь тип «POST», и отправляться на один адрес(для каждого сервиса свой, например, https://sandbox.mont.ru/Version2/Service/B2BServiceV2.svc)

Отправляемое в POST-данных сообщение имеет общую структуру. Рассмотрим её на примере метода StartSubscription:

<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://www.w3.org/2005/08/addressing" xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
  <s:Header>
    <a:Action s:mustUnderstand="1">http://tempuri.org/IB2BServiceV2/StartSubscription</a:Action>
    <a:ReplyTo>
      <a:Address>http://www.w3.org/2005/08/addressing/anonymous</a:Address>
    </a:ReplyTo>
    <a:To s:mustUnderstand="1">https://sandbox.mont.ru/Version2/Service/B2BServiceV2.svc</a:To>
    <o:Security s:mustUnderstand="1" xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
      <o:UsernameToken>
        <o:Username>username</o:Username>
        <o:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">password</o:Password>
      </o:UsernameToken>
    </o:Security>
  </s:Header>
  <s:Body>
    <StartSubscription xmlns="http://tempuri.org/">
      <montSubscriptionId>123</montSubscriptionId>
      <byEndUser>true</byEndUser>
    </StartSubscription>
  </s:Body>
</s:Envelope>

Структура блока Header для всех методов одинакова:

  • Элемент Action содержит название вызываемого метода
  • Элемент To содержит адрес сервиса, к которому совершается вызов.
  • Элемент Security содержит авторизационные данные - логин и пароль.

Структура блока Body для всех методов различна, и зависит от его входных параметров. Для каждого метода сервиса приводятся примеры SOAP-запросов и ответов.

В большинстве современных языков программирования есть средства для автоматизированной интеграции с SOAP-сервисами, на основе wsdl-файла. Для каждого сервиса wsdl-файл доступен по адресу *serviceAddress*?wsdl, например https://sandbox.mont.ru/Version2/Service/B2BServiceV2.svc?wsdl

Необходимый ContentType: «application/soap+xml»

Типы данных

На данной странице приводится описание всех типов, которые используются при взаимодействии с сервисами MONT.

Список "примитивных" типов

НазваниеПример значения в тегах XMLОписание содержания
string«lorem ipsum»Простая строка, в кодировке UTF-8
int«42»Целое число
decimal«42.15»Дробное число, в качестве разделителя используется символ «.» (точка). В сервисе обычно применяется для финансовых величин, потому не рекомендуется хранить его в переменных с типом с “плавающей запятой”.
bool«true»Логическая переменная. Допустимые значения при общении с сервисом - “true” или “false”
DateTime«2015-05-20T12:49:33.6052875»Дата-время в формате «yyyy-MM-ddTHH:mm:ss.fffffff» в соответствии со стандартом ISO 8601
array of Tсм. нижеМассив элементов типа T(где T - любой тип)
T?см. нижеПоле имеет значение либо типа T(где T - любой тип), либо NULL
UUID86F40D0B-AB83-4E42-87B6-3A5F0220AC74Статистически уникальный 128-битный идентификатор. Существует несколько реализаций стандарта UUID, например реализация от Microsoft - GUID

Ниже приведены некоторые комментарии по описанным выше типам данных и их методах описания в API.

Значение NULL

Значение NULL и в XML over HTTP, и в SOAP кодируется следующим образом(на примере поля ParentId):

<ParentId i:nil="true" />

Соответственно, если значение этого поля будет отлично от NULL, то это должно описываться таким образом:

<ParentId>25</ParentId>

Nullable-типы

T? - это специальный тип для описания поля, которое может иметь как значение типа T, так и значение NULL. Необходимо это учитывать при вызове методов и при обработке их результатов.

Если рассматривать случай с SOAP при использовании WSDL, то возможны несколько вариантов распознавания такого типа используемым языком программирования:

  • используемый язык программирования имеет динамическую типизацию, и в таком случае поле может иметь оба возможных типа(и тип T, и тип, описывающий в языке значение NULL);
  • используемый язык программирования поддерживает такой тип данных, и в случае получения от сервера значения NULL оно так и будет записываться в переменную;
  • используемый язык программирования не поддерживает такой тип данных. В таком случае, интерпретация этого значения зависит от языка программирования. Например, большинство строго-типизированных языков подставят значение по умолчанию.

Массивы

Следует обратить внимание на то, каким образом будут заполняться поля типа “Массив” при использовании протокола XML over HTTP. Рассмотрим 2 примера для этого типа данных:

  • Массив элементов “простых” типов, описанных выше. В XML этот массив строк будет отображен следующим образом:
...
<SomeField>...</SomeField>
<RelatedPartNums xmlns:a="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
  <a:string>KL1030RDAFS</a:string>
  <a:string>ABC-11111</a:string>
</RelatedPartNums>
<SomeField2>...</SomeField>
...
  • Массив элементов “сложных” типов, где каждый элемент массива является объектом и содержит в себе несколько полей. В XML этот массив строк будет отображен следующим образом:
...
<SomeField>...</SomeField>
<MenuDescriptionsField>
  <MenuDescriptionContract>
    <Id>3</Id>
    <MenuName>Legacy tree</MenuName>
  </MenuDescriptionContract>
  <MenuDescriptionContract>
    <Id>1</Id>
    <MenuName>Legacy tree 2</MenuName>
  </MenuDescriptionContract>
</RelatedPartNums>
<SomeField2>...</SomeField>
...

MONT eKey & CSP API

:!:

Внимание! Документация была немного переработана. Ознакомиться с новой версией можно по ссылке


Описание

Данный API позволяет создавать подписки, изменять их, управлять подписчиками и синхронизировать цены в своей системе (системе реселлера).

Сценарии работы с CSP API

Создание подписки

Создание новой подписки всегда производится через создание заказа. При успешно созданном заказе будет создана и активирована новая подписка. Некоторые подписки (в зависимости от вендора) требуют заполнения лиц. формы. Одним из полей этой лиц. формы может стать согласие с дополнительными условиями поставки, использования и пр. (доп. соглашение)

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

Редактирование подписок

Ниже представлен граф изменения статусов подписки. Из этого рисунка видно, что при остановке подписки из состояния активна или при запуске подписки из состояния остановлена, она не перейдет сразу в требуемое состояние. Ее статус изменится в определенный промежуточный статус. Система реселлера должна уметь периодически синхронизировать состояния изменившихся подписок. Для этого необходимо использовать методы GetSubscription и GetSubscriptionsId. Получив в первый раз все подписки (прислав запрос на получение подписок для 0 версии изменений), вместе с подписками следует сохранить пришедшую в ответе последнюю версию изменений. После этого периодически (например, раз в 10 минут) получайте изменившиеся подписки для вашей версии и перезаписывайте ее пришедшей последней версией изменений.

Синхронизация цен

Для синхронизации цен в системе реселлера используйте метод GetPriceChanges

Управление подписчиками

Перед созданием подписки необходимо получить, заполнить и передать правильно заполненную активационную форму с данными о подписчике. Информация о подписчике будет передана соответствующему вендору, и подписчик будет создан и активирован на стороне вендора. После этого можно размещать заказ, который будет содержать в себе подписку и активированного подписчика.

В случае когда производится покупка на существующего пользователя (есть идентификатор подписчика, и он уже что-то ранее заказывал) необходимо «понять» нужно ли активировать подписчика у вендора. Для этого сначала вызывается метод IsSubscriberActivated. Если метод вернул значение false вызывается метод получения активационной формы, а затем метод активации пользователя.

Синхронизация подписчиков

В API (аналогично синхронизации подписок) существуют 2 метода для синхронизации подписчиков. Если подписчики будут создаваться не только через API, но и через другие сторонние системы (например, через Edmont), может возникнуть необходимость в синхронизации списка подписчиков на стороне реселлера.

Точки доступа

В данном разделе приведен список точек доступа к данному API.

Доступные методы

Список доступных методов сервиса MONT eKey & CSP API

Тестовый пример

Вы можете скачать тестовый пример из гит-репозитория.

GetPriceChanges

Описание

Метод используется для получения списка измененных товаров, начиная с указанной версии. В текущей реализации версионность более не поддерживается и на любое переданное значение параметра (версии) будет возвращаться актуальная версия системы, и список всех доступных пользователю продуктов (как в случае передачи параметра 0). Для корректности рекомендуется каждый раз передавать 0, получать список товаров и полностью обновлять его в своей системе.

Параметры

НазваниеТипОписание
versionint64Последняя версия изменений цен в системе реселлера. Всегда нужно передавать 0

Возвращаемое значение

ТипОписание
PriceChangesContractОбъект с измененными ценами, у которых версия больше, чем указанное в параметре значение version

Примеры запросов и ответов метода GetPriceChanges

XmlOverHttp requests

XmlOverHttp replies

SOAP request

SOAP reply

Ссылки

GetSubscriptionsId

Параметры

ТипНазваниеОписание
Int64 versionВерсия последнего обновления в системе реселлера
bool byAllLoginsПараметр true, когда необходимо получить подписки, созданные любым из логинов юрлица

Возвращаемые значения

ТипНазваниеОписание
Array of stringIdsСписок идентификаторов подписок
Int64 LastVersionПоследняя версия изменений данных о подписках

Описание

Метод возвращает идентификаторы - номера всех подписок, которые были изменены, у которых версия больше указанной. Если byAllLogins = true, метод вернет все подписки, созданные всеми логинами юр. лица, относящегося к Вашему логину. Если byAllLogins = true, метод вернет только те подписки, которые были созданы только из-под вашего логина.

Пример для XmlOverHttp

запрос

ответ

<?xml version="1.0" encoding="utf-8"?>
<GetSubscriptionsIdResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <GetSubscriptionsIdResult>
    <Data>
      <Ids>
        <string>0979e3c0-638c-4ef1-a262-018a5414eda2</string>
        ...
        <string>SUFFER12-999d-439d-8ce0-131f424ee14c</string>
      </Ids>
      <LastVersion>23749140</LastVersion>
    </Data>
    <IsError>false</IsError>
    <ErrorCode>0</ErrorCode>
    <Errors/>
  </GetSubscriptionsIdResult>
</GetSubscriptionsIdResponse>

Пример для SOAP

запрос

POST https://sandbox.mont.ru/Version2/Service/B2BServiceV2.svc

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:tem="http://tempuri.org/">
  <soap:Header xmlns:wsa="http://www.w3.org/2005/08/addressing"
               xmlns:wsrm="http://docs.oasis-open.org/ws-rx/wsrm/200702">
    <wsse:Security soap:mustUnderstand="true"
                   xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
                   xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
      <wsse:UsernameToken wsu:Id="UsernameToken-0C97A913BFEA47D23B14440332992609">
        <wsse:Username>login</wsse:Username>
        <wsse:Password
          Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">
          password
        </wsse:Password>
        <wsse:Nonce
          EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">
          +9s1Gn8qnXZCIl4/GSBL2Q==
        </wsse:Nonce>
        <wsu:Created>2015-10-05T08:21:39.260Z</wsu:Created>
      </wsse:UsernameToken>
    </wsse:Security>
    <wsrm:Sequence>
      <wsrm:Identifier>
        s:Sender
        a:InvalidSecurity
      </wsrm:Identifier>
      <wsrm:MessageNumber>1</wsrm:MessageNumber>
    </wsrm:Sequence>
    <wsa:Action>http://tempuri.org/IB2BServiceV2/GetSubscriptionsId</wsa:Action>
    <wsa:MessageID>uuid:3542abf7-d202-414c-a7e7-e4c1c9f38f4e</wsa:MessageID>
    <wsa:To>https://tayga:453/Version2/Service/B2BServiceV2.svc</wsa:To>
  </soap:Header>
  <soap:Body>
    <tem:GetSubscriptionsId>
      <!--Optional:-->
      <tem:version>0</tem:version>
      <!--Optional:-->
      <tem:byAllLogins>true</tem:byAllLogins>
    </tem:GetSubscriptionsId>
  </soap:Body>
</soap:Envelope>

ответ

<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://www.w3.org/2005/08/addressing"
            xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
  <s:Header>
    <a:Action s:mustUnderstand="1">http://tempuri.org/IB2BServiceV2/GetSubscriptionsIdResponse</a:Action>
    <a:RelatesTo>uuid:3542abf7-d202-414c-a7e7-e4c1c9f38f4e</a:RelatesTo>
    <o:Security s:mustUnderstand="1"
                xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
      <u:Timestamp u:Id="_0">
        <u:Created>2015-10-05T08:21:38.566Z</u:Created><u:Expires>2015-10-05T08:26:38.566Z</u:Expires>
      </u:Timestamp>
    </o:Security>
  </s:Header>
  <s:Body>
    <GetSubscriptionsIdResponse xmlns="http://tempuri.org/">
      <GetSubscriptionsIdResult
        xmlns:b="http://schemas.datacontract.org/2004/07/WebStore2.B2B.Version2.Contracts.Responses"
        xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
        <b:Data>
          <Ids xmlns="">
            <Item>SUB-70</Item>
            ...
            <Item>SUB-71</Item>
          </Ids>
          <LastVersion xmlns="">8722632</LastVersion>
        </b:Data>
        <b:ErrorCode>0</b:ErrorCode><b:ErrorText /><b:Errors /><b:IsError>false</b:IsError>
      </GetSubscriptionsIdResult>
    </GetSubscriptionsIdResponse>
  </s:Body>
</s:Envelope>

GetSubscription

Параметры

НазваниеТипОписание
subscriptionNumstringИдентификатор подписки

Возвращаемое значение

ТипОписание
SubscriptionContractМодель подписки

Описание

Возвращает информацию о подписке по ее номеру.

Возможные ошибки

КодТекст ошибки
74Подписка с указанным кодом не найдена

Пример для XmlOverHttp

запрос

ответ

<?xml version="1.0" encoding="utf-8"?>
<GetSubscriptionResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <GetSubscriptionResult>
    <Data>
      <SubscriptionId>SUB-001068</SubscriptionId>
      <DateCreated>2015-09-16T17:13:33.573</DateCreated>
      <StateId>1</StateId>
      <StartDate>2015-09-18T11:48:32.857</StartDate>
      <ActiveTill xsi:nil="true"/>
      <MontSubscriberId>54e3081c-f787-4e33-bc99-cc2e3aa392c7</MontSubscriberId>
      <Quantity>1</Quantity>
      <PartNum>OF365B</PartNum>
      <SubscriptionUrl>/test/95179f4d-f659-4980-9a96-ffa872c16c2e</SubscriptionUrl>
      <BundleId xsi:nil="true"/>
      <Periods>
        <SubscriptionPeriodContract>
          <StartDate>2015-09-18T11:48:32.87</StartDate>
          <StopDate xsi:nil="true"/>
          <Seats>1</Seats>
          <DateCreated>2015-09-16T17:13:33.573</DateCreated>
          <PartNum>OF365B</PartNum>
        </SubscriptionPeriodContract>
      </Periods>
      <Events>
        <SubscriptionEventContract>
          <DateCreated>2015-09-18T11:48:32.88</DateCreated>
          <StatusId>1</StatusId>
          <PreviousStatusId>4</PreviousStatusId>
          <SubscriptionStopDate xsi:nil="true"/>
          <PreviousSubscriptionEndDate xsi:nil="true"/>
          <Quantity>1</Quantity>
          <PreviousQuantity>1</PreviousQuantity>
          <PartNum>OF365B</PartNum>
          <PreviousPartNum>OF365B</PreviousPartNum>
          <IsError>false</IsError>
          <MontSystemId>1</MontSystemId>
          <SubscriptionNum>SUB-001068</SubscriptionNum>
          <ResellerName>testme</ResellerName>
        </SubscriptionEventContract>
      </Events>
      <RegistrationProfile>
        <Supplier>CREST</Supplier>
        <Login>t2gmailcom</Login>
        <Password>0K548080ZafKs</Password>
        <RegFields>
          <RegItemContract>
            <FieldName>DomainPrefix</FieldName>
            <FieldValue>t2gmailcomXX36</FieldValue>
            <FieldTitle/>
            <ClientVisible>true</ClientVisible>
          </RegItemContract>
 
          ...
 
          <RegItemContract>
            <FieldName>LoginUrl</FieldName>
            <FieldValue>https://portal.office.com</FieldValue>
            <FieldTitle/>
            <ClientVisible>false</ClientVisible>
          </RegItemContract>
        </RegFields>
        <IsActivated>true</IsActivated>
        <ActivationDate>2015-06-26T15:29:54.597</ActivationDate>
      </RegistrationProfile>
      <ProductName>Office 365 Business</ProductName>
      <VendorName>Microsoft</VendorName>
      <Source>1</Source>
      <ResellerName>testme</ResellerName>
      <ResellerPrice>299</ResellerPrice>
      <ResellerCurrency>RUR</ResellerCurrency>
    </Data>
    <IsError>false</IsError>
    <ErrorCode>0</ErrorCode>
    <Errors/>
  </GetSubscriptionResult>
</GetSubscriptionResponse>

Пример для SOAP

запрос

POST https://sandbox.mont.ru/Version2/Service/B2BServiceV2.svc

<soap:Header xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:wsrm="http://docs.oasis-open.org/ws-rx/wsrm/200702">
  <wsse:Security soap:mustUnderstand="true"
                 xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
                 xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
    <wsse:UsernameToken wsu:Id="UsernameToken-0C97A913BFEA47D23B144403553149911">
      <wsse:Username>login</wsse:Username>
      <wsse:Password
        Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">
        password
      </wsse:Password>
      <wsse:Nonce
        EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">
        n036EMe242pHx9hQOWMksg==
      </wsse:Nonce>
      <wsu:Created>2015-10-05T08:58:51.499Z</wsu:Created>
    </wsse:UsernameToken>
  </wsse:Security>
  <wsrm:Sequence>
    <wsrm:Identifier>
      s:Sender
      a:InvalidSecurity
    </wsrm:Identifier>
    <wsrm:MessageNumber>1</wsrm:MessageNumber>
  </wsrm:Sequence>
  <wsa:Action>http://tempuri.org/IB2BServiceV2/GetSubscription</wsa:Action>
  <wsa:MessageID>uuid:041f71c5-b2f3-4e58-8cd7-d0fe45695311</wsa:MessageID>
  <wsa:To>https://tayga:453/Version2/Service/B2BServiceV2.svc</wsa:To>
</soap:Header>
<soap:Body>
  <tem:GetSubscription>
    <!--Optional:-->
    <tem:subscriptionNum>SUB-000206</tem:subscriptionNum>
  </tem:GetSubscription>
</soap:Body>
</soap:Envelope>

ответ

<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://www.w3.org/2005/08/addressing"
            xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
  <s:Header>
    <a:Action s:mustUnderstand="1">http://tempuri.org/IB2BServiceV2/GetSubscriptionResponse</a:Action>
    <a:RelatesTo>uuid:041f71c5-b2f3-4e58-8cd7-d0fe45695311</a:RelatesTo>
    <o:Security s:mustUnderstand="1"
                xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
      <u:Timestamp u:Id="_0">
        <u:Created>2015-10-05T08:58:51.722Z</u:Created><u:Expires>2015-10-05T09:03:51.722Z</u:Expires>
      </u:Timestamp>
    </o:Security>
  </s:Header>
  <s:Body>
    <GetSubscriptionResponse xmlns="http://tempuri.org/">
      <GetSubscriptionResult
        xmlns:b="http://schemas.datacontract.org/2004/07/WebStore2.B2B.Version2.Contracts.Responses"
        xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
        <b:Data xmlns:c="http://schemas.datacontract.org/2004/07/WebStore2.B2B.Version2.Contracts">
          <c:ActiveTill i:nil="true" /><c:BundleId i:nil="true" />
          <c:DateCreated>2015-09-15T16:55:21.537</c:DateCreated>
          <c:Events>
            <c:SubscriptionEventContract>
              <c:DateCreated>2015-09-16T17:13:06.99</c:DateCreated>
              <c:ErrorText>
                {"code":1, "message":"System.NullReferenceException: Object reference not set to an instance of an object.&#xD;
                at VendorStubs.API.StubCores.Crest.CrestServerCore.&lt;CreateOrder&gt;b__7(OrderLine x) in d:\sources\WebStore2\VendorStubs.API\StubCores\Crest\CrestS
              </c:ErrorText>
              <c:IsError>true</c:IsError><c:MontSystemId>1</c:MontSystemId><c:PartNum>cloud-o365pp</c:PartNum>
              <c:PreviousPartNum>cloud-o365pp</c:PreviousPartNum><c:PreviousQuantity>3</c:PreviousQuantity>
              <c:PreviousStatusId>4</c:PreviousStatusId><c:PreviousSubscriptionEndDate i:nil="true" />
              <c:Quantity>3</c:Quantity><c:ResellerName>login</c:ResellerName><c:StatusId>8</c:StatusId>
              <c:SubscriptionNum>SUB-000206</c:SubscriptionNum><c:SubscriptionStopDate i:nil="true" />
            </c:SubscriptionEventContract>
          </c:Events>
          <c:MontSubscriberId>914f63b7-5aa0-457a-8d23-1299f5801e08</c:MontSubscriberId>
          <c:ParentSubscriptionId i:nil="true" /><c:PartNum>cloud-o365pp</c:PartNum><c:Periods />
          <c:ProductName>Office 365 ProPlus</c:ProductName><c:Quantity>3</c:Quantity>
          <c:RegistrationProfile
            xmlns:d="http://schemas.datacontract.org/2004/07/WebStore2.B2B.Version2.Contracts.Subscriber">
            <d:ActivationDate>2015-09-15T16:53:54.923</d:ActivationDate><d:IsActivated>true</d:IsActivated>
            <d:Login>admin</d:Login><d:Password>XZY2FD8p</d:Password>
            <d:RegFields>
              <d:RegItemContract>
                <d:ClientVisible>true</d:ClientVisible><d:FieldName>DomainPrefix</d:FieldName><d:FieldTitle />
                <d:FieldValue>akulapin_domainPrefix</d:FieldValue>
              </d:RegItemContract>
              ...
              <d:RegItemContract>
                <d:ClientVisible>true</d:ClientVisible><d:FieldName>Phone</d:FieldName>
                <d:FieldTitle>Телефон</d:FieldTitle><d:FieldValue>akulapin_phone</d:FieldValue>
              </d:RegItemContract>
            </d:RegFields>
            <d:Supplier>CREST</d:Supplier>
          </c:RegistrationProfile>
          <c:ResellerName>login</c:ResellerName><c:Source>1</c:Source>
          <c:StartDate>2015-09-15T16:55:21.537</c:StartDate><c:StateId>1</c:StateId>
          <c:SubscriptionId>SUB-000206</c:SubscriptionId>
          <c:SubscriptionItems>
            <c:SubscriptionItemContract>
              <c:CreateDate>2015-09-15T16:55:21.537</c:CreateDate><c:PartNum>cloud-o365pp</c:PartNum>
              <c:ResourceUrl i:nil="true" /><c:SeatQuantity>3</c:SeatQuantity>
            </c:SubscriptionItemContract>
          </c:SubscriptionItems>
          <c:SubscriptionUrl i:nil="true" /><c:VendorName>Microsoft</c:VendorName>
        </b:Data>
        <b:ErrorCode>0</b:ErrorCode><b:ErrorText i:nil="true" /><b:Errors /><b:IsError>false</b:IsError>
      </GetSubscriptionResult>
    </GetSubscriptionResponse>
  </s:Body>
</s:Envelope>

StartSubscription

Параметры

НазваниеТипОписание
montSubscriptionIdstringИдентификатор подписки
byEndUserboolпризнак того, что действие осуществляется конечным пользователем. Знчение должно быть true если инициатор действия - конечный пользователь, false - если инициатор реселлер

Возвращаемое значение

ТипОписание
SubscriptionContractМодель подписки

Описание

Метод используется для активации остановленной подписки. Ответом метода является полный объект подписки, в котором указано её состояние после вызова метода. Если на момент вызова метода подписка уже была активна, то её статус так и останется “Активна” - подписка не будет изменена. Если подписка была остановлена - то она перейдет в статус “Запускается”, а через некоторое время(в штатной ситуации в течении минуты) в статус “Активна”. Если подписка была в каком-либо другом статусе - вернется ошибка с кодом “90”.

Возможные ошибки

КодТекст ошибки
30Операция не может быть выполнена, попробуйте позже
74Подписка с указанным кодом не найдена
90Подписка находится в незавершенном состоянии

Пример для XmlOverHttp

запрос

POST https://sandbox.mont.ru/Version2/Service/B2BServiceV2Xml.svc/StartSubscription

<?xml version="1.0" encoding="utf-8" ?>
<StartSubscription>
 <montSubscriptionId>SUB-001067</montSubscriptionId>
 <byEndUser>true</byEndUser>
</StartSubscription>

ответ

<?xml version="1.0" encoding="utf-8"?>
<StartSubscriptionResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <StartSubscriptionResult>
    <Data>
      <SubscriptionId>SUB-001067</SubscriptionId>
      <DateCreated>2015-09-14T10:33:53.013</DateCreated>
      <StateId>2</StateId>
      <StartDate>2015-09-14T10:34:16.817</StartDate>
      <ActiveTill>2015-09-24T00:00:00</ActiveTill>
      <MontSubscriberId>54e3081c-f787-4e33-bc99-cc2e3aa392c7</MontSubscriberId>
      <Quantity>6</Quantity>
      <PartNum>OF365B</PartNum>
      <SubscriptionUrl>/test/b705d7e2-4fd0-4fd6-9f26-b9d14e9cb3da</SubscriptionUrl>
      <BundleId xsi:nil="true"/>
      <Periods>
        <SubscriptionPeriodContract>
          <StartDate>2015-09-14T10:34:16.897</StartDate>
          <StopDate>2015-09-25T10:13:04.357</StopDate>
          <Seats>1</Seats>
          <DateCreated>2015-09-14T10:33:53.013</DateCreated>
          <PartNum>OF365B</PartNum>
        </SubscriptionPeriodContract>
        <SubscriptionPeriodContract>
          <StartDate>2015-09-14T10:36:29.09</StartDate>
          <StopDate>2015-09-25T10:13:04.38</StopDate>
          <Seats>6</Seats>
          <DateCreated>2015-09-14T10:36:29.09</DateCreated>
          <PartNum>OF365B</PartNum>
        </SubscriptionPeriodContract>
      </Periods>
      <Events>
        <SubscriptionEventContract>
          <DateCreated>2015-09-14T10:34:16.933</DateCreated>
          <StatusId>1</StatusId>
          <PreviousStatusId>4</PreviousStatusId>
          <SubscriptionStopDate xsi:nil="true"/>
          <PreviousSubscriptionEndDate xsi:nil="true"/>
          <Quantity>1</Quantity>
          <PreviousQuantity>1</PreviousQuantity>
          <PartNum>OF365B</PartNum>
          <PreviousPartNum>OF365B</PreviousPartNum>
          <IsError>false</IsError>
          <MontSystemId>1</MontSystemId>
          <SubscriptionNum>SUB-001067</SubscriptionNum>
          <ResellerName>testme</ResellerName>
        </SubscriptionEventContract>
        ...
        <SubscriptionEventContract>
          <DateCreated>2016-04-03T17:03:06.977</DateCreated>
          <StatusId>7</StatusId>
          <PreviousStatusId>2</PreviousStatusId>
          <SubscriptionStopDate>2015-09-24T00:00:00</SubscriptionStopDate>
          <PreviousSubscriptionEndDate>2015-09-24T00:00:00</PreviousSubscriptionEndDate>
          <Quantity>6</Quantity>
          <PreviousQuantity>6</PreviousQuantity>
          <PartNum>OF365B</PartNum>
          <PreviousPartNum>OF365B</PreviousPartNum>
          <IsError>false</IsError>
          <MontSystemId>0</MontSystemId>
          <SubscriptionNum>SUB-001067</SubscriptionNum>
          <ResellerName>testme</ResellerName>
        </SubscriptionEventContract>
      </Events>
      <RegistrationProfile>
        <Supplier>CREST</Supplier>
        <Login>t2gmailcom</Login>
        <Password>0K548080ZafKs</Password>
        <RegFields>
          <RegItemContract>
            <FieldName>DomainPrefix</FieldName>
            <FieldValue>t2gmailcomXX36</FieldValue>
            <FieldTitle/>
            <ClientVisible>true</ClientVisible>
          </RegItemContract>
          ...
          <RegItemContract>
            <FieldName>LoginUrl</FieldName>
            <FieldValue>https://portal.office.com</FieldValue>
            <FieldTitle/>
            <ClientVisible>false</ClientVisible>
          </RegItemContract>
        </RegFields>
        <IsActivated>true</IsActivated>
        <ActivationDate>2015-06-26T15:29:54.597</ActivationDate>
      </RegistrationProfile>
      <ProductName>Office 365 Business</ProductName>
      <VendorName>Microsoft</VendorName>
      <Source>1</Source>
      <ResellerName>testme</ResellerName>
      <ResellerPrice>299</ResellerPrice>
      <ResellerCurrency>RUR</ResellerCurrency>
    </Data>
    <IsError>false</IsError>
    <ErrorCode>0</ErrorCode>
    <Errors/>
  </StartSubscriptionResult>
</StartSubscriptionResponse>

Пример для SOAP

запрос

POST https://sandbox.mont.ru/Version2/Service/B2BServiceV2.svc

<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://www.w3.org/2005/08/addressing" xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
  <s:Header>
    <a:Action s:mustUnderstand="1">http://tempuri.org/IB2BServiceV2/StartSubscription</a:Action>
    <a:ReplyTo>
      <a:Address>http://www.w3.org/2005/08/addressing/anonymous</a:Address>
    </a:ReplyTo>
    <a:To s:mustUnderstand="1">https://sandbox.mont.ru/Version2/Service/B2BServiceV2.svc</a:To>
    <o:Security s:mustUnderstand="1" xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
      <o:UsernameToken>
        <o:Username>username</o:Username>
        <o:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">password</o:Password>
      </o:UsernameToken>
    </o:Security>
  </s:Header>
  <s:Body>
    <StartSubscription xmlns="http://tempuri.org/">
      <montSubscriptionId>123</montSubscriptionId>
      <byEndUser>true</byEndUser>
    </StartSubscription>
  </s:Body>
</s:Envelope>

ответ

<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://www.w3.org/2005/08/addressing" xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
  <s:Header>
    <a:Action s:mustUnderstand="1">http://tempuri.org/IB2BServiceV2/StartSubscriptionResponse</a:Action>
    <ActivityId CorrelationId="384ab82e-2d4c-40b0-811a-4a4ca2bf5636" xmlns="http://schemas.microsoft.com/2004/09/ServiceModel/Diagnostics">f0b148c5-fb74-4e21-94ba-1c95f8d5bd76</ActivityId>
    <a:RelatesTo>urn:uuid:17ee9f5b-2680-4337-abce-c8d39006503a</a:RelatesTo>
    <o:Security s:mustUnderstand="1" xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
      <u:Timestamp u:Id="_0">
        <u:Created>2015-09-23T13:12:13.550Z</u:Created>
        <u:Expires>2015-09-23T13:17:13.550Z</u:Expires>
      </u:Timestamp>
    </o:Security>
  </s:Header>
  <s:Body>
    <StartSubscriptionResponse xmlns="http://tempuri.org/">
      <StartSubscriptionResult xmlns:b="http://schemas.datacontract.org/2004/07/WebStore2.B2B.Version2.Contracts.Responses" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
        <b:Data xmlns:c="http://schemas.datacontract.org/2004/07/WebStore2.B2B.Version2.Contracts">
          <c:ActiveTill>2015-09-19T00:00:00</c:ActiveTill>
          <c:BundleId i:nil="true"/>
          <c:DateCreated>2015-08-19T13:15:48.677</c:DateCreated>
          <c:Events>
            <c:SubscriptionEventContract>
              <c:DateCreated>2015-08-19T13:16:48.917</c:DateCreated>
              <c:ErrorText i:nil="true"/>
              <c:IsError>false</c:IsError>
              <c:MontSystemId i:nil="true"/>
              <c:PartNum>Sub1</c:PartNum>
              <c:PreviousPartNum>Sub1</c:PreviousPartNum>
              <c:PreviousQuantity>10</c:PreviousQuantity>
              <c:PreviousStatusId>4</c:PreviousStatusId>
              <c:PreviousSubscriptionEndDate>2015-09-19T00:00:00</c:PreviousSubscriptionEndDate>
              <c:Quantity>10</c:Quantity>
              <c:ResellerName>testme</c:ResellerName>
              <c:StatusId>1</c:StatusId>
              <c:SubscriptionNum>SUB-001035</c:SubscriptionNum>
              <c:SubscriptionStopDate>2015-09-19T00:00:00</c:SubscriptionStopDate>
            </c:SubscriptionEventContract>
			...
            <c:SubscriptionEventContract>
              <c:DateCreated>2015-08-19T13:21:28.003</c:DateCreated>
              <c:ErrorText i:nil="true"/>
              <c:IsError>false</c:IsError>
              <c:MontSystemId i:nil="true"/>
              <c:PartNum>Sub1</c:PartNum>
              <c:PreviousPartNum>Sub1</c:PreviousPartNum>
              <c:PreviousQuantity>10</c:PreviousQuantity>
              <c:PreviousStatusId>1</c:PreviousStatusId>
              <c:PreviousSubscriptionEndDate>2015-09-19T00:00:00</c:PreviousSubscriptionEndDate>
              <c:Quantity>10</c:Quantity>
              <c:ResellerName>testme</c:ResellerName>
              <c:StatusId>6</c:StatusId>
              <c:SubscriptionNum>SUB-001035</c:SubscriptionNum>
              <c:SubscriptionStopDate>2015-09-19T00:00:00</c:SubscriptionStopDate>
            </c:SubscriptionEventContract>
          </c:Events>
          <c:MontSubscriberId>76bc02e3-c74c-4fee-ad13-b97a3b49b57d</c:MontSubscriberId>
          <c:ParentSubscriptionId i:nil="true"/>
          <c:PartNum>Sub1</c:PartNum>
          <c:Periods>
            <c:SubscriptionPeriodContract>
              <c:DateCreated>2015-08-19T13:15:48.677</c:DateCreated>
              <c:PartNum>Sub1</c:PartNum>
              <c:Seats>10</c:Seats>
              <c:StartDate>2015-08-19T13:16:48.897</c:StartDate>
              <c:StopDate>2015-08-19T13:22:03.173</c:StopDate>
            </c:SubscriptionPeriodContract>
          </c:Periods>
          <c:ProductName>TestSubscription1</c:ProductName>
          <c:Quantity>10</c:Quantity>
          <c:RegistrationProfile xmlns:d="http://schemas.datacontract.org/2004/07/WebStore2.B2B.Version2.Contracts.Subscriber">
            <d:ActivationDate>2015-08-06T11:49:17.403</d:ActivationDate>
            <d:IsActivated>true</d:IsActivated>
            <d:Login i:nil="true"/>
            <d:Password i:nil="true"/>
            <d:RegFields>
              <d:RegItemContract>
                <d:ClientVisible>true</d:ClientVisible>
                <d:FieldName>DomainPrefix</d:FieldName>
                <d:FieldTitle/>
                <d:FieldValue>Develop66</d:FieldValue>
              </d:RegItemContract>
              ...
              <d:RegItemContract>
                <d:ClientVisible>false</d:ClientVisible>
                <d:FieldName>VendorUniqKey</d:FieldName>
                <d:FieldTitle/>
                <d:FieldValue>Develop66</d:FieldValue>
              </d:RegItemContract>
            </d:RegFields>
            <d:Supplier>CREST</d:Supplier>
          </c:RegistrationProfile>
          <c:ResellerName>testme</c:ResellerName>
          <c:Source>0</c:Source>
          <c:StartDate>2015-08-19T13:16:48.833</c:StartDate>
          <c:StateId>7</c:StateId>
          <c:SubscriptionId>SUB-001035</c:SubscriptionId>
          <c:SubscriptionItems>
            <c:SubscriptionItemContract>
              <c:CreateDate>2015-08-19T13:15:48.677</c:CreateDate>
              <c:PartNum>Sub1</c:PartNum>
              <c:ResourceUrl>/test/d88947ad-4480-4594-836f-5f6f47948d78</c:ResourceUrl>
              <c:SeatQuantity>10</c:SeatQuantity>
            </c:SubscriptionItemContract>
          </c:SubscriptionItems>
          <c:SubscriptionUrl>/test/d88947ad-4480-4594-836f-5f6f47948d78</c:SubscriptionUrl>
          <c:VendorName>Microsoft</c:VendorName>
        </b:Data>
        <b:ErrorCode>0</b:ErrorCode>
        <b:ErrorText i:nil="true"/>
        <b:Errors/>
        <b:IsError>false</b:IsError>
      </StartSubscriptionResult>
    </StartSubscriptionResponse>
  </s:Body>
</s:Envelope>

StopSubscription

Параметры

НазваниеТипОписание
montSubscriptionIdstringИдентификатор подписки
byEndUserboolпризнак того, что действие осуществляется конечным пользователем. Знчение должно быть true если инициатор действия - конечный пользователь, false - если инициатор реселлер

Возвращаемое значение

ТипОписание
SubscriptionContractМодель подписки

Описание

Метод используется для остановки активной подписки. Ответом метода является полный объект подписки, в котором указано её состояние после вызова метода. Если на момент вызова метода подписка уже была остановлена, то её статус так и останется “Остановлена” - подписка не будет изменена. Если подписка была в статусе “Активна” - то она перейдет в статус “Останавливается”, а через некоторое время(в штатной ситуации в течении минуты) в статус “Остановлена”. Если подписка была в каком-либо другом статусе - вернется ошибка с кодом “90”.

Возможные ошибки

КодТекст ошибки
30Операция не может быть выполнена, попробуйте позже
74Подписка с указанным кодом не найдена
90Подписка находится в незавершенном состоянии

Пример для XmlOverHttp

запрос

POST https://sandbox.mont.ru/Version2/Service/B2BServiceV2Xml.svc/StopSubscription

<?xml version="1.0" encoding="utf-8" ?>
<StopSubscription>
  <montSubscriptionId>SUB-001054</montSubscriptionId>
  <byEndUser>true</byEndUser>
</StopSubscription>

ответ

<?xml version="1.0" encoding="utf-8"?>
<StopSubscriptionResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <StopSubscriptionResult>
    <Data>
      <SubscriptionId>SUB-001054</SubscriptionId>
      <DateCreated>2015-08-26T13:28:29.357</DateCreated>
      <StateId>1</StateId>
      <StartDate>2015-09-09T13:43:07.223</StartDate>
      <ActiveTill>2016-04-05T00:00:00</ActiveTill>
      <MontSubscriberId>54e3081c-f787-4e33-bc99-cc2e3aa392c7</MontSubscriberId>
      <Quantity>3</Quantity>
      <PartNum>cloud-o365pp</PartNum>
      <SubscriptionUrl>/test/625cb90c-183e-4102-96a4-545f4cd95b89</SubscriptionUrl>
      <BundleId xsi:nil="true"/>
      <Periods>
        <SubscriptionPeriodContract>
          <StartDate>2015-09-09T13:43:07.237</StartDate>
          <StopDate xsi:nil="true"/>
          <Seats>3</Seats>
          <DateCreated>2015-08-26T13:28:29.357</DateCreated>
          <PartNum>cloud-o365pp</PartNum>
        </SubscriptionPeriodContract>
      </Periods>
      <Events>
        <SubscriptionEventContract>
          <DateCreated>2015-09-09T13:43:07.243</DateCreated>
          <StatusId>1</StatusId>
          <PreviousStatusId>4</PreviousStatusId>
          <SubscriptionStopDate xsi:nil="true"/>
          <PreviousSubscriptionEndDate xsi:nil="true"/>
          <Quantity>3</Quantity>
          <PreviousQuantity>3</PreviousQuantity>
          <PartNum>cloud-o365pp</PartNum>
          <PreviousPartNum>cloud-o365pp</PreviousPartNum>
          <IsError>false</IsError>
          <MontSystemId>1</MontSystemId>
          <SubscriptionNum>SUB-001054</SubscriptionNum>
          <ResellerName>testme</ResellerName>
        </SubscriptionEventContract>
        ...
        <SubscriptionEventContract>
          <DateCreated>2016-04-03T17:11:08.287</DateCreated>
          <StatusId>1</StatusId>
          <PreviousStatusId>1</PreviousStatusId>
          <SubscriptionStopDate>2016-04-05T00:00:00</SubscriptionStopDate>
          <PreviousSubscriptionEndDate xsi:nil="true"/>
          <Quantity>3</Quantity>
          <PreviousQuantity>3</PreviousQuantity>
          <PartNum>cloud-o365pp</PartNum>
          <PreviousPartNum>cloud-o365pp</PreviousPartNum>
          <IsError>false</IsError>
          <MontSystemId>0</MontSystemId>
          <SubscriptionNum>SUB-001054</SubscriptionNum>
          <ResellerName>testme</ResellerName>
        </SubscriptionEventContract>
      </Events>
      <RegistrationProfile>
        <Supplier>CREST</Supplier>
        <Login>t2gmailcom</Login>
        <Password>0K548080ZafKs</Password>
        <RegFields>
          <RegItemContract>
            <FieldName>DomainPrefix</FieldName>
            <FieldValue>t2gmailcomXX36</FieldValue>
            <FieldTitle/>
            <ClientVisible>true</ClientVisible>
          </RegItemContract>
          ...
          <RegItemContract>
            <FieldName>LoginUrl</FieldName>
            <FieldValue>https://portal.office.com</FieldValue>
            <FieldTitle/>
            <ClientVisible>false</ClientVisible>
          </RegItemContract>
        </RegFields>
        <IsActivated>true</IsActivated>
        <ActivationDate>2015-06-26T15:29:54.597</ActivationDate>
      </RegistrationProfile>
      <Source>1</Source>
      <ResellerName>testme</ResellerName>
      <ResellerPrice>7500</ResellerPrice>
      <ResellerCurrency>RUR</ResellerCurrency>
    </Data>
    <IsError>false</IsError>
    <ErrorCode>0</ErrorCode>
    <Errors/>
  </StopSubscriptionResult>
</StopSubscriptionResponse>

Пример для SOAP

запрос

POST https://sandbox.mont.ru/Version2/Service/B2BServiceV2.svc

<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://www.w3.org/2005/08/addressing" xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
  <s:Header>
    <a:Action s:mustUnderstand="1">http://tempuri.org/IB2BServiceV2/StopSubscription</a:Action>
<a:MessageID>urn:uuid:17ee9f5b-2680-4337-abce-c8d39006503a</a:MessageID>
    <a:ReplyTo>
      <a:Address>http://www.w3.org/2005/08/addressing/anonymous</a:Address>
    </a:ReplyTo>
    <a:To s:mustUnderstand="1">https://sandbox.mont.ru/Version2/Service/B2BServiceV2.svc</a:To>
    <o:Security s:mustUnderstand="1" xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
      <o:UsernameToken>
        <o:Username>username</o:Username>
        <o:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">password</o:Password>
      </o:UsernameToken>
    </o:Security>
  </s:Header>
  <s:Body>
    <StopSubscription xmlns="http://tempuri.org/">
      <montSubscriptionId>123</montSubscriptionId>
      <byEndUser>true</byEndUser>
    </StopSubscription>
  </s:Body>
</s:Envelope>

ответ

<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://www.w3.org/2005/08/addressing" xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
  <s:Header>
    <a:Action s:mustUnderstand="1">http://tempuri.org/IB2BServiceV2/StopSubscriptionResponse</a:Action>
    <ActivityId CorrelationId="384ab82e-2d4c-40b0-811a-4a4ca2bf5636" xmlns="http://schemas.microsoft.com/2004/09/ServiceModel/Diagnostics">f0b148c5-fb74-4e21-94ba-1c95f8d5bd76</ActivityId>
    <a:RelatesTo>urn:uuid:17ee9f5b-2680-4337-abce-c8d39006503a</a:RelatesTo>
    <o:Security s:mustUnderstand="1" xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
      <u:Timestamp u:Id="_0">
        <u:Created>2015-09-23T13:12:13.550Z</u:Created>
        <u:Expires>2015-09-23T13:17:13.550Z</u:Expires>
      </u:Timestamp>
    </o:Security>
  </s:Header>
  <s:Body>
    <StopSubscriptionResponse xmlns="http://tempuri.org/">
      <StopSubscriptionResult xmlns:b="http://schemas.datacontract.org/2004/07/WebStore2.B2B.Version2.Contracts.Responses" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
        <b:Data xmlns:c="http://schemas.datacontract.org/2004/07/WebStore2.B2B.Version2.Contracts">
          <c:ActiveTill>2015-09-19T00:00:00</c:ActiveTill>
          <c:BundleId i:nil="true"/>
          <c:DateCreated>2015-08-19T13:15:48.677</c:DateCreated>
          <c:Events>
            <c:SubscriptionEventContract>
              <c:DateCreated>2015-08-19T13:16:48.917</c:DateCreated>
              <c:ErrorText i:nil="true"/>
              <c:IsError>false</c:IsError>
              <c:MontSystemId i:nil="true"/>
              <c:PartNum>Sub1</c:PartNum>
              <c:PreviousPartNum>Sub1</c:PreviousPartNum>
              <c:PreviousQuantity>10</c:PreviousQuantity>
              <c:PreviousStatusId>4</c:PreviousStatusId>
              <c:PreviousSubscriptionEndDate>2015-09-19T00:00:00</c:PreviousSubscriptionEndDate>
              <c:Quantity>10</c:Quantity>
              <c:ResellerName>testme</c:ResellerName>
              <c:StatusId>1</c:StatusId>
              <c:SubscriptionNum>SUB-001035</c:SubscriptionNum>
              <c:SubscriptionStopDate>2015-09-19T00:00:00</c:SubscriptionStopDate>
            </c:SubscriptionEventContract>
			...
            <c:SubscriptionEventContract>
              <c:DateCreated>2015-08-19T13:21:28.003</c:DateCreated>
              <c:ErrorText i:nil="true"/>
              <c:IsError>false</c:IsError>
              <c:MontSystemId i:nil="true"/>
              <c:PartNum>Sub1</c:PartNum>
              <c:PreviousPartNum>Sub1</c:PreviousPartNum>
              <c:PreviousQuantity>10</c:PreviousQuantity>
              <c:PreviousStatusId>1</c:PreviousStatusId>
              <c:PreviousSubscriptionEndDate>2015-09-19T00:00:00</c:PreviousSubscriptionEndDate>
              <c:Quantity>10</c:Quantity>
              <c:ResellerName>testme</c:ResellerName>
              <c:StatusId>6</c:StatusId>
              <c:SubscriptionNum>SUB-001035</c:SubscriptionNum>
              <c:SubscriptionStopDate>2015-09-19T00:00:00</c:SubscriptionStopDate>
            </c:SubscriptionEventContract>
          </c:Events>
          <c:MontSubscriberId>76bc02e3-c74c-4fee-ad13-b97a3b49b57d</c:MontSubscriberId>
          <c:ParentSubscriptionId i:nil="true"/>
          <c:PartNum>Sub1</c:PartNum>
          <c:Periods>
            <c:SubscriptionPeriodContract>
              <c:DateCreated>2015-08-19T13:15:48.677</c:DateCreated>
              <c:PartNum>Sub1</c:PartNum>
              <c:Seats>10</c:Seats>
              <c:StartDate>2015-08-19T13:16:48.897</c:StartDate>
              <c:StopDate>2015-08-19T13:22:03.173</c:StopDate>
            </c:SubscriptionPeriodContract>
          </c:Periods>
          <c:ProductName>TestSubscription1</c:ProductName>
          <c:Quantity>10</c:Quantity>
          <c:RegistrationProfile xmlns:d="http://schemas.datacontract.org/2004/07/WebStore2.B2B.Version2.Contracts.Subscriber">
            <d:ActivationDate>2015-08-06T11:49:17.403</d:ActivationDate>
            <d:IsActivated>true</d:IsActivated>
            <d:Login i:nil="true"/>
            <d:Password i:nil="true"/>
            <d:RegFields>
              <d:RegItemContract>
                <d:ClientVisible>true</d:ClientVisible>
                <d:FieldName>DomainPrefix</d:FieldName>
                <d:FieldTitle/>
                <d:FieldValue>Develop66</d:FieldValue>
              </d:RegItemContract>
              ...
              <d:RegItemContract>
                <d:ClientVisible>false</d:ClientVisible>
                <d:FieldName>VendorUniqKey</d:FieldName>
                <d:FieldTitle/>
                <d:FieldValue>Develop66</d:FieldValue>
              </d:RegItemContract>
            </d:RegFields>
            <d:Supplier>CREST</d:Supplier>
          </c:RegistrationProfile>
          <c:ResellerName>testme</c:ResellerName>
          <c:Source>0</c:Source>
          <c:StartDate>2015-08-19T13:16:48.833</c:StartDate>
          <c:StateId>7</c:StateId>
          <c:SubscriptionId>SUB-001035</c:SubscriptionId>
          <c:SubscriptionItems>
            <c:SubscriptionItemContract>
              <c:CreateDate>2015-08-19T13:15:48.677</c:CreateDate>
              <c:PartNum>Sub1</c:PartNum>
              <c:ResourceUrl>/test/d88947ad-4480-4594-836f-5f6f47948d78</c:ResourceUrl>
              <c:SeatQuantity>10</c:SeatQuantity>
            </c:SubscriptionItemContract>
          </c:SubscriptionItems>
          <c:SubscriptionUrl>/test/d88947ad-4480-4594-836f-5f6f47948d78</c:SubscriptionUrl>
          <c:VendorName>Microsoft</c:VendorName>
        </b:Data>
        <b:ErrorCode>0</b:ErrorCode>
        <b:ErrorText i:nil="true"/>
        <b:Errors/>
        <b:IsError>false</b:IsError>
      </StopSubscriptionResult>
    </StopSubscriptionResponse>
  </s:Body>
</s:Envelope>

ChangeSubscriptionEndDate

Параметры

НазваниеТипОписание
montSubscriptionIdstringИдентификатор подписки
endDateDateTime?новая дата окончания действия подписки(в формате DateTime, если дата есть, или пустая строка)

Возвращаемое значение

ТипОписание
SubscriptionContractМодель подписки

Описание

Метод используется для изменения даты окончания подписки. В указанную дату, в конце дня(по московскому времени), подписка будет заблокирована. Если передать в качестве второго параметра значение “null”, то подписка будет автоматически продляться, и её срок действия не будет ограничен.

Ответом метода является полный объект подписки, в котором указано её состояние после вызова метода. Для того, чтобы изменения прошли успешно, новая дата окончания должна быть не раньше дня вызова метода, а подписка должна быть в состоянии “Активна”.

Возможные ошибки

КодТекст ошибки
30Операция не может быть выполнена, попробуйте позже
62Дата автостопа не может быть меньше текущей
74Подписка с указанным кодом не найдена
90Подписка находится в незавершенном состоянии

Пример для XmlOverHttp

запрос

POST https://sandbox.mont.ru/Version2/Service/B2BServiceV2Xml.svc/ChangeSubscriptionEndDate

<?xml version="1.0" encoding="utf-8" ?>
<ChangeSubscriptionEndDate>
  <montSubscriptionId>SUB-001054</montSubscriptionId>
  <endDate>2016-04-05T13:21:28.003</endDate>
</ChangeSubscriptionEndDate>

или

<?xml version="1.0" encoding="utf-8" ?>
<ChangeSubscriptionEndDate>
 <montSubscriptionId>SUB-001054</montSubscriptionId>
 <endDate></endDate>
</ChangeSubscriptionEndDate>

ответ

<?xml version="1.0" encoding="utf-8"?>
<ChangeSubscriptionEndDateResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <ChangeSubscriptionEndDateResult>
    <Data>
      <SubscriptionId>SUB-001054</SubscriptionId>
      <DateCreated>2015-08-26T13:28:29.357</DateCreated>
      <StateId>1</StateId>
      <StartDate>2015-09-09T13:43:07.223</StartDate>
      <ActiveTill>2016-04-05T00:00:00</ActiveTill>
      <MontSubscriberId>00000000-0000-0000-0000-000000000000</MontSubscriberId>
      <Quantity>3</Quantity>
      <PartNum>cloud-o365pp</PartNum>
      <SubscriptionUrl>/test/625cb90c-183e-4102-96a4-545f4cd95b89</SubscriptionUrl>
      <BundleId xsi:nil="true"/>
      <Periods>
        <SubscriptionPeriodContract>
          <StartDate>2015-09-09T13:43:07.237</StartDate>
          <StopDate xsi:nil="true"/>
          <Seats>3</Seats>
          <DateCreated>2015-08-26T13:28:29.357</DateCreated>
          <PartNum>cloud-o365pp</PartNum>
        </SubscriptionPeriodContract>
      </Periods>
      <Events>
        <SubscriptionEventContract>
          <DateCreated>2015-09-09T13:43:07.243</DateCreated>
          <StatusId>1</StatusId>
          <PreviousStatusId>4</PreviousStatusId>
          <SubscriptionStopDate xsi:nil="true"/>
          <PreviousSubscriptionEndDate xsi:nil="true"/>
          <Quantity>3</Quantity>
          <PreviousQuantity>3</PreviousQuantity>
          <PartNum>cloud-o365pp</PartNum>
          <PreviousPartNum>cloud-o365pp</PreviousPartNum>
          <IsError>false</IsError>
          <MontSystemId>1</MontSystemId>
          <SubscriptionNum>SUB-001054</SubscriptionNum>
          <ResellerName>testme</ResellerName>
        </SubscriptionEventContract>
        <SubscriptionEventContract>
          <DateCreated>2016-04-03T17:11:08.2873665+03:00</DateCreated>
          <StatusId>1</StatusId>
          <PreviousStatusId>1</PreviousStatusId>
          <SubscriptionStopDate>2016-04-05T00:00:00</SubscriptionStopDate>
          <PreviousSubscriptionEndDate xsi:nil="true"/>
          <Quantity>3</Quantity>
          <PreviousQuantity>3</PreviousQuantity>
          <PartNum>cloud-o365pp</PartNum>
          <PreviousPartNum>cloud-o365pp</PreviousPartNum>
          <IsError>false</IsError>
          <MontSystemId>0</MontSystemId>
          <SubscriptionNum>SUB-001054</SubscriptionNum>
          <ResellerName>testme</ResellerName>
        </SubscriptionEventContract>
      </Events>
      <Source>1</Source>
      <ResellerName>testme</ResellerName>
      <ResellerPrice>7500</ResellerPrice>
      <ResellerCurrency>RUR</ResellerCurrency>
    </Data>
    <IsError>false</IsError>
    <ErrorText/>
    <ErrorCode>0</ErrorCode>
    <Errors/>
  </ChangeSubscriptionEndDateResult>
</ChangeSubscriptionEndDateResponse>

Пример для SOAP

запрос

POST https://sandbox.mont.ru/Version2/Service/B2BServiceV2.svc

<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://www.w3.org/2005/08/addressing" xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
  <s:Header>
    <a:Action s:mustUnderstand="1">http://tempuri.org/IB2BServiceV2/ChangeSubscriptionEndDate</a:Action>
    <a:ReplyTo>
      <a:Address>http://www.w3.org/2005/08/addressing/anonymous</a:Address>
    </a:ReplyTo>
    <a:To s:mustUnderstand="1">https://sandbox.mont.ru/Version2/Service/B2BServiceV2.svc</a:To>
    <o:Security s:mustUnderstand="1" xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
      <o:UsernameToken>
        <o:Username>username</o:Username>
        <o:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">password</o:Password>
      </o:UsernameToken>
    </o:Security>
  </s:Header>
  <s:Body>
    <ChangeSubscriptionEndDate xmlns="http://tempuri.org/">
      <montSubscriptionId>123</montSubscriptionId>
      <endDate>2015-08-19T13:21:28.003</endDate>
    </ChangeSubscriptionEndDate>
  </s:Body>
</s:Envelope>

ответ

<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://www.w3.org/2005/08/addressing" xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
  <s:Header>
    <a:Action s:mustUnderstand="1">http://tempuri.org/IB2BServiceV2/ChangeSubscriptionEndDate</a:Action>
    <ActivityId CorrelationId="384ab82e-2d4c-40b0-811a-4a4ca2bf5636" xmlns="http://schemas.microsoft.com/2004/09/ServiceModel/Diagnostics">f0b148c5-fb74-4e21-94ba-1c95f8d5bd76</ActivityId>
    <a:RelatesTo>urn:uuid:17ee9f5b-2680-4337-abce-c8d39006503a</a:RelatesTo>
    <o:Security s:mustUnderstand="1" xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
      <u:Timestamp u:Id="_0">
        <u:Created>2015-09-23T13:12:13.550Z</u:Created>
        <u:Expires>2015-09-23T13:17:13.550Z</u:Expires>
      </u:Timestamp>
    </o:Security>
  </s:Header>
  <s:Body>
    <ChangeQuantityOfSubscriptionResponse xmlns="http://tempuri.org/">
      <ChangeQuantityOfSubscriptionResult xmlns:b="http://schemas.datacontract.org/2004/07/WebStore2.B2B.Version2.Contracts.Responses" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
        <b:Data xmlns:c="http://schemas.datacontract.org/2004/07/WebStore2.B2B.Version2.Contracts">
          <c:ActiveTill>2015-09-19T00:00:00</c:ActiveTill>
          <c:BundleId i:nil="true"/>
          <c:DateCreated>2015-08-19T13:15:48.677</c:DateCreated>
          <c:Events>
            <c:SubscriptionEventContract>
              <c:DateCreated>2015-08-19T13:16:48.917</c:DateCreated>
              <c:ErrorText i:nil="true"/>
              <c:IsError>false</c:IsError>
              <c:MontSystemId i:nil="true"/>
              <c:PartNum>Sub1</c:PartNum>
              <c:PreviousPartNum>Sub1</c:PreviousPartNum>
              <c:PreviousQuantity>10</c:PreviousQuantity>
              <c:PreviousStatusId>4</c:PreviousStatusId>
              <c:PreviousSubscriptionEndDate>2015-09-19T00:00:00</c:PreviousSubscriptionEndDate>
              <c:Quantity>10</c:Quantity>
              <c:ResellerName>testme</c:ResellerName>
              <c:StatusId>1</c:StatusId>
              <c:SubscriptionNum>SUB-001035</c:SubscriptionNum>
              <c:SubscriptionStopDate>2015-09-19T00:00:00</c:SubscriptionStopDate>
            </c:SubscriptionEventContract>
			...
            <c:SubscriptionEventContract>
              <c:DateCreated>2015-08-19T13:21:28.003</c:DateCreated>
              <c:ErrorText i:nil="true"/>
              <c:IsError>false</c:IsError>
              <c:MontSystemId i:nil="true"/>
              <c:PartNum>Sub1</c:PartNum>
              <c:PreviousPartNum>Sub1</c:PreviousPartNum>
              <c:PreviousQuantity>10</c:PreviousQuantity>
              <c:PreviousStatusId>1</c:PreviousStatusId>
              <c:PreviousSubscriptionEndDate>2015-09-19T00:00:00</c:PreviousSubscriptionEndDate>
              <c:Quantity>10</c:Quantity>
              <c:ResellerName>testme</c:ResellerName>
              <c:StatusId>6</c:StatusId>
              <c:SubscriptionNum>SUB-001035</c:SubscriptionNum>
              <c:SubscriptionStopDate>2015-09-19T00:00:00</c:SubscriptionStopDate>
            </c:SubscriptionEventContract>
          </c:Events>
          <c:MontSubscriberId>76bc02e3-c74c-4fee-ad13-b97a3b49b57d</c:MontSubscriberId>
          <c:ParentSubscriptionId i:nil="true"/>
          <c:PartNum>Sub1</c:PartNum>
          <c:Periods>
            <c:SubscriptionPeriodContract>
              <c:DateCreated>2015-08-19T13:15:48.677</c:DateCreated>
              <c:PartNum>Sub1</c:PartNum>
              <c:Seats>10</c:Seats>
              <c:StartDate>2015-08-19T13:16:48.897</c:StartDate>
              <c:StopDate>2015-08-19T13:22:03.173</c:StopDate>
            </c:SubscriptionPeriodContract>
          </c:Periods>
          <c:ProductName>TestSubscription1</c:ProductName>
          <c:Quantity>10</c:Quantity>
          <c:RegistrationProfile xmlns:d="http://schemas.datacontract.org/2004/07/WebStore2.B2B.Version2.Contracts.Subscriber">
            <d:ActivationDate>2015-08-06T11:49:17.403</d:ActivationDate>
            <d:IsActivated>true</d:IsActivated>
            <d:Login i:nil="true"/>
            <d:Password i:nil="true"/>
            <d:RegFields>
              <d:RegItemContract>
                <d:ClientVisible>true</d:ClientVisible>
                <d:FieldName>DomainPrefix</d:FieldName>
                <d:FieldTitle/>
                <d:FieldValue>Develop66</d:FieldValue>
              </d:RegItemContract>
              ...
              <d:RegItemContract>
                <d:ClientVisible>false</d:ClientVisible>
                <d:FieldName>VendorUniqKey</d:FieldName>
                <d:FieldTitle/>
                <d:FieldValue>Develop66</d:FieldValue>
              </d:RegItemContract>
            </d:RegFields>
            <d:Supplier>CREST</d:Supplier>
          </c:RegistrationProfile>
          <c:ResellerName>testme</c:ResellerName>
          <c:Source>0</c:Source>
          <c:StartDate>2015-08-19T13:16:48.833</c:StartDate>
          <c:StateId>7</c:StateId>
          <c:SubscriptionId>SUB-001035</c:SubscriptionId>
          <c:SubscriptionItems>
            <c:SubscriptionItemContract>
              <c:CreateDate>2015-08-19T13:15:48.677</c:CreateDate>
              <c:PartNum>Sub1</c:PartNum>
              <c:ResourceUrl>/test/d88947ad-4480-4594-836f-5f6f47948d78</c:ResourceUrl>
              <c:SeatQuantity>10</c:SeatQuantity>
            </c:SubscriptionItemContract>
          </c:SubscriptionItems>
          <c:SubscriptionUrl>/test/d88947ad-4480-4594-836f-5f6f47948d78</c:SubscriptionUrl>
          <c:VendorName>Microsoft</c:VendorName>
        </b:Data>
        <b:ErrorCode>0</b:ErrorCode>
        <b:ErrorText i:nil="true"/>
        <b:Errors/>
        <b:IsError>false</b:IsError>
      </ChangeQuantityOfSubscriptionResult>
    </ChangeQuantityOfSubscriptionResponse>
  </s:Body>
</s:Envelope>

ChangeQuantityOfSubscription

Параметры

НазваниеТипОписание
montSubscriptionIdstringИдентификатор подписки
byEndUserboolпризнак того, что действие осуществляется конечным пользователем. Значение должно быть true если инициатор действия - конечный пользователь, false - если инициатор реселлер
newQuantityint новое количество пользователей

Возвращаемое значение

ТипОписание
SubscriptionContractМодель подписки

Описание

Метод используется для изменения количества пользователей у активной подписки. Ответом метода является полный объект подписки, в котором указано её состояние после вызова метода. Если на момент вызова метода подписка была активна, то её статус перейдет в статус «Обновление». После обновления параметров подписка опять перейдет в статус активна уже с новым количеством пользователей. Если в момент вызова подписка была в каком-либо другом статусе - вернется ошибка с кодом “90”.

Возможные ошибки

КодТекст ошибки
17Количество задано не верно
30Операция не может быть выполнена, попробуйте позже
74Подписка с указанным кодом не найдена
90Подписка находится в незавершенном состоянии

Пример для XmlOverHttp

запрос

POST https://sandbox.mont.ru/Version2/Service/B2BServiceV2Xml.svc/ChangeQuantityOfSubscription

<?xml version="1.0" encoding="utf-8" ?>
<ChangeQuantityOfSubscription>
 <montSubscriptionId>SUB-001068</montSubscriptionId>
 <byEndUser>true</byEndUser>
 <newQuantity>3</newQuantity>
</ChangeQuantityOfSubscription>

ответ

<?xml version="1.0" encoding="utf-8"?>
<ChangeQuantityOfSubscriptionResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <ChangeQuantityOfSubscriptionResult>
    <Data>
      <SubscriptionId>SUB-001068</SubscriptionId>
      <DateCreated>2015-09-16T17:13:33.573</DateCreated>
      <StateId>1</StateId>
      <StartDate>2015-09-18T11:48:32.857</StartDate>
      <ActiveTill xsi:nil="true"/>
      <MontSubscriberId>54e3081c-f787-4e33-bc99-cc2e3aa392c7</MontSubscriberId>
      <Quantity>1</Quantity>
      <PartNum>OF365B</PartNum>
      <SubscriptionUrl>/test/95179f4d-f659-4980-9a96-ffa872c16c2e</SubscriptionUrl>
      <BundleId xsi:nil="true"/>
      <Periods>
        <SubscriptionPeriodContract>
          <StartDate>2015-09-18T11:48:32.87</StartDate>
          <StopDate xsi:nil="true"/>
          <Seats>1</Seats>
          <DateCreated>2015-09-16T17:13:33.573</DateCreated>
          <PartNum>OF365B</PartNum>
        </SubscriptionPeriodContract>
      </Periods>
      <Events>
        <SubscriptionEventContract>
          <DateCreated>2015-09-18T11:48:32.88</DateCreated>
          <StatusId>1</StatusId>
          <PreviousStatusId>4</PreviousStatusId>
          <SubscriptionStopDate xsi:nil="true"/>
          <PreviousSubscriptionEndDate xsi:nil="true"/>
          <Quantity>1</Quantity>
          <PreviousQuantity>1</PreviousQuantity>
          <PartNum>OF365B</PartNum>
          <PreviousPartNum>OF365B</PreviousPartNum>
          <IsError>false</IsError>
          <MontSystemId>1</MontSystemId>
          <SubscriptionNum>SUB-001068</SubscriptionNum>
          <ResellerName>testme</ResellerName>
        </SubscriptionEventContract>
        ...
        <SubscriptionEventContract>
          <DateCreated>2016-04-03T17:06:59.347</DateCreated>
          <StatusId>5</StatusId>
          <PreviousStatusId>1</PreviousStatusId>
          <SubscriptionStopDate xsi:nil="true"/>
          <PreviousSubscriptionEndDate xsi:nil="true"/>
          <Quantity>3</Quantity>
          <PreviousQuantity>1</PreviousQuantity>
          <PartNum>OF365B</PartNum>
          <PreviousPartNum>OF365B</PreviousPartNum>
          <IsError>false</IsError>
          <MontSystemId>0</MontSystemId>
          <SubscriptionNum>SUB-001068</SubscriptionNum>
          <ResellerName>testme</ResellerName>
        </SubscriptionEventContract>
      </Events>
      <RegistrationProfile>
        <Supplier>CREST</Supplier>
        <Login>t2gmailcom</Login>
        <Password>0K548080ZafKs</Password>
        <RegFields>
          <RegItemContract>
            <FieldName>DomainPrefix</FieldName>
            <FieldValue>t2gmailcomXX36</FieldValue>
            <FieldTitle/>
            <ClientVisible>true</ClientVisible>
          </RegItemContract>
          ...
          <RegItemContract>
            <FieldName>LoginUrl</FieldName>
            <FieldValue>https://portal.office.com</FieldValue>
            <FieldTitle/>
            <ClientVisible>false</ClientVisible>
          </RegItemContract>
        </RegFields>
        <IsActivated>true</IsActivated>
        <ActivationDate>2015-06-26T15:29:54.597</ActivationDate>
      </RegistrationProfile>
      <ProductName>Office 365 Business</ProductName>
      <VendorName>Microsoft</VendorName>
      <Source>1</Source>
      <ResellerName>testme</ResellerName>
      <ResellerPrice>299</ResellerPrice>
      <ResellerCurrency>RUR</ResellerCurrency>
    </Data>
    <IsError>false</IsError>
    <ErrorCode>0</ErrorCode>
    <Errors/>
  </ChangeQuantityOfSubscriptionResult>
</ChangeQuantityOfSubscriptionResponse>

Пример для SOAP

запрос

POST https://sandbox.mont.ru/Version2/Service/B2BServiceV2.svc

<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://www.w3.org/2005/08/addressing" xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
  <s:Header>
    <a:Action s:mustUnderstand="1">http://tempuri.org/IB2BServiceV2/ChangeQuantityOfSubscription</a:Action>
<a:MessageID>urn:uuid:17ee9f5b-2680-4337-abce-c8d39006503a</a:MessageID>
    <a:ReplyTo>
      <a:Address>http://www.w3.org/2005/08/addressing/anonymous</a:Address>
    </a:ReplyTo>
    <a:To s:mustUnderstand="1">https://sandbox.mont.ru/Version2/Service/B2BServiceV2.svc</a:To>
    <o:Security s:mustUnderstand="1" xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
      <o:UsernameToken>
        <o:Username>username</o:Username>
        <o:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">password</o:Password>
      </o:UsernameToken>
    </o:Security>
  </s:Header>
  <s:Body>
    <ChangeQuantityOfSubscription xmlns="http://tempuri.org/">
      <montSubscriptionId>123</montSubscriptionId>
      <byEndUser>true</byEndUser>
      <newQuantity>15</newQuantity>
    </ChangeQuantityOfSubscription>
  </s:Body>
</s:Envelope>

ответ

<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://www.w3.org/2005/08/addressing" xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
  <s:Header>
    <a:Action s:mustUnderstand="1">http://tempuri.org/IB2BServiceV2/ChangeQuantityOfSubscription</a:Action>
    <ActivityId CorrelationId="384ab82e-2d4c-40b0-811a-4a4ca2bf5636" xmlns="http://schemas.microsoft.com/2004/09/ServiceModel/Diagnostics">f0b148c5-fb74-4e21-94ba-1c95f8d5bd76</ActivityId>
    <a:RelatesTo>urn:uuid:17ee9f5b-2680-4337-abce-c8d39006503a</a:RelatesTo>
    <o:Security s:mustUnderstand="1" xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
      <u:Timestamp u:Id="_0">
        <u:Created>2015-09-23T13:12:13.550Z</u:Created>
        <u:Expires>2015-09-23T13:17:13.550Z</u:Expires>
      </u:Timestamp>
    </o:Security>
  </s:Header>
  <s:Body>
    <ChangeQuantityOfSubscriptionResponse xmlns="http://tempuri.org/">
      <ChangeQuantityOfSubscriptionResult xmlns:b="http://schemas.datacontract.org/2004/07/WebStore2.B2B.Version2.Contracts.Responses" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
        <b:Data xmlns:c="http://schemas.datacontract.org/2004/07/WebStore2.B2B.Version2.Contracts">
          <c:ActiveTill>2015-09-19T00:00:00</c:ActiveTill>
          <c:BundleId i:nil="true"/>
          <c:DateCreated>2015-08-19T13:15:48.677</c:DateCreated>
          <c:Events>
            <c:SubscriptionEventContract>
              <c:DateCreated>2015-08-19T13:16:48.917</c:DateCreated>
              <c:ErrorText i:nil="true"/>
              <c:IsError>false</c:IsError>
              <c:MontSystemId i:nil="true"/>
              <c:PartNum>Sub1</c:PartNum>
              <c:PreviousPartNum>Sub1</c:PreviousPartNum>
              <c:PreviousQuantity>10</c:PreviousQuantity>
              <c:PreviousStatusId>4</c:PreviousStatusId>
              <c:PreviousSubscriptionEndDate>2015-09-19T00:00:00</c:PreviousSubscriptionEndDate>
              <c:Quantity>10</c:Quantity>
              <c:ResellerName>testme</c:ResellerName>
              <c:StatusId>1</c:StatusId>
              <c:SubscriptionNum>SUB-001035</c:SubscriptionNum>
              <c:SubscriptionStopDate>2015-09-19T00:00:00</c:SubscriptionStopDate>
            </c:SubscriptionEventContract>
			...
            <c:SubscriptionEventContract>
              <c:DateCreated>2015-08-19T13:21:28.003</c:DateCreated>
              <c:ErrorText i:nil="true"/>
              <c:IsError>false</c:IsError>
              <c:MontSystemId i:nil="true"/>
              <c:PartNum>Sub1</c:PartNum>
              <c:PreviousPartNum>Sub1</c:PreviousPartNum>
              <c:PreviousQuantity>10</c:PreviousQuantity>
              <c:PreviousStatusId>1</c:PreviousStatusId>
              <c:PreviousSubscriptionEndDate>2015-09-19T00:00:00</c:PreviousSubscriptionEndDate>
              <c:Quantity>10</c:Quantity>
              <c:ResellerName>testme</c:ResellerName>
              <c:StatusId>6</c:StatusId>
              <c:SubscriptionNum>SUB-001035</c:SubscriptionNum>
              <c:SubscriptionStopDate>2015-09-19T00:00:00</c:SubscriptionStopDate>
            </c:SubscriptionEventContract>
          </c:Events>
          <c:MontSubscriberId>76bc02e3-c74c-4fee-ad13-b97a3b49b57d</c:MontSubscriberId>
          <c:ParentSubscriptionId i:nil="true"/>
          <c:PartNum>Sub1</c:PartNum>
          <c:Periods>
            <c:SubscriptionPeriodContract>
              <c:DateCreated>2015-08-19T13:15:48.677</c:DateCreated>
              <c:PartNum>Sub1</c:PartNum>
              <c:Seats>10</c:Seats>
              <c:StartDate>2015-08-19T13:16:48.897</c:StartDate>
              <c:StopDate>2015-08-19T13:22:03.173</c:StopDate>
            </c:SubscriptionPeriodContract>
          </c:Periods>
          <c:ProductName>TestSubscription1</c:ProductName>
          <c:Quantity>10</c:Quantity>
          <c:RegistrationProfile xmlns:d="http://schemas.datacontract.org/2004/07/WebStore2.B2B.Version2.Contracts.Subscriber">
            <d:ActivationDate>2015-08-06T11:49:17.403</d:ActivationDate>
            <d:IsActivated>true</d:IsActivated>
            <d:Login i:nil="true"/>
            <d:Password i:nil="true"/>
            <d:RegFields>
              <d:RegItemContract>
                <d:ClientVisible>true</d:ClientVisible>
                <d:FieldName>DomainPrefix</d:FieldName>
                <d:FieldTitle/>
                <d:FieldValue>Develop66</d:FieldValue>
              </d:RegItemContract>
              ...
              <d:RegItemContract>
                <d:ClientVisible>false</d:ClientVisible>
                <d:FieldName>VendorUniqKey</d:FieldName>
                <d:FieldTitle/>
                <d:FieldValue>Develop66</d:FieldValue>
              </d:RegItemContract>
            </d:RegFields>
            <d:Supplier>CREST</d:Supplier>
          </c:RegistrationProfile>
          <c:ResellerName>testme</c:ResellerName>
          <c:Source>0</c:Source>
          <c:StartDate>2015-08-19T13:16:48.833</c:StartDate>
          <c:StateId>7</c:StateId>
          <c:SubscriptionId>SUB-001035</c:SubscriptionId>
          <c:SubscriptionItems>
            <c:SubscriptionItemContract>
              <c:CreateDate>2015-08-19T13:15:48.677</c:CreateDate>
              <c:PartNum>Sub1</c:PartNum>
              <c:ResourceUrl>/test/d88947ad-4480-4594-836f-5f6f47948d78</c:ResourceUrl>
              <c:SeatQuantity>10</c:SeatQuantity>
            </c:SubscriptionItemContract>
          </c:SubscriptionItems>
          <c:SubscriptionUrl>/test/d88947ad-4480-4594-836f-5f6f47948d78</c:SubscriptionUrl>
          <c:VendorName>Microsoft</c:VendorName>
        </b:Data>
        <b:ErrorCode>0</b:ErrorCode>
        <b:ErrorText i:nil="true"/>
        <b:Errors/>
        <b:IsError>false</b:IsError>
      </ChangeQuantityOfSubscriptionResult>
    </ChangeQuantityOfSubscriptionResponse>
  </s:Body>
</s:Envelope>

GetSubscribersId

Параметры

ТипНазваниеОписание
Int64 versionВерсия последнего обновления в системе реселлера
bool byAllLoginsПараметр true, когда необходимо получить подписчиков, созданных любым из логинов юрлица

Возвращаемые значения

ТипНазваниеОписание
Array of stringIdsСписок идентификаторов подписчиков
Int64 LastVersionПоследняя версия изменений данных о подписчиках

Описание

Возвращает всех подписчиков, которые имеют более позднюю версию, чем указанное в параметре значение version. Если второй параметр false, то будут возвращаться идентификаторы подписчиков, созданных из-под вашего логина, т.е. логина реселлера. Если второй параметр true, будут возвращаться идентификаторы изменившихся подписчиков, созданных всеми логинами вашего юр. лица. (Если у вас несколько юридических лиц, тогда все подписчики того юридического лица, к которому относится логин, от которого поступил запрос)

Пример для XmlOverHttp

запрос

ответ

<?xml version="1.0" encoding="utf-8"?>
<GetSubscribersIdResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <GetSubscribersIdResult>
    <Data>
      <Ids>
        <guid>b5d5299d-0392-4c7a-b48b-c58f1424157d</guid>
        ...
        <guid>55173afd-3227-4b09-8c2a-8ef38c490708</guid>
      </Ids>
      <LastVersion>23549013</LastVersion>
    </Data>
    <IsError>false</IsError>
    <ErrorCode>0</ErrorCode>
    <Errors/>
  </GetSubscribersIdResult>
</GetSubscribersIdResponse>

Пример для SOAP

запрос

POST https://sandbox.mont.ru/Version2/Service/B2BServiceV2.svc

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:tem="http://tempuri.org/">
  <soap:Header xmlns:wsa="http://www.w3.org/2005/08/addressing">
    <wsse:Security soap:mustUnderstand="true" 
                   xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" 
                   xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
      <wsse:UsernameToken wsu:Id="UsernameToken-521583E51C51BBE3B614431739144461">
        <wsse:Username>login</wsse:Username>
        <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">password</wsse:Password>
        <wsse:Nonce EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">KVZo7gjn4UjSecfvzBLK4Q==</wsse:Nonce>
        <wsu:Created>2015-09-25T09:38:34.445Z</wsu:Created>
      </wsse:UsernameToken>
    </wsse:Security>
    <wsa:Action>http://tempuri.org/IB2BServiceV2/GetSubscribersId</wsa:Action>
    <wsa:MessageID>uuid:1d48db7e-2ded-4b99-abe5-d35e079015a9</wsa:MessageID>
    <wsa:To>https://sandbox.mont.ru/Version2/Service/B2BServiceV2.svc</wsa:To>
  </soap:Header>
  <soap:Body>
    <tem:GetSubscribersId>
      <tem:version>0</tem:version>
      <tem:byAllLogins>true</tem:byAllLogins>
    </tem:GetSubscribersId>
   </soap:Body>
</soap:Envelope>

ответ

<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://www.w3.org/2005/08/addressing" xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
   <s:Header>
      <a:Action s:mustUnderstand="1">http://tempuri.org/IB2BServiceV2/GetSubscribersIdResponse</a:Action>
      <ActivityId CorrelationId="751cb449-38bd-4b43-a951-d6fd1d2f0c4b" xmlns="http://schemas.microsoft.com/2004/09/ServiceModel/Diagnostics">2fd55f53-9bb3-47ef-a171-1aa72b8d11c8</ActivityId>
      <a:RelatesTo>uuid:1d48db7e-2ded-4b99-abe5-d35e079015a9</a:RelatesTo>
      <o:Security s:mustUnderstand="1" xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
         <u:Timestamp u:Id="_0">
            <u:Created>2015-09-25T09:38:40.000Z</u:Created>
            <u:Expires>2015-09-25T09:43:40.000Z</u:Expires>
         </u:Timestamp>
      </o:Security>
   </s:Header>
   <s:Body>
      <GetSubscribersIdResponse xmlns="http://tempuri.org/">
         <GetSubscribersIdResult xmlns:b="http://schemas.datacontract.org/2004/07/WebStore2.B2B.Version2.Contracts.Responses" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
            <b:Data>
               <Ids xmlns="">
                  <Item>ebda3d8a-3b25-48a1-93f5-ed8cb5e905b9</Item>
 
                    ...
 
                  <Item>76bc02e3-c74c-4fee-ad13-b97a3b49b577</Item>
               </Ids>
               <LastVersion xmlns="">5218014</LastVersion>
            </b:Data>
            <b:ErrorCode>0</b:ErrorCode>
            <b:ErrorText/>
            <b:Errors/>
            <b:IsError>false</b:IsError>
         </GetSubscribersIdResult>
      </GetSubscribersIdResponse>
   </s:Body>
</s:Envelope>

GetSubscriber

Параметры

НазваниеТипОписание
idGuid Идентификатор подписчика

Возвращаемое значение

ТипОписание
WebStoreSubscriberContractМодель подписчика

Описание

Возвращает информацию о подписчике с определенным идентификатором.

Возможные ошибки

КодТекст ошибки
807Не удалось преобразовать входную строку в тип GUID. Проверьте правильность ввода идентификатора
75Подписчик с указанным кодом не найден

Пример для XmlOverHttp

запрос

ответ

<?xml version="1.0" encoding="utf-8"?>
<GetSubscriberResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <GetSubscriberResult>
    <Data>
      <MontSubscriberId>54e3081c-f787-4e33-bc99-cc2e3aa392c7</MontSubscriberId>
      <CreateDate>2015-06-26T15:29:54.597</CreateDate>
      <ResellerLogin>testme</ResellerLogin>
      <Registrations>
        <RegistrationContract>
          <Supplier>CREST</Supplier>
          <Login>t2gmailcom</Login>
          <Password>0K548080ZafKs</Password>
          <RegFields>
            <RegItemContract>
              <FieldName>DomainPrefix</FieldName>
              <FieldValue>t2gmailcomXX36</FieldValue>
              <ClientVisible>true</ClientVisible>
            </RegItemContract>
            ...
            <RegItemContract>
              <FieldName>LoginUrl</FieldName>
              <FieldValue>https://portal.office.com</FieldValue>
              <ClientVisible>false</ClientVisible>
            </RegItemContract>
          </RegFields>
          <IsActivated>true</IsActivated>
          <ActivationDate>2015-06-26T15:29:54.597</ActivationDate>
        </RegistrationContract>
      </Registrations>
    </Data>
    <IsError>false</IsError>
    <ErrorCode>0</ErrorCode>
    <Errors/>
  </GetSubscriberResult>
</GetSubscriberResponse>

Пример для SOAP

запрос

POST https://sandbox.mont.ru/Version2/Service/B2BServiceV2.svc

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:tem="http://tempuri.org/">
  <soap:Header xmlns:wsa="http://www.w3.org/2005/08/addressing"
               xmlns:wsrm="http://docs.oasis-open.org/ws-rx/wsrm/200702">
    <wsse:Security soap:mustUnderstand="true"
                   xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
                   xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
      <wsse:UsernameToken wsu:Id="UsernameToken-0C97A913BFEA47D23B14440311653047">
        <wsse:Username>login</wsse:Username>
        <wsse:Password
          Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">
          password
        </wsse:Password>
        <wsse:Nonce
          EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">
          ZqxhcMo+G1AyQgfgqidMXg==
        </wsse:Nonce>
        <wsu:Created>2015-10-05T07:46:05.304Z</wsu:Created>
      </wsse:UsernameToken>
    </wsse:Security>
    <wsrm:Sequence>
      <wsrm:Identifier>
        s:Sender
        a:InvalidSecurity
      </wsrm:Identifier>
      <wsrm:MessageNumber>1</wsrm:MessageNumber>
    </wsrm:Sequence>
    <wsa:Action>http://tempuri.org/IB2BServiceV2/GetSubscriber</wsa:Action>
    <wsa:MessageID>uuid:27fff6ff-8167-4855-a0c3-31b7c6f1c8e8</wsa:MessageID>
    <wsa:To>https://tayga:453/Version2/Service/B2BServiceV2.svc</wsa:To>
  </soap:Header>
  <soap:Body>
    <tem:GetSubscriber>
      <!--Optional:-->
      <tem:id>292711c6-8858-4dae-a6b7-69cd7776922e</tem:id>
    </tem:GetSubscriber>
  </soap:Body>
</soap:Envelope>

ответ

<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://www.w3.org/2005/08/addressing"
            xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
  <s:Header>
    <a:Action s:mustUnderstand="1">http://tempuri.org/IB2BServiceV2/GetSubscriberResponse</a:Action>
    <a:RelatesTo>uuid:27fff6ff-8167-4855-a0c3-31b7c6f1c8e8</a:RelatesTo>
    <o:Security s:mustUnderstand="1"
                xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
      <u:Timestamp u:Id="_0">
        <u:Created>2015-10-05T07:46:04.518Z</u:Created><u:Expires>2015-10-05T07:51:04.518Z</u:Expires>
      </u:Timestamp>
    </o:Security>
  </s:Header>
  <s:Body>
    <GetSubscriberResponse xmlns="http://tempuri.org/">
      <GetSubscriberResult xmlns:b="http://schemas.datacontract.org/2004/07/WebStore2.B2B.Version2.Contracts.Responses"
                           xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
        <b:Data xmlns:c="http://schemas.datacontract.org/2004/07/WebStore2.B2B.Version2.Contracts.Subscriber">
          <c:CreateDate>2015-06-09T14:26:43.563</c:CreateDate><c:EMail>petrov@mail.ru</c:EMail><c:Login i:nil="true" />
          <c:MontSubscriberId>292711c6-8858-4dae-a6b7-69cd7776922e</c:MontSubscriberId><c:Registrations />
          <c:ResellerLogin>login</c:ResellerLogin>
        </b:Data>
        <b:ErrorCode>0</b:ErrorCode><b:ErrorText /><b:Errors /><b:IsError>false</b:IsError>
      </GetSubscriberResult>
    </GetSubscriberResponse>
  </s:Body>
</s:Envelope>

ActivateSubscriber

Параметры

НазваниеТипОписание
activationFormarray of RegItemContractЗаполненная активационная форма. Правила её заполнения можно получить с помощью метода GetActivationForm
montSubscriberIdGuidИдентификатор подписчика. Если подписчика еще нет в системе Mont (т.е. он создается), то он должен быть сгенерирован пользователем, и представлять из себя UUID
partNumstringПартномер товара, на который оформляется подписка
langCodestringКод языка описания активационной формы (например RU)

Возвращаемое значение

ТипОписание
RegistrationDescriptionContractОшибки заполнения полей регистрационной формы

Описание

Метод используется для создания подписчика(если его не было в системе Mont Webstore) и для его активации у поставщика для пользования конкретным продуктом. В случае, если подписчик уже был активирован у данного поставщика, то возникнет ошибка “Пользователь уже активирован”. Узнать, активирован-ли подписчик, можно с помощью метода IsSubscriberActivated.

Возвращаемые ошибки (тег <ActivateSubscriberResult><ErrorCode>)

КодТекст ошибки
2Продукт не найден
60Пользователь уже активирован
806Данные для пользователя заведены неправильно

Возможные уточняющие ошибки, специфичные для некоторого вендора (тег <ActivateSubscriberResult><Errors>)

Данные ошибки являются необязательными, и могут содержаться в ответе сервиса только при указании основной ошибки в теге <ErrorCode>.

КодТекст ошибки
30002 domain is already used by another tenant

Пример для XmlOverHttp

запрос

POST https://sandbox.mont.ru/Version2/Service/B2BServiceV2Xml.svc/ActivateSubscriber

<?xml version="1.0" encoding="utf-8" ?>
<ActivateSubscriber>
  <montSubscriberId>25173afd-3227-4b09-8c2a-8ef38c490708</montSubscriberId>
  <partNum>cloud-odfbwoo</partNum>
  <langCode>RU</langCode>
  <activationForm>
    <RegItems>
      <RegItemContract>
        <FieldName>Email</FieldName>
        <FieldValue>foo@bar.com</FieldValue>
      </RegItemContract>
      <RegItemContract>
        <FieldName>FirstName</FieldName>
        <FieldValue>Tommy</FieldValue>
      </RegItemContract>
    </RegItems>
  </activationForm>
</ActivateSubscriber>	

ответ

<?xml version="1.0" encoding="utf-8"?>
<ActivateSubscriberResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <ActivateSubscriberResult>
    <IsError>false</IsError>
    <ErrorCode>0</ErrorCode>
    <Errors/>
    <Data>
      <HasError>true</HasError>
      <Supplier>CREST</Supplier>
      <RegDescriptionFields>
        <RegItemDescriptionContract>
          <FieldName>Email</FieldName>
          <FieldTitle>Email</FieldTitle>
          <FieldDescription>Введите email</FieldDescription>
          <RegExprs>^([^@]*@[^@]*){1,128}$</RegExprs>
          <FieldsValue>foo@bar.com</FieldsValue>
          <AvaliableValues/>
          <ErrorText>Укажите корректный Email</ErrorText>
          <HasError>false</HasError>
          <FieldType>1</FieldType>
          <UserType>1</UserType>
          <Required>true</Required>
          <Editable>true</Editable>
          <MinLen>1</MinLen>
          <MaxLen>128</MaxLen>
        </RegItemDescriptionContract>
        ...
        <RegItemDescriptionContract>
          <FieldName>CountryCode</FieldName>
          <FieldTitle>Страна</FieldTitle>
          <FieldDescription>Страна конечного пользователя</FieldDescription>
          <RegExprs>^.{6,11}$</RegExprs>
          <FieldsValue/>
          <AvaliableValues>
            <string>Россия</string>
          </AvaliableValues>
          <ErrorText>Неправильно указана страна</ErrorText>
          <HasError>true</HasError>
          <FieldType>3</FieldType>
          <UserType>1</UserType>
          <Required>true</Required>
          <Editable>true</Editable>
          <MinLen>6</MinLen>
          <MaxLen>11</MaxLen>
        </RegItemDescriptionContract>
      </RegDescriptionFields>
    </Data>
  </ActivateSubscriberResult>
</ActivateSubscriberResponse>

Пример для SOAP

запрос

POST https://sandbox.mont.ru/Version2/Service/B2BServiceV2.svc

<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://www.w3.org/2005/08/addressing" xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
  <s:Header>
    <a:Action s:mustUnderstand="1">http://tempuri.org/IB2BServiceV2/ActivateSubscriber</a:Action>
    <a:ReplyTo>
      <a:Address>http://www.w3.org/2005/08/addressing/anonymous</a:Address>
    </a:ReplyTo>
    <a:To s:mustUnderstand="1">https://sandbox.mont.ru/Version2/Service/B2BServiceV2.svc</a:To>
    <o:Security s:mustUnderstand="1" xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
      <o:UsernameToken>
        <o:Username>username</o:Username>
        <o:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">password</o:Password>
      </o:UsernameToken>
    </o:Security>
  </s:Header>
  <s:Body>
    <ActivateSubscriber xmlns="http://tempuri.org/">
      <activationForm xmlns:b="http://schemas.datacontract.org/2004/07/WebStore2.B2B.Version2.Contracts.Subscriber" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
        <b:RegItemContract>
          <b:FieldName>Email</b:FieldName>
          <b:FieldValue>aaaa</b:FieldValue>
        </b:RegItemContract>
        <b:RegItemContract>
          <b:FieldName>FirstName</b:FieldName>
          <b:FieldValue>bbbb</b:FieldValue>
        </b:RegItemContract>
      </activationForm>
      <montSubscriberId>55173afd-3227-4b09-8c2a-8ef38c490708</montSubscriberId>
      <partNum>sub1</partNum>
      <langCode>RU</langCode>
    </ActivateSubscriber>
  </s:Body>
</s:Envelope>

ответ

<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://www.w3.org/2005/08/addressing" xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
  <s:Header>
    <a:Action s:mustUnderstand="1">http://tempuri.org/IB2BServiceV2/ActivateSubscriberResponse</a:Action>
    <o:Security s:mustUnderstand="1" xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
      <u:Timestamp u:Id="_0">
        <u:Created>2015-09-30T14:23:46.378Z</u:Created>
        <u:Expires>2015-09-30T14:28:46.378Z</u:Expires>
      </u:Timestamp>
    </o:Security>
  </s:Header>
  <s:Body>
    <ActivateSubscriberResponse xmlns="http://tempuri.org/">
      <ActivateSubscriberResult xmlns:b="http://schemas.datacontract.org/2004/07/WebStore2.B2B.Version2.Contracts.Responses" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
        <b:Data xmlns:c="http://schemas.datacontract.org/2004/07/WebStore2.B2B.Version2.Contracts.Subscriber">
          <c:HasError>true</c:HasError>
          <c:RegDescriptionFields>
            <c:RegItemDescriptionContract>
              <c:AvaliableValues xmlns:d="http://schemas.microsoft.com/2003/10/Serialization/Arrays"/>
              <c:Editable>true</c:Editable>
              <c:ErrorText>Укажите корректный Email</c:ErrorText>
              <c:FieldDescription>Введите email</c:FieldDescription>
              <c:FieldName>Email</c:FieldName>
              <c:FieldTitle>Email</c:FieldTitle>
              <c:FieldType>1</c:FieldType>
              <c:FieldsValue>aaaa</c:FieldsValue>
              <c:HasError>true</c:HasError>
              <c:MaxLen>0</c:MaxLen>
              <c:MinLen>0</c:MinLen>
              <c:RegExprs>^([^@]*@[^@]*){1,128}$</c:RegExprs>
              <c:Required>true</c:Required>
              <c:UserType>1</c:UserType>
            </c:RegItemDescriptionContract>
            <c:RegItemDescriptionContract>
              <c:AvaliableValues xmlns:d="http://schemas.microsoft.com/2003/10/Serialization/Arrays"/>
              <c:Editable>true</c:Editable>
              <c:ErrorText>Неправильно указано название компании</c:ErrorText>
              <c:FieldDescription>Введите название компании</c:FieldDescription>
              <c:FieldName>CompanyName</c:FieldName>
              <c:FieldTitle>Название компании</c:FieldTitle>
              <c:FieldType>1</c:FieldType>
              <c:FieldsValue/>
              <c:HasError>true</c:HasError>
              <c:MaxLen>0</c:MaxLen>
              <c:MinLen>0</c:MinLen>
              <c:RegExprs>^.{1,128}$</c:RegExprs>
              <c:Required>true</c:Required>
              <c:UserType>1</c:UserType>
            </c:RegItemDescriptionContract>
            <c:RegItemDescriptionContract>
              <c:AvaliableValues xmlns:d="http://schemas.microsoft.com/2003/10/Serialization/Arrays"/>
              <c:Editable>false</c:Editable>
              <c:ErrorText>Укажите корректный Domain Prefix</c:ErrorText>
              <c:FieldDescription>Введите domain prefix</c:FieldDescription>
              <c:FieldName>DomainPrefix</c:FieldName>
              <c:FieldTitle>Domain prefix</c:FieldTitle>
              <c:FieldType>1</c:FieldType>
              <c:FieldsValue/>
              <c:HasError>true</c:HasError>
              <c:MaxLen>0</c:MaxLen>
              <c:MinLen>0</c:MinLen>
              <c:RegExprs>^.{1,128}$</c:RegExprs>
              <c:Required>true</c:Required>
              <c:UserType>1</c:UserType>
            </c:RegItemDescriptionContract>
            <c:RegItemDescriptionContract>
              <c:AvaliableValues xmlns:d="http://schemas.microsoft.com/2003/10/Serialization/Arrays"/>
              <c:Editable>true</c:Editable>
              <c:ErrorText>Неправильно указано имя</c:ErrorText>
              <c:FieldDescription>Введите имя</c:FieldDescription>
              <c:FieldName>FirstName</c:FieldName>
              <c:FieldTitle>Имя</c:FieldTitle>
              <c:FieldType>1</c:FieldType>
              <c:FieldsValue>bbbb</c:FieldsValue>
              <c:HasError>false</c:HasError>
              <c:MaxLen>0</c:MaxLen>
              <c:MinLen>0</c:MinLen>
              <c:RegExprs>^.{1,50}$</c:RegExprs>
              <c:Required>true</c:Required>
              <c:UserType>1</c:UserType>
            </c:RegItemDescriptionContract>
            <c:RegItemDescriptionContract>
              <c:AvaliableValues xmlns:d="http://schemas.microsoft.com/2003/10/Serialization/Arrays"/>
              <c:Editable>true</c:Editable>
              <c:ErrorText>Неправильно указана фамилия</c:ErrorText>
              <c:FieldDescription>Введите фамилию</c:FieldDescription>
              <c:FieldName>LastName</c:FieldName>
              <c:FieldTitle>Фамилия</c:FieldTitle>
              <c:FieldType>1</c:FieldType>
              <c:FieldsValue/>
              <c:HasError>true</c:HasError>
              <c:MaxLen>0</c:MaxLen>
              <c:MinLen>0</c:MinLen>
              <c:RegExprs>^.{1,50}$</c:RegExprs>
              <c:Required>true</c:Required>
              <c:UserType>1</c:UserType>
            </c:RegItemDescriptionContract>
            <c:RegItemDescriptionContract>
              <c:AvaliableValues xmlns:d="http://schemas.microsoft.com/2003/10/Serialization/Arrays"/>
              <c:Editable>true</c:Editable>
              <c:ErrorText>Неправильно указан город</c:ErrorText>
              <c:FieldDescription>Введите город</c:FieldDescription>
              <c:FieldName>City</c:FieldName>
              <c:FieldTitle>Город</c:FieldTitle>
              <c:FieldType>1</c:FieldType>
              <c:FieldsValue/>
              <c:HasError>true</c:HasError>
              <c:MaxLen>0</c:MaxLen>
              <c:MinLen>0</c:MinLen>
              <c:RegExprs>^.{1,50}$</c:RegExprs>
              <c:Required>true</c:Required>
              <c:UserType>1</c:UserType>
            </c:RegItemDescriptionContract>
            <c:RegItemDescriptionContract>
              <c:AvaliableValues xmlns:d="http://schemas.microsoft.com/2003/10/Serialization/Arrays"/>
              <c:Editable>true</c:Editable>
              <c:ErrorText>Укажите корректный почтовый индекс</c:ErrorText>
              <c:FieldDescription>Введите почтовый индекс</c:FieldDescription>
              <c:FieldName>PostalCode</c:FieldName>
              <c:FieldTitle>Почтовый индекс</c:FieldTitle>
              <c:FieldType>1</c:FieldType>
              <c:FieldsValue/>
              <c:HasError>true</c:HasError>
              <c:MaxLen>0</c:MaxLen>
              <c:MinLen>0</c:MinLen>
              <c:RegExprs>^[0-9]{1,6}$</c:RegExprs>
              <c:Required>true</c:Required>
              <c:UserType>1</c:UserType>
            </c:RegItemDescriptionContract>
            <c:RegItemDescriptionContract>
              <c:AvaliableValues xmlns:d="http://schemas.microsoft.com/2003/10/Serialization/Arrays"/>
              <c:Editable>true</c:Editable>
              <c:ErrorText>Длина поля должна составлять от 2 до 3 символов</c:ErrorText>
              <c:FieldDescription>Введите регион</c:FieldDescription>
              <c:FieldName>Region</c:FieldName>
              <c:FieldTitle>Код региона</c:FieldTitle>
              <c:FieldType>1</c:FieldType>
              <c:FieldsValue/>
              <c:HasError>true</c:HasError>
              <c:MaxLen>0</c:MaxLen>
              <c:MinLen>0</c:MinLen>
              <c:RegExprs>^.{2,3}$</c:RegExprs>
              <c:Required>true</c:Required>
              <c:UserType>1</c:UserType>
            </c:RegItemDescriptionContract>
            <c:RegItemDescriptionContract>
              <c:AvaliableValues xmlns:d="http://schemas.microsoft.com/2003/10/Serialization/Arrays"/>
              <c:Editable>true</c:Editable>
              <c:ErrorText>Неправильно указан адрес</c:ErrorText>
              <c:FieldDescription>Введите адрес</c:FieldDescription>
              <c:FieldName>Address</c:FieldName>
              <c:FieldTitle>Адрес</c:FieldTitle>
              <c:FieldType>1</c:FieldType>
              <c:FieldsValue/>
              <c:HasError>true</c:HasError>
              <c:MaxLen>0</c:MaxLen>
              <c:MinLen>0</c:MinLen>
              <c:RegExprs>^.{1,128}$</c:RegExprs>
              <c:Required>true</c:Required>
              <c:UserType>1</c:UserType>
            </c:RegItemDescriptionContract>
            <c:RegItemDescriptionContract>
              <c:AvaliableValues xmlns:d="http://schemas.microsoft.com/2003/10/Serialization/Arrays"/>
              <c:Editable>true</c:Editable>
              <c:ErrorText>Длина поля должна составлять от 10 до 12 символов</c:ErrorText>
              <c:FieldDescription>Введите ИНН</c:FieldDescription>
              <c:FieldName>Inn</c:FieldName>
              <c:FieldTitle>ИНН</c:FieldTitle>
              <c:FieldType>1</c:FieldType>
              <c:FieldsValue/>
              <c:HasError>true</c:HasError>
              <c:MaxLen>0</c:MaxLen>
              <c:MinLen>0</c:MinLen>
              <c:RegExprs>^.{10,12}$</c:RegExprs>
              <c:Required>true</c:Required>
              <c:UserType>1</c:UserType>
            </c:RegItemDescriptionContract>
            <c:RegItemDescriptionContract>
              <c:AvaliableValues xmlns:d="http://schemas.microsoft.com/2003/10/Serialization/Arrays"/>
              <c:Editable>false</c:Editable>
              <c:ErrorText>Длина поля должна быть не больше 18 символов</c:ErrorText>
              <c:FieldDescription>Введите телефон</c:FieldDescription>
              <c:FieldName>Phone</c:FieldName>
              <c:FieldTitle>Телефон</c:FieldTitle>
              <c:FieldType>1</c:FieldType>
              <c:FieldsValue/>
              <c:HasError>true</c:HasError>
              <c:MaxLen>0</c:MaxLen>
              <c:MinLen>0</c:MinLen>
              <c:RegExprs>^.{1,18}$</c:RegExprs>
              <c:Required>true</c:Required>
              <c:UserType>1</c:UserType>
            </c:RegItemDescriptionContract>
            <c:RegItemDescriptionContract>
              <c:AvaliableValues xmlns:d="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
                <d:string>Россия</d:string>
              </c:AvaliableValues>
              <c:Editable>true</c:Editable>
              <c:ErrorText>Не указана страна</c:ErrorText>
              <c:FieldDescription>Страна конечного пользователя</c:FieldDescription>
              <c:FieldName>CountryCode</c:FieldName>
              <c:FieldTitle>Страна</c:FieldTitle>
              <c:FieldType>1</c:FieldType>
              <c:FieldsValue/>
              <c:HasError>true</c:HasError>
              <c:MaxLen>0</c:MaxLen>
              <c:MinLen>0</c:MinLen>
              <c:RegExprs>^.{2,30}$</c:RegExprs>
              <c:Required>true</c:Required>
              <c:UserType>1</c:UserType>
            </c:RegItemDescriptionContract>
          </c:RegDescriptionFields>
          <c:Supplier>CREST</c:Supplier>
        </b:Data>
        <b:ErrorCode>0</b:ErrorCode>
        <b:ErrorText i:nil="true"/>
        <b:Errors/>
        <b:IsError>false</b:IsError>
      </ActivateSubscriberResult>
    </ActivateSubscriberResponse>
  </s:Body>
</s:Envelope>

IsSubscriberActivated

Параметры

НазваниеТипОписание
montSubscriberIdGuidИдентификатор подписчика
partNumstringПартномер товара, для которого проверяется активированность подписчика

Возвращаемое значение

ТипОписание
boolTrue если подписчик активирован для пользования продуктом, false - иначе

Описание

Метод используется для проверки активированности подписчика для пользования конкретным продуктом. Рекомендуется вызывать этот метод перед активаций подписчика, т.к. попытка активации активированного пользователя приведет к ошибке.

Возможные ошибки

КодТекст ошибки
2Продукт не найден
75Подписчик с указанным кодом не найден

Пример для XmlOverHttp

запрос

ответ

<?xml version="1.0" encoding="utf-8"?>
<IsSubscriberActivatedResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <IsSubscriberActivatedResult>
    <Data>true</Data>
    <IsError>false</IsError>
    <ErrorCode>0</ErrorCode>
    <Errors/>
  </IsSubscriberActivatedResult>
</IsSubscriberActivatedResponse>

Пример для SOAP

запрос

POST https://sandbox.mont.ru/Version2/Service/B2BServiceV2.svc

<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://www.w3.org/2005/08/addressing" xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
  <s:Header>
    <a:Action s:mustUnderstand="1">http://tempuri.org/IB2BServiceV2/IsSubscriberActivated</a:Action>
    <a:ReplyTo>
      <a:Address>http://www.w3.org/2005/08/addressing/anonymous</a:Address>
    </a:ReplyTo>
    <a:To s:mustUnderstand="1">https://sandbox.mont.ru/Version2/Service/B2BServiceV2.svc</a:To>
    <o:Security s:mustUnderstand="1" xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
      <o:UsernameToken>
        <o:Username>username</o:Username>
        <o:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">password</o:Password>
      </o:UsernameToken>
    </o:Security>
  </s:Header>
  <s:Body>
    <IsSubscriberActivated xmlns="http://tempuri.org/">
      <montSubscriberId>55173afd-3227-4b09-8c2a-8ef38c490708</montSubscriberId>
      <partNum>sub1</partNum>
    </IsSubscriberActivated>
  </s:Body>
</s:Envelope>

ответ

<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://www.w3.org/2005/08/addressing" xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
  <s:Header>
    <a:Action s:mustUnderstand="1">http://tempuri.org/IB2BServiceV2/IsSubscriberActivatedResponse</a:Action>
    <o:Security s:mustUnderstand="1" xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
      <u:Timestamp u:Id="_0">
        <u:Created>2015-10-05T14:28:23.355Z</u:Created>
        <u:Expires>2015-10-05T14:33:23.355Z</u:Expires>
      </u:Timestamp>
    </o:Security>
  </s:Header>
  <s:Body>
    <IsSubscriberActivatedResponse xmlns="http://tempuri.org/">
      <IsSubscriberActivatedResult xmlns:b="http://schemas.datacontract.org/2004/07/WebStore2.B2B.Version2.Contracts.Responses" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
        <b:Data>false</b:Data>
        <b:ErrorCode>0</b:ErrorCode>
        <b:ErrorText i:nil="true"/>
        <b:Errors/>
        <b:IsError>false</b:IsError>
      </IsSubscriberActivatedResult>
    </IsSubscriberActivatedResponse>
  </s:Body>
</s:Envelope>

GetActivationForm

Параметры

НазваниеТипОписание
partNumstringПартномер. Проверяется, активирована ли форма у соответствующего вендора, и собирается список правил, необходимых для заполнения формы
montSubscriberIdGuidидентификатор подписчика
langCodestringКод языка (например RU)

Возвращаемое значение

ТипОписание
RegistrationDescriptionContractПравила заполнения регистрационной формы

Описание

Метод используется для получения активационной формы, в которой содержатся правила заполнения полей для создания подписчика или его активации для пользования заданным продуктом. Если этот метод вызывается для нового подписчика, то значение montSubscriberId можно не передавать.

Возможные ошибки

КодТекст ошибки
2Продукт не найден
60Пользователь уже активирован
900Для заданного продукта не нужна активационная форма

Пример для XmlOverHttp

запрос

ответ

<?xml version="1.0" encoding="utf-8"?>
<GetActivationFormResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <GetActivationFormResult>
    <Data>
      <HasError>false</HasError>
      <Supplier>CREST</Supplier>
      <RegDescriptionFields>
        <RegItemDescriptionContract>
          <FieldName>Email</FieldName>
          <FieldTitle>Email</FieldTitle>
          <FieldDescription>Введите email</FieldDescription>
          <RegExprs>^([^@]*@[^@]*){1,128}$</RegExprs>
          <AvaliableValues/>
          <ErrorText>Укажите корректный Email</ErrorText>
          <HasError>false</HasError>
          <FieldType>1</FieldType>
          <UserType>1</UserType>
          <Required>true</Required>
          <Editable>true</Editable>
          <MinLen>1</MinLen>
          <MaxLen>128</MaxLen>
        </RegItemDescriptionContract>
        ...
        <RegItemDescriptionContract>
          <FieldName>CompanyName</FieldName>
          <FieldTitle>Название компании</FieldTitle>
          <FieldDescription>Введите название компании</FieldDescription>
          <RegExprs>^.{1,128}$</RegExprs>
          <AvaliableValues/>
          <ErrorText>Неправильно указано название компании</ErrorText>
          <HasError>false</HasError>
          <FieldType>1</FieldType>
          <UserType>1</UserType>
          <Required>true</Required>
          <Editable>true</Editable>
          <MinLen>1</MinLen>
          <MaxLen>128</MaxLen>
        </RegItemDescriptionContract>
      </RegDescriptionFields>
    </Data>
    <IsError>false</IsError>
    <ErrorCode>0</ErrorCode>
    <Errors/>
  </GetActivationFormResult>
</GetActivationFormResponse>

Пример для SOAP

запрос

POST https://sandbox.mont.ru/Version2/Service/B2BServiceV2.svc

<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://www.w3.org/2005/08/addressing" xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
  <s:Header>
    <a:Action s:mustUnderstand="1">http://tempuri.org/IB2BServiceV2/GetActivationForm</a:Action>
    <a:ReplyTo>
      <a:Address>http://www.w3.org/2005/08/addressing/anonymous</a:Address>
    </a:ReplyTo>
    <a:To s:mustUnderstand="1">https://sandbox.mont.ru/Version2/Service/B2BServiceV2.svc</a:To>
    <o:Security s:mustUnderstand="1" xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
      <o:UsernameToken>
        <o:Username>username</o:Username>
        <o:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">password</o:Password>
      </o:UsernameToken>
    </o:Security>
  </s:Header>
  <s:Body>
    <GetActivationForm xmlns="http://tempuri.org/">
      <partNum>clp-685</partNum>
<montSubscriptionId>55173afd-3227-4b09-8c2a-8ef38c490708</montSubscriptionId>
      <langCode>RU</langCode>
    </GetActivationForm>
  </s:Body>
</s:Envelope>

ответ

<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://www.w3.org/2005/08/addressing" xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
  <s:Header>
    <a:Action s:mustUnderstand="1">http://tempuri.org/IB2BServiceV2/GetActivationFormResponse</a:Action>
    <ActivityId CorrelationId="3b460880-02cc-43cc-a851-2c94b983f13c" xmlns="http://schemas.microsoft.com/2004/09/ServiceModel/Diagnostics">d0a5e327-5cc7-4060-9f06-f21ee8a5cafd</ActivityId>
    <o:Security s:mustUnderstand="1" xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
      <u:Timestamp u:Id="_0">
        <u:Created>2015-09-28T13:22:30.693Z</u:Created>
        <u:Expires>2015-09-28T13:27:30.693Z</u:Expires>
      </u:Timestamp>
    </o:Security>
  </s:Header>
  <s:Body>
    <GetActivationFormResponse xmlns="http://tempuri.org/">
      <GetActivationFormResult xmlns:b="http://schemas.datacontract.org/2004/07/WebStore2.B2B.Version2.Contracts.Responses" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
        <b:Data xmlns:c="http://schemas.datacontract.org/2004/07/WebStore2.B2B.Version2.Contracts.Subscriber">
          <c:HasError>false</c:HasError>
          <c:RegDescriptionFields>
            <c:RegItemDescriptionContract>
              <c:AvaliableValues xmlns:d="http://schemas.microsoft.com/2003/10/Serialization/Arrays"/>
              <c:Editable>true</c:Editable>
              <c:ErrorText>Укажите корректный Email</c:ErrorText>
              <c:FieldDescription>Введите email</c:FieldDescription>
              <c:FieldName>Email</c:FieldName>
              <c:FieldTitle>Email</c:FieldTitle>
              <c:FieldType>1</c:FieldType>
              <c:FieldsValue i:nil="true"/>
              <c:HasError>false</c:HasError>
              <c:MaxLen>0</c:MaxLen>
              <c:MinLen>0</c:MinLen>
              <c:RegExprs>^([^@]*@[^@]*){1,128}$</c:RegExprs>
              <c:Required>true</c:Required>
              <c:UserType>1</c:UserType>
            </c:RegItemDescriptionContract>
			...
            <c:RegItemDescriptionContract>
              <c:AvaliableValues xmlns:d="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
                <d:string>Россия</d:string>
              </c:AvaliableValues>
              <c:Editable>true</c:Editable>
              <c:ErrorText>Не указана страна</c:ErrorText>
              <c:FieldDescription>Страна конечного пользователя</c:FieldDescription>
              <c:FieldName>CountryCode</c:FieldName>
              <c:FieldTitle>Страна</c:FieldTitle>
              <c:FieldType>1</c:FieldType>
              <c:FieldsValue i:nil="true"/>
              <c:HasError>false</c:HasError>
              <c:MaxLen>0</c:MaxLen>
              <c:MinLen>0</c:MinLen>
              <c:RegExprs>^.{2,30}$</c:RegExprs>
              <c:Required>true</c:Required>
              <c:UserType>1</c:UserType>
            </c:RegItemDescriptionContract>
          </c:RegDescriptionFields>
          <c:Supplier>CREST</c:Supplier>
        </b:Data>
        <b:ErrorCode>0</b:ErrorCode>
        <b:ErrorText i:nil="true"/>
        <b:Errors/>
        <b:IsError>false</b:IsError>
      </GetActivationFormResult>
    </GetActivationFormResponse>
  </s:Body>
</s:Envelope>

ActivateSubscriber

Параметры

НазваниеТипОписание
activationFormarray of RegItemContractЗаполненная активационная форма. Правила её заполнения можно получить с помощью метода GetActivationForm
montSubscriberIdGuidИдентификатор подписчика. Если подписчика еще нет в системе Mont (т.е. он создается), то он должен быть сгенерирован пользователем, и представлять из себя UUID
partNumstringПартномер товара, на который оформляется подписка
langCodestringКод языка описания активационной формы (например RU)

Возвращаемое значение

ТипОписание
RegistrationDescriptionContractОшибки заполнения полей регистрационной формы

Описание

Метод используется для создания подписчика(если его не было в системе Mont Webstore) и для его активации у поставщика для пользования конкретным продуктом. В случае, если подписчик уже был активирован у данного поставщика, то возникнет ошибка “Пользователь уже активирован”. Узнать, активирован-ли подписчик, можно с помощью метода IsSubscriberActivated.

Возвращаемые ошибки (тег <ActivateSubscriberResult><ErrorCode>)

КодТекст ошибки
2Продукт не найден
60Пользователь уже активирован
806Данные для пользователя заведены неправильно

Возможные уточняющие ошибки, специфичные для некоторого вендора (тег <ActivateSubscriberResult><Errors>)

Данные ошибки являются необязательными, и могут содержаться в ответе сервиса только при указании основной ошибки в теге <ErrorCode>.

КодТекст ошибки
30002 domain is already used by another tenant

Пример для XmlOverHttp

запрос

POST https://sandbox.mont.ru/Version2/Service/B2BServiceV2Xml.svc/ActivateSubscriber

<?xml version="1.0" encoding="utf-8" ?>
<ActivateSubscriber>
  <montSubscriberId>25173afd-3227-4b09-8c2a-8ef38c490708</montSubscriberId>
  <partNum>cloud-odfbwoo</partNum>
  <langCode>RU</langCode>
  <activationForm>
    <RegItems>
      <RegItemContract>
        <FieldName>Email</FieldName>
        <FieldValue>foo@bar.com</FieldValue>
      </RegItemContract>
      <RegItemContract>
        <FieldName>FirstName</FieldName>
        <FieldValue>Tommy</FieldValue>
      </RegItemContract>
    </RegItems>
  </activationForm>
</ActivateSubscriber>	

ответ

<?xml version="1.0" encoding="utf-8"?>
<ActivateSubscriberResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <ActivateSubscriberResult>
    <IsError>false</IsError>
    <ErrorCode>0</ErrorCode>
    <Errors/>
    <Data>
      <HasError>true</HasError>
      <Supplier>CREST</Supplier>
      <RegDescriptionFields>
        <RegItemDescriptionContract>
          <FieldName>Email</FieldName>
          <FieldTitle>Email</FieldTitle>
          <FieldDescription>Введите email</FieldDescription>
          <RegExprs>^([^@]*@[^@]*){1,128}$</RegExprs>
          <FieldsValue>foo@bar.com</FieldsValue>
          <AvaliableValues/>
          <ErrorText>Укажите корректный Email</ErrorText>
          <HasError>false</HasError>
          <FieldType>1</FieldType>
          <UserType>1</UserType>
          <Required>true</Required>
          <Editable>true</Editable>
          <MinLen>1</MinLen>
          <MaxLen>128</MaxLen>
        </RegItemDescriptionContract>
        ...
        <RegItemDescriptionContract>
          <FieldName>CountryCode</FieldName>
          <FieldTitle>Страна</FieldTitle>
          <FieldDescription>Страна конечного пользователя</FieldDescription>
          <RegExprs>^.{6,11}$</RegExprs>
          <FieldsValue/>
          <AvaliableValues>
            <string>Россия</string>
          </AvaliableValues>
          <ErrorText>Неправильно указана страна</ErrorText>
          <HasError>true</HasError>
          <FieldType>3</FieldType>
          <UserType>1</UserType>
          <Required>true</Required>
          <Editable>true</Editable>
          <MinLen>6</MinLen>
          <MaxLen>11</MaxLen>
        </RegItemDescriptionContract>
      </RegDescriptionFields>
    </Data>
  </ActivateSubscriberResult>
</ActivateSubscriberResponse>

Пример для SOAP

запрос

POST https://sandbox.mont.ru/Version2/Service/B2BServiceV2.svc

<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://www.w3.org/2005/08/addressing" xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
  <s:Header>
    <a:Action s:mustUnderstand="1">http://tempuri.org/IB2BServiceV2/ActivateSubscriber</a:Action>
    <a:ReplyTo>
      <a:Address>http://www.w3.org/2005/08/addressing/anonymous</a:Address>
    </a:ReplyTo>
    <a:To s:mustUnderstand="1">https://sandbox.mont.ru/Version2/Service/B2BServiceV2.svc</a:To>
    <o:Security s:mustUnderstand="1" xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
      <o:UsernameToken>
        <o:Username>username</o:Username>
        <o:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">password</o:Password>
      </o:UsernameToken>
    </o:Security>
  </s:Header>
  <s:Body>
    <ActivateSubscriber xmlns="http://tempuri.org/">
      <activationForm xmlns:b="http://schemas.datacontract.org/2004/07/WebStore2.B2B.Version2.Contracts.Subscriber" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
        <b:RegItemContract>
          <b:FieldName>Email</b:FieldName>
          <b:FieldValue>aaaa</b:FieldValue>
        </b:RegItemContract>
        <b:RegItemContract>
          <b:FieldName>FirstName</b:FieldName>
          <b:FieldValue>bbbb</b:FieldValue>
        </b:RegItemContract>
      </activationForm>
      <montSubscriberId>55173afd-3227-4b09-8c2a-8ef38c490708</montSubscriberId>
      <partNum>sub1</partNum>
      <langCode>RU</langCode>
    </ActivateSubscriber>
  </s:Body>
</s:Envelope>

ответ

<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://www.w3.org/2005/08/addressing" xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
  <s:Header>
    <a:Action s:mustUnderstand="1">http://tempuri.org/IB2BServiceV2/ActivateSubscriberResponse</a:Action>
    <o:Security s:mustUnderstand="1" xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
      <u:Timestamp u:Id="_0">
        <u:Created>2015-09-30T14:23:46.378Z</u:Created>
        <u:Expires>2015-09-30T14:28:46.378Z</u:Expires>
      </u:Timestamp>
    </o:Security>
  </s:Header>
  <s:Body>
    <ActivateSubscriberResponse xmlns="http://tempuri.org/">
      <ActivateSubscriberResult xmlns:b="http://schemas.datacontract.org/2004/07/WebStore2.B2B.Version2.Contracts.Responses" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
        <b:Data xmlns:c="http://schemas.datacontract.org/2004/07/WebStore2.B2B.Version2.Contracts.Subscriber">
          <c:HasError>true</c:HasError>
          <c:RegDescriptionFields>
            <c:RegItemDescriptionContract>
              <c:AvaliableValues xmlns:d="http://schemas.microsoft.com/2003/10/Serialization/Arrays"/>
              <c:Editable>true</c:Editable>
              <c:ErrorText>Укажите корректный Email</c:ErrorText>
              <c:FieldDescription>Введите email</c:FieldDescription>
              <c:FieldName>Email</c:FieldName>
              <c:FieldTitle>Email</c:FieldTitle>
              <c:FieldType>1</c:FieldType>
              <c:FieldsValue>aaaa</c:FieldsValue>
              <c:HasError>true</c:HasError>
              <c:MaxLen>0</c:MaxLen>
              <c:MinLen>0</c:MinLen>
              <c:RegExprs>^([^@]*@[^@]*){1,128}$</c:RegExprs>
              <c:Required>true</c:Required>
              <c:UserType>1</c:UserType>
            </c:RegItemDescriptionContract>
            <c:RegItemDescriptionContract>
              <c:AvaliableValues xmlns:d="http://schemas.microsoft.com/2003/10/Serialization/Arrays"/>
              <c:Editable>true</c:Editable>
              <c:ErrorText>Неправильно указано название компании</c:ErrorText>
              <c:FieldDescription>Введите название компании</c:FieldDescription>
              <c:FieldName>CompanyName</c:FieldName>
              <c:FieldTitle>Название компании</c:FieldTitle>
              <c:FieldType>1</c:FieldType>
              <c:FieldsValue/>
              <c:HasError>true</c:HasError>
              <c:MaxLen>0</c:MaxLen>
              <c:MinLen>0</c:MinLen>
              <c:RegExprs>^.{1,128}$</c:RegExprs>
              <c:Required>true</c:Required>
              <c:UserType>1</c:UserType>
            </c:RegItemDescriptionContract>
            <c:RegItemDescriptionContract>
              <c:AvaliableValues xmlns:d="http://schemas.microsoft.com/2003/10/Serialization/Arrays"/>
              <c:Editable>false</c:Editable>
              <c:ErrorText>Укажите корректный Domain Prefix</c:ErrorText>
              <c:FieldDescription>Введите domain prefix</c:FieldDescription>
              <c:FieldName>DomainPrefix</c:FieldName>
              <c:FieldTitle>Domain prefix</c:FieldTitle>
              <c:FieldType>1</c:FieldType>
              <c:FieldsValue/>
              <c:HasError>true</c:HasError>
              <c:MaxLen>0</c:MaxLen>
              <c:MinLen>0</c:MinLen>
              <c:RegExprs>^.{1,128}$</c:RegExprs>
              <c:Required>true</c:Required>
              <c:UserType>1</c:UserType>
            </c:RegItemDescriptionContract>
            <c:RegItemDescriptionContract>
              <c:AvaliableValues xmlns:d="http://schemas.microsoft.com/2003/10/Serialization/Arrays"/>
              <c:Editable>true</c:Editable>
              <c:ErrorText>Неправильно указано имя</c:ErrorText>
              <c:FieldDescription>Введите имя</c:FieldDescription>
              <c:FieldName>FirstName</c:FieldName>
              <c:FieldTitle>Имя</c:FieldTitle>
              <c:FieldType>1</c:FieldType>
              <c:FieldsValue>bbbb</c:FieldsValue>
              <c:HasError>false</c:HasError>
              <c:MaxLen>0</c:MaxLen>
              <c:MinLen>0</c:MinLen>
              <c:RegExprs>^.{1,50}$</c:RegExprs>
              <c:Required>true</c:Required>
              <c:UserType>1</c:UserType>
            </c:RegItemDescriptionContract>
            <c:RegItemDescriptionContract>
              <c:AvaliableValues xmlns:d="http://schemas.microsoft.com/2003/10/Serialization/Arrays"/>
              <c:Editable>true</c:Editable>
              <c:ErrorText>Неправильно указана фамилия</c:ErrorText>
              <c:FieldDescription>Введите фамилию</c:FieldDescription>
              <c:FieldName>LastName</c:FieldName>
              <c:FieldTitle>Фамилия</c:FieldTitle>
              <c:FieldType>1</c:FieldType>
              <c:FieldsValue/>
              <c:HasError>true</c:HasError>
              <c:MaxLen>0</c:MaxLen>
              <c:MinLen>0</c:MinLen>
              <c:RegExprs>^.{1,50}$</c:RegExprs>
              <c:Required>true</c:Required>
              <c:UserType>1</c:UserType>
            </c:RegItemDescriptionContract>
            <c:RegItemDescriptionContract>
              <c:AvaliableValues xmlns:d="http://schemas.microsoft.com/2003/10/Serialization/Arrays"/>
              <c:Editable>true</c:Editable>
              <c:ErrorText>Неправильно указан город</c:ErrorText>
              <c:FieldDescription>Введите город</c:FieldDescription>
              <c:FieldName>City</c:FieldName>
              <c:FieldTitle>Город</c:FieldTitle>
              <c:FieldType>1</c:FieldType>
              <c:FieldsValue/>
              <c:HasError>true</c:HasError>
              <c:MaxLen>0</c:MaxLen>
              <c:MinLen>0</c:MinLen>
              <c:RegExprs>^.{1,50}$</c:RegExprs>
              <c:Required>true</c:Required>
              <c:UserType>1</c:UserType>
            </c:RegItemDescriptionContract>
            <c:RegItemDescriptionContract>
              <c:AvaliableValues xmlns:d="http://schemas.microsoft.com/2003/10/Serialization/Arrays"/>
              <c:Editable>true</c:Editable>
              <c:ErrorText>Укажите корректный почтовый индекс</c:ErrorText>
              <c:FieldDescription>Введите почтовый индекс</c:FieldDescription>
              <c:FieldName>PostalCode</c:FieldName>
              <c:FieldTitle>Почтовый индекс</c:FieldTitle>
              <c:FieldType>1</c:FieldType>
              <c:FieldsValue/>
              <c:HasError>true</c:HasError>
              <c:MaxLen>0</c:MaxLen>
              <c:MinLen>0</c:MinLen>
              <c:RegExprs>^[0-9]{1,6}$</c:RegExprs>
              <c:Required>true</c:Required>
              <c:UserType>1</c:UserType>
            </c:RegItemDescriptionContract>
            <c:RegItemDescriptionContract>
              <c:AvaliableValues xmlns:d="http://schemas.microsoft.com/2003/10/Serialization/Arrays"/>
              <c:Editable>true</c:Editable>
              <c:ErrorText>Длина поля должна составлять от 2 до 3 символов</c:ErrorText>
              <c:FieldDescription>Введите регион</c:FieldDescription>
              <c:FieldName>Region</c:FieldName>
              <c:FieldTitle>Код региона</c:FieldTitle>
              <c:FieldType>1</c:FieldType>
              <c:FieldsValue/>
              <c:HasError>true</c:HasError>
              <c:MaxLen>0</c:MaxLen>
              <c:MinLen>0</c:MinLen>
              <c:RegExprs>^.{2,3}$</c:RegExprs>
              <c:Required>true</c:Required>
              <c:UserType>1</c:UserType>
            </c:RegItemDescriptionContract>
            <c:RegItemDescriptionContract>
              <c:AvaliableValues xmlns:d="http://schemas.microsoft.com/2003/10/Serialization/Arrays"/>
              <c:Editable>true</c:Editable>
              <c:ErrorText>Неправильно указан адрес</c:ErrorText>
              <c:FieldDescription>Введите адрес</c:FieldDescription>
              <c:FieldName>Address</c:FieldName>
              <c:FieldTitle>Адрес</c:FieldTitle>
              <c:FieldType>1</c:FieldType>
              <c:FieldsValue/>
              <c:HasError>true</c:HasError>
              <c:MaxLen>0</c:MaxLen>
              <c:MinLen>0</c:MinLen>
              <c:RegExprs>^.{1,128}$</c:RegExprs>
              <c:Required>true</c:Required>
              <c:UserType>1</c:UserType>
            </c:RegItemDescriptionContract>
            <c:RegItemDescriptionContract>
              <c:AvaliableValues xmlns:d="http://schemas.microsoft.com/2003/10/Serialization/Arrays"/>
              <c:Editable>true</c:Editable>
              <c:ErrorText>Длина поля должна составлять от 10 до 12 символов</c:ErrorText>
              <c:FieldDescription>Введите ИНН</c:FieldDescription>
              <c:FieldName>Inn</c:FieldName>
              <c:FieldTitle>ИНН</c:FieldTitle>
              <c:FieldType>1</c:FieldType>
              <c:FieldsValue/>
              <c:HasError>true</c:HasError>
              <c:MaxLen>0</c:MaxLen>
              <c:MinLen>0</c:MinLen>
              <c:RegExprs>^.{10,12}$</c:RegExprs>
              <c:Required>true</c:Required>
              <c:UserType>1</c:UserType>
            </c:RegItemDescriptionContract>
            <c:RegItemDescriptionContract>
              <c:AvaliableValues xmlns:d="http://schemas.microsoft.com/2003/10/Serialization/Arrays"/>
              <c:Editable>false</c:Editable>
              <c:ErrorText>Длина поля должна быть не больше 18 символов</c:ErrorText>
              <c:FieldDescription>Введите телефон</c:FieldDescription>
              <c:FieldName>Phone</c:FieldName>
              <c:FieldTitle>Телефон</c:FieldTitle>
              <c:FieldType>1</c:FieldType>
              <c:FieldsValue/>
              <c:HasError>true</c:HasError>
              <c:MaxLen>0</c:MaxLen>
              <c:MinLen>0</c:MinLen>
              <c:RegExprs>^.{1,18}$</c:RegExprs>
              <c:Required>true</c:Required>
              <c:UserType>1</c:UserType>
            </c:RegItemDescriptionContract>
            <c:RegItemDescriptionContract>
              <c:AvaliableValues xmlns:d="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
                <d:string>Россия</d:string>
              </c:AvaliableValues>
              <c:Editable>true</c:Editable>
              <c:ErrorText>Не указана страна</c:ErrorText>
              <c:FieldDescription>Страна конечного пользователя</c:FieldDescription>
              <c:FieldName>CountryCode</c:FieldName>
              <c:FieldTitle>Страна</c:FieldTitle>
              <c:FieldType>1</c:FieldType>
              <c:FieldsValue/>
              <c:HasError>true</c:HasError>
              <c:MaxLen>0</c:MaxLen>
              <c:MinLen>0</c:MinLen>
              <c:RegExprs>^.{2,30}$</c:RegExprs>
              <c:Required>true</c:Required>
              <c:UserType>1</c:UserType>
            </c:RegItemDescriptionContract>
          </c:RegDescriptionFields>
          <c:Supplier>CREST</c:Supplier>
        </b:Data>
        <b:ErrorCode>0</b:ErrorCode>
        <b:ErrorText i:nil="true"/>
        <b:Errors/>
        <b:IsError>false</b:IsError>
      </ActivateSubscriberResult>
    </ActivateSubscriberResponse>
  </s:Body>
</s:Envelope>