Внимание! Документация была немного переработана. Ознакомиться с новой версией можно по ссылке
Система Webstore предназначена для интеграции с электронными торговыми системами по продаже лицензионного ПО посредством электронных каналов дистрибуции.
Целью системы является предоставление возможности авторизованным партнерам группы компаний MONT получать актуальную информацию об электронных продуктах, доступных через каналы электронной поставки ПО, размещать заказы и получать ключи напрямую от вендора.
Система Webstore является собственной разработкой компании «MONT технологии» и ей же принадлежит.
Перейти на страницу документации по автоматической интеграции
Интерактивная версия документации доступна по адресу http://sandbox.webstore.mont.ru/wiki
Интеграция партнера с сервисами MONT состоит из двух этапов:
Все сервисы MONT доступны не только в боевом окружении, но и на тестовой площадке (песочнице). Для поддержания целостности системы,в процессе разработки партнеры могут работать только с песочницей. Для получения доступа необходимо написать письмо на webstore_support@mont.com с темой «Тестовый доступ для автоматического размещения заказов». В ответ вы получите тестовые логин и пароль.
Когда партнер считает, что с его стороны интеграция завершена и он готов к переключению в боевой режим, ему необходимо написать письмо на webstore_support@mont.com с темой «Боевой доступ для автоматического размещения заказов» После успешного завершения тестирования партнеру будет создан пользователь в боевом контуре.
Для оперативного ответа специалистов МОНТ соблюдайте рекомендации по обращению в службу поддержки
В данном разделе описана техническая сторона интеграции c сервисами MONT Webstore.
Cистема представляет из себя несколько веб-сервисов, доступ к которомым осуществляется с помощью прикладного протокола HTTPS. Для каждого сервиса существует 2 протокола, с помощью которых можно взаимодействовать с сервисом - XML over HTTP и SOAP.
XML over HTTP подразумевает 2 типа запроса к серверу:
В обоих случаях ответом сервиса является XML, содержащий десериализованный объект ответа. Для каждого метода в его описании приводятся примеры запросов и ответов сервера, что можно использовать при реализации своего программного обеспечения для формирования нужных запросов. Необходимый ContentType: «application/xml»
Для работы некоторых методов веб-сервисов необходима авторизация. В случае XML over HTTP для этого используется Basic Authentication Scheme, стандартизированная W3C.
Рассмотрим пример использования веб-сервиса на языке 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 - стандартизированный протокол обмена структурированными сообщениями. В случае использования этого протокола подключения все запросы должны иметь тип «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 для всех методов одинакова:
Структура блока 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 |
UUID | 86F40D0B-AB83-4E42-87B6-3A5F0220AC74 | Статистически уникальный 128-битный идентификатор. Существует несколько реализаций стандарта UUID, например реализация от Microsoft - GUID |
Ниже приведены некоторые комментарии по описанным выше типам данных и их методах описания в API.
Значение NULL и в XML over HTTP, и в SOAP кодируется следующим образом(на примере поля ParentId):
<ParentId i:nil="true" />
Соответственно, если значение этого поля будет отлично от NULL, то это должно описываться таким образом:
<ParentId>25</ParentId>
T? - это специальный тип для описания поля, которое может иметь как значение типа T, так и значение NULL. Необходимо это учитывать при вызове методов и при обработке их результатов.
Если рассматривать случай с SOAP при использовании WSDL, то возможны несколько вариантов распознавания такого типа используемым языком программирования:
Следует обратить внимание на то, каким образом будут заполняться поля типа “Массив” при использовании протокола XML over HTTP. Рассмотрим 2 примера для этого типа данных:
... <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> ...
... <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> ...
Данный API позволяет создавать подписки, изменять их, управлять подписчиками и синхронизировать цены в своей системе (системе реселлера).
Создание новой подписки всегда производится через создание заказа. При успешно созданном заказе будет создана и активирована новая подписка. Некоторые подписки (в зависимости от вендора) требуют заполнения лиц. формы. Одним из полей этой лиц. формы может стать согласие с дополнительными условиями поставки, использования и пр. (доп. соглашение)
Когда заказывается подписка на нового пользователя, необходимо сперва получить поля активационной формы для заполнения. Реселлер на своей стороне создает уникальный идентификатор подписчика и посылает запрос на создание подписчика с этим идентификатором со всеми заполненными полями. Если метод не вернул ошибку, следовательно, подписчик создан и активрован на стороне вендора.
Ниже представлен граф изменения статусов подписки. Из этого рисунка видно, что при остановке подписки из состояния активна или при запуске подписки из состояния остановлена, она не перейдет сразу в требуемое состояние. Ее статус изменится в определенный промежуточный статус. Система реселлера должна уметь периодически синхронизировать состояния изменившихся подписок. Для этого необходимо использовать методы GetSubscription и GetSubscriptionsId. Получив в первый раз все подписки (прислав запрос на получение подписок для 0 версии изменений), вместе с подписками следует сохранить пришедшую в ответе последнюю версию изменений. После этого периодически (например, раз в 10 минут) получайте изменившиеся подписки для вашей версии и перезаписывайте ее пришедшей последней версией изменений.
Для синхронизации цен в системе реселлера используйте метод GetPriceChanges
Перед созданием подписки необходимо получить, заполнить и передать правильно заполненную активационную форму с данными о подписчике. Информация о подписчике будет передана соответствующему вендору, и подписчик будет создан и активирован на стороне вендора. После этого можно размещать заказ, который будет содержать в себе подписку и активированного подписчика.
В случае когда производится покупка на существующего пользователя (есть идентификатор подписчика, и он уже что-то ранее заказывал) необходимо «понять» нужно ли активировать подписчика у вендора. Для этого сначала вызывается метод IsSubscriberActivated. Если метод вернул значение false вызывается метод получения активационной формы, а затем метод активации пользователя.
В API (аналогично синхронизации подписок) существуют 2 метода для синхронизации подписчиков. Если подписчики будут создаваться не только через API, но и через другие сторонние системы (например, через Edmont), может возникнуть необходимость в синхронизации списка подписчиков на стороне реселлера.
В данном разделе приведен список точек доступа к данному API.
Тест/Бой | Протокол | Адрес |
Тестовый | XML over HTTP | https://sandbox.mont.ru/version2/Service/B2BServiceV2Xml.svc |
Тестовый | SOAP | https://sandbox.mont.ru/version2/Service/B2BServiceV2.svc |
Боевой | XML over HTTP | https://webstore.mont.ru/version2/Service/B2BServiceV2Xml.svc |
Боевой | SOAP | https://webstore.mont.ru/version2/Service/B2BServiceV2.svc |
Список доступных методов сервиса MONT eKey & CSP API
Вы можете скачать тестовый пример из гит-репозитория.
Метод используется для получения списка измененных товаров, начиная с указанной версии. В текущей реализации версионность более не поддерживается и на любое переданное значение параметра (версии) будет возвращаться актуальная версия системы, и список всех доступных пользователю продуктов (как в случае передачи параметра 0). Для корректности рекомендуется каждый раз передавать 0, получать список товаров и полностью обновлять его в своей системе.
Название | Тип | Описание |
---|---|---|
version | int64 | Последняя версия изменений цен в системе реселлера. Всегда нужно передавать 0 |
Тип | Описание |
---|---|
PriceChangesContract | Объект с измененными ценами, у которых версия больше, чем указанное в параметре значение version |
Тип | Название | Описание |
---|---|---|
Int64 | version | Версия последнего обновления в системе реселлера |
bool | byAllLogins | Параметр true, когда необходимо получить подписки, созданные любым из логинов юрлица |
Тип | Название | Описание |
---|---|---|
Array of string | Ids | Список идентификаторов подписок |
Int64 | LastVersion | Последняя версия изменений данных о подписках |
Метод возвращает идентификаторы - номера всех подписок, которые были изменены, у которых версия больше указанной. Если byAllLogins = true, метод вернет все подписки, созданные всеми логинами юр. лица, относящегося к Вашему логину. Если byAllLogins = true, метод вернет только те подписки, которые были созданы только из-под вашего логина.
<?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>
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>
Название | Тип | Описание |
---|---|---|
subscriptionNum | string | Идентификатор подписки |
Тип | Описание |
---|---|
SubscriptionContract | Модель подписки |
Возвращает информацию о подписке по ее номеру.
Код | Текст ошибки |
---|---|
74 | Подписка с указанным кодом не найдена |
<?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>
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.
 at VendorStubs.API.StubCores.Crest.CrestServerCore.<CreateOrder>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>
Название | Тип | Описание |
---|---|---|
montSubscriptionId | string | Идентификатор подписки |
byEndUser | bool | признак того, что действие осуществляется конечным пользователем. Знчение должно быть true если инициатор действия - конечный пользователь, false - если инициатор реселлер |
Тип | Описание |
---|---|
SubscriptionContract | Модель подписки |
Метод используется для активации остановленной подписки. Ответом метода является полный объект подписки, в котором указано её состояние после вызова метода. Если на момент вызова метода подписка уже была активна, то её статус так и останется “Активна” - подписка не будет изменена. Если подписка была остановлена - то она перейдет в статус “Запускается”, а через некоторое время(в штатной ситуации в течении минуты) в статус “Активна”. Если подписка была в каком-либо другом статусе - вернется ошибка с кодом “90”.
Код | Текст ошибки |
---|---|
30 | Операция не может быть выполнена, попробуйте позже |
74 | Подписка с указанным кодом не найдена |
90 | Подписка находится в незавершенном состоянии |
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>
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>
Название | Тип | Описание |
---|---|---|
montSubscriptionId | string | Идентификатор подписки |
byEndUser | bool | признак того, что действие осуществляется конечным пользователем. Знчение должно быть true если инициатор действия - конечный пользователь, false - если инициатор реселлер |
Тип | Описание |
---|---|
SubscriptionContract | Модель подписки |
Метод используется для остановки активной подписки. Ответом метода является полный объект подписки, в котором указано её состояние после вызова метода. Если на момент вызова метода подписка уже была остановлена, то её статус так и останется “Остановлена” - подписка не будет изменена. Если подписка была в статусе “Активна” - то она перейдет в статус “Останавливается”, а через некоторое время(в штатной ситуации в течении минуты) в статус “Остановлена”. Если подписка была в каком-либо другом статусе - вернется ошибка с кодом “90”.
Код | Текст ошибки |
---|---|
30 | Операция не может быть выполнена, попробуйте позже |
74 | Подписка с указанным кодом не найдена |
90 | Подписка находится в незавершенном состоянии |
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>
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>
Название | Тип | Описание |
---|---|---|
montSubscriptionId | string | Идентификатор подписки |
endDate | DateTime? | новая дата окончания действия подписки(в формате DateTime, если дата есть, или пустая строка) |
Тип | Описание |
---|---|
SubscriptionContract | Модель подписки |
Метод используется для изменения даты окончания подписки. В указанную дату, в конце дня(по московскому времени), подписка будет заблокирована. Если передать в качестве второго параметра значение “null”, то подписка будет автоматически продляться, и её срок действия не будет ограничен.
Ответом метода является полный объект подписки, в котором указано её состояние после вызова метода. Для того, чтобы изменения прошли успешно, новая дата окончания должна быть не раньше дня вызова метода, а подписка должна быть в состоянии “Активна”.
Код | Текст ошибки |
---|---|
30 | Операция не может быть выполнена, попробуйте позже |
62 | Дата автостопа не может быть меньше текущей |
74 | Подписка с указанным кодом не найдена |
90 | Подписка находится в незавершенном состоянии |
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>
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>
Название | Тип | Описание |
---|---|---|
montSubscriptionId | string | Идентификатор подписки |
byEndUser | bool | признак того, что действие осуществляется конечным пользователем. Значение должно быть true если инициатор действия - конечный пользователь, false - если инициатор реселлер |
newQuantity | int | новое количество пользователей |
Тип | Описание |
---|---|
SubscriptionContract | Модель подписки |
Метод используется для изменения количества пользователей у активной подписки. Ответом метода является полный объект подписки, в котором указано её состояние после вызова метода. Если на момент вызова метода подписка была активна, то её статус перейдет в статус «Обновление». После обновления параметров подписка опять перейдет в статус активна уже с новым количеством пользователей. Если в момент вызова подписка была в каком-либо другом статусе - вернется ошибка с кодом “90”.
Код | Текст ошибки |
---|---|
17 | Количество задано не верно |
30 | Операция не может быть выполнена, попробуйте позже |
74 | Подписка с указанным кодом не найдена |
90 | Подписка находится в незавершенном состоянии |
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>
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>
Тип | Название | Описание |
---|---|---|
Int64 | version | Версия последнего обновления в системе реселлера |
bool | byAllLogins | Параметр true, когда необходимо получить подписчиков, созданных любым из логинов юрлица |
Тип | Название | Описание |
---|---|---|
Array of string | Ids | Список идентификаторов подписчиков |
Int64 | LastVersion | Последняя версия изменений данных о подписчиках |
Возвращает всех подписчиков, которые имеют более позднюю версию, чем указанное в параметре значение version. Если второй параметр false, то будут возвращаться идентификаторы подписчиков, созданных из-под вашего логина, т.е. логина реселлера. Если второй параметр true, будут возвращаться идентификаторы изменившихся подписчиков, созданных всеми логинами вашего юр. лица. (Если у вас несколько юридических лиц, тогда все подписчики того юридического лица, к которому относится логин, от которого поступил запрос)
<?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>
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>
Название | Тип | Описание |
---|---|---|
id | Guid | Идентификатор подписчика |
Тип | Описание |
---|---|
WebStoreSubscriberContract | Модель подписчика |
Возвращает информацию о подписчике с определенным идентификатором.
Код | Текст ошибки |
---|---|
807 | Не удалось преобразовать входную строку в тип GUID. Проверьте правильность ввода идентификатора |
75 | Подписчик с указанным кодом не найден |
<?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>
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>
Название | Тип | Описание |
---|---|---|
activationForm | array of RegItemContract | Заполненная активационная форма. Правила её заполнения можно получить с помощью метода GetActivationForm |
montSubscriberId | Guid | Идентификатор подписчика. Если подписчика еще нет в системе Mont (т.е. он создается), то он должен быть сгенерирован пользователем, и представлять из себя UUID |
partNum | string | Партномер товара, на который оформляется подписка |
langCode | string | Код языка описания активационной формы (например RU) |
Тип | Описание |
---|---|
RegistrationDescriptionContract | Ошибки заполнения полей регистрационной формы |
Метод используется для создания подписчика(если его не было в системе Mont Webstore) и для его активации у поставщика для пользования конкретным продуктом. В случае, если подписчик уже был активирован у данного поставщика, то возникнет ошибка “Пользователь уже активирован”. Узнать, активирован-ли подписчик, можно с помощью метода IsSubscriberActivated.
Код | Текст ошибки |
---|---|
2 | Продукт не найден |
60 | Пользователь уже активирован |
806 | Данные для пользователя заведены неправильно |
Данные ошибки являются необязательными, и могут содержаться в ответе сервиса только при указании основной ошибки в теге <ErrorCode>.
Код | Текст ошибки |
---|---|
30002 | domain is already used by another tenant |
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>
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>
Название | Тип | Описание |
---|---|---|
montSubscriberId | Guid | Идентификатор подписчика |
partNum | string | Партномер товара, для которого проверяется активированность подписчика |
Тип | Описание |
---|---|
bool | True если подписчик активирован для пользования продуктом, false - иначе |
Метод используется для проверки активированности подписчика для пользования конкретным продуктом. Рекомендуется вызывать этот метод перед активаций подписчика, т.к. попытка активации активированного пользователя приведет к ошибке.
Код | Текст ошибки |
---|---|
2 | Продукт не найден |
75 | Подписчик с указанным кодом не найден |
<?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>
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>
Название | Тип | Описание |
---|---|---|
partNum | string | Партномер. Проверяется, активирована ли форма у соответствующего вендора, и собирается список правил, необходимых для заполнения формы |
montSubscriberId | Guid | идентификатор подписчика |
langCode | string | Код языка (например RU) |
Тип | Описание |
---|---|
RegistrationDescriptionContract | Правила заполнения регистрационной формы |
Метод используется для получения активационной формы, в которой содержатся правила заполнения полей для создания подписчика или его активации для пользования заданным продуктом. Если этот метод вызывается для нового подписчика, то значение montSubscriberId можно не передавать.
Код | Текст ошибки |
---|---|
2 | Продукт не найден |
60 | Пользователь уже активирован |
900 | Для заданного продукта не нужна активационная форма |
или
<?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>
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>
Название | Тип | Описание |
---|---|---|
activationForm | array of RegItemContract | Заполненная активационная форма. Правила её заполнения можно получить с помощью метода GetActivationForm |
montSubscriberId | Guid | Идентификатор подписчика. Если подписчика еще нет в системе Mont (т.е. он создается), то он должен быть сгенерирован пользователем, и представлять из себя UUID |
partNum | string | Партномер товара, на который оформляется подписка |
langCode | string | Код языка описания активационной формы (например RU) |
Тип | Описание |
---|---|
RegistrationDescriptionContract | Ошибки заполнения полей регистрационной формы |
Метод используется для создания подписчика(если его не было в системе Mont Webstore) и для его активации у поставщика для пользования конкретным продуктом. В случае, если подписчик уже был активирован у данного поставщика, то возникнет ошибка “Пользователь уже активирован”. Узнать, активирован-ли подписчик, можно с помощью метода IsSubscriberActivated.
Код | Текст ошибки |
---|---|
2 | Продукт не найден |
60 | Пользователь уже активирован |
806 | Данные для пользователя заведены неправильно |
Данные ошибки являются необязательными, и могут содержаться в ответе сервиса только при указании основной ошибки в теге <ErrorCode>.
Код | Текст ошибки |
---|---|
30002 | domain is already used by another tenant |
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>
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>