Онлайн-оплата (xml)

Материал из wiki.Sletat.ru
Перейти к: навигация, поиск

Описание сервиса

Сервис для работы с online-заявками является стандартным веб-сервисом, который предоставляет WSDL документ с описанием всех методов и типов данных. Текущая версия сервиса работает только по протоколу HTTPS. Для большей совместимости с различными клиентами сервис основан на SOAP версии 1.1. Взаимодействие с сервисом возможно одним из двух способов:

  • Как с обычным веб-сервисом посредством SOAP запросов, WSDL доступен.
  • Как с сервисом WCF (Windows Communication Foundation) - самый простой способ, если клиент под .NET Framework 3.5 или выше.

Логика обработки запросов не зависит от способа работы с сервисом. При передаче строк и XML пакетов используется кодировка UTF-8. Сервис не требует сессий при работе с ним, и все методы не зависят друг от друга с точки зрения очередности вызова. Таким образом, очередность вызова методов диктуется реализуемым алгоритмом для работы с сервисом. Сервис требует авторизации для работы с ним, используются логин и пароль от личного кабинета SLETAT.RU.

Краткое описание возможностей

С помощью методов данного сервиса вы можете:

  • Создать online-заявку на приобретение тура, при этом происходят E-Mail и СМС оповещения как для клиента-покупателя, так и для менеджера агентства;
  • Получать информацию о ранее созданной заявке, при этом вы получаете возможность отправить клиента-покупателя на страницу выбранного платежного провайдера для оплаты заказа. Текущий платежный провайдер настраивается в личном кабинете SLETAT.RU.

Подключение к сервису

Для начала работы с сервисом вам нужно зарегистрироваться на сайте https://www.sletat.ru и обратиться в службу поддержки SLETAT.RU (info@sletat.ru) для выдачи тестовой лицензии, при этом сообщив свой логин. После того, как лицензия будет выдана, можно начинать работать с API данного сервиса. Для работы с сервисом вам нужно использовать WSDL документ, который расположен по адресу:

https://claims.sletat.ru/xmlgate.svc?singlewsdl

Современные среды разработки позволяют автоматически создавать все необходимые классы, используя WSDL документ, избавляя разработчика от необходимости работать вручную с SOAP конвертами.

После того, как WSDL был использован для создания обёртки, можно переходить к описанию логики работы с сервисом. Ниже будут даны более подробные примеры работы с сервисом для клиентов, использующих .NET Framework.


Старый клиент на .NET 1.0 - 2.0

Добавьте в проект ссылку на WSDL документ используя Web Reference. После того, как ссылка была добавлена, ваш проект готов к работе с сервисом. Ниже приведен пример вызова метода для создания online-заявки на приобретение тура по заданным RequestId, OfferId, SourceID:

using System;
using System.Collections.Generic;
using ClaimsServiceClient.ru.sletat.claims;
 
namespace ClaimsServiceClient
{
    class Program
    {
        static void Main(string[] args)
        {
            //  authentication info
            AuthData authTicket = new AuthData();
            authTicket.Login = "<your login>";
            authTicket.Password = "<type password>";
 
            //  xml gate client and authentication ticket
            XMLGate client = new XMLGate();
            client.AuthInfo = authTicket;
 
            //  request definition
            CreateClaimRequest request = new CreateClaimRequest
            {
                OfferIdSpecified = true,
                RequestIdSpecified = true,
                SourceIdSpecified = true,
 
                OfferId = 1725432283,
                RequestId = 61455627,
                SourceId = 5,
 
                Comments = "There are some comments",
                Customer = new Customer
                {
                    Address = "СПБ",
                    Email = "<........>@gmail.com",
                    FullName = "Смирнов Андрей Валерьевич",
                    Passport = "1122 5500",
                    Phone = "+7(921)<...-..-..>"
                },
 
 
                InitialURL = "https://www.google.com",
                Tourists = new List<Tourist>
                {
                    new Tourist
                    {
                        BirthDate = DateTime.Now,
                        BirthDateSpecified = true,
 
                        Citizenship = "Россия",
                        City = "СПБ",
                        Country = "Россия",
 
                        DateOfIssue = DateTime.Now,
                        DateOfIssueSpecified = true,
 
                        Email = "<........>@gmail.com",
                        Expires = DateTime.Now,
                        ExpiresSpecified = true,
 
                        FirstName = "Andrey",
                        Gender = Gender.Male,
                        PassportNumber = "11",
                        PassportSeries = "22",
                        Patronymic = "V",
                        Phone = "+7(921)<...-..-..>",
                        Surname = "Smirnov",
                        Title = Title.MR
 
                    }
                }.ToArray()
            };
 
            //  attempt to create online claim 
            var response =  client.CreateClaim(request);
 
            //  futher we can analise the request from xml gate
            if (response.OperationStatus)
            {
                //  continue
            }
        }
    }
}

Не забудьте указать логин и пароль вашей учетной записи на сайте SLETAT.RU.

Обратите также внимание на то, что требуется указывать поля _Specified для типов данных DateTime и int.

Клиент на .NET 3.5 или выше

Добавьте в проект ссылку на WSDL документ используя Service Reference. После добавления ссылки ваш проект готов к работе с сервисом. Ниже приведен пример вызова метода для создания online-заявки на приобретение тура по заданным RequestId, OfferId, SourceID:

        static void Main(string[] args)
        {
 
            //  данные для авторизации на сервисе
            AuthData authTicket = new AuthData();
            authTicket.Login = "<type your login here>";
            authTicket.Password = "<and password>";
 
            //  экземпляр клиента для обращения к XMLGate сервису для работы с online-заявками
            using (XMLClaimsGateClient client = new XMLClaimsGateClient())
            {
                CreateClaimRequest request = new CreateClaimRequest
                {
                    OfferId = 1,
                    RequestId = 2,
                    SourceId = 3,
 
                    Comments = "There are some comments",
                    Customer = new Customer
                    {
                        Address = "СПБ",
                        FullName = "Смирнов Андрей Валерьевич",
                        Passport = "1122 5500",
 
                        Email = "<email заказчика, на который будут приходить оповещения>",
                        Phone = "+7(921)...-..-.. <телефон заказчика, на который будут приходить 
				      оповещения>"
                    },
 
                    InitialURL = "https://www.google.com",
                    Tourists = new List<Tourist>
                    {
                        new Tourist
                        {
                            BirthDate = DateTime.Now,
 
                            Citizenship = "Россия",
                            City = "СПБ",
                            Country = "Россия",
 
                            DateOfIssue = DateTime.Now,
                            Expires = DateTime.Now,
 
                            Title = Title.MR,
                            FirstName = "Andrey",
                            Patronymic = "V",
                            Surname = "Smirnov",
 
                            Gender = Gender.Male,
 
                            PassportNumber = "11",
                            PassportSeries = "22",
 
                            Email = "<email туриста>",
                            Phone = "<телефон туриста>"
                        }
                    }.ToArray()
                };
 
                var response = client.CreateClaim(authTicket, request);
            }
        }

Не забудьте указать логин и пароль вашей учетной записи на сайте SLETAT.RU. Данные для авторизации передаются первым параметром для всех методов сервиса.

Версионность

Сервис может содержать несколько контрактов, каждое изменение, несовместимое с предыдущей публикацией, будет вести к созданию контракта новой версии. Описание контрактов всех поддерживаемых версий включено в WSDL.

WSDL — автоматически формируемый документ описывающий все контракты веб-сервиса, описывает их методы и используемые типы данных. Каждый контракт веб-сервиса имеет уникальное имя используемое для его идентификации. Эти имена также используются для указания версии, например, в виде даты публикации, или любым иным образом. Текущая версия сервиса состоит из одного контракта, который использует имя:

urn:SletatRu:XMLClaimsGate:v1

Используется URN (Uniform Resource Name) для обозначения имени контракта и его версии. Все разрабатываемые сервисы имеют префикс SletatRu, после которого указывается название контракта, последним указывается его версия.

Следующие версии контракта Soap11Gate будут иметь другое значение версии в последней части URN, например:

urn:SletatRu:XMLClaimsGate:v1

Используется URN (Uniform Resource Name) для обозначения имени контракта и его версии. Все разрабатываемые сервисы имеют префикс SletatRu, после которого указывается название контракта, последним указывается его версия.

Следующие версии контракта Soap11Gate будут иметь другое значение версии в последней части URN, например:

urn:SletatRu:XMLClaimsGate:v2

Чтобы использовать новую версию контракта, клиенту необходимо указать нужную версию в SOAP конверте:

<soap:Envelope>
  <soap:Body>
    <CreateClaim xmlns=" urn:SletatRu:XMLClaimsGate:v1"></CreateClaim>
  </soap:Body>
</soap:Envelope>

Если вы используете автоматически создаваемую обёртку для сервиса создания online-заявок, то при изменении текущего контракта, или при создании контракта новой версии, вам нужно заново создать обёртку к сервису.

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

Версионность также соблюдается для всех типов данных.

Создание новых версий также может быть сопряжено с иными задачами в ходе развития сервиса, например, группированием методов в контракты новых версий таким образом, чтобы в дальнейшем можно было отказаться от устаревших методов.

Логика работы с сервисом

Используя сервис по работе с online-заявками, вам доступны следующие операции:

CreateClaim — используется для создания заявки на приобретение тура. Данная операция полностью аналогична ручному вводу данных о заказчике тура и списке туристов в форме ввода для регистрации заявки в результатах выдачи поискового модуля на сайте клиента; После регистрации заявки она становится доступной для просмотра и редактирования в личном кабинете менеджера агентства по адресу:

https://sletat.ru/workspace/agencyorders.aspx

В качестве ответа от данной операции приходит флаг успешности операции, сообщение об ошибке в случае неуспешности попытки, и идентификатор ClaimIdentity, который потом можно использовать для получения данных по данной заявке. В вызове данной операции вы можете указать запрос на проведение актуализации тура (Actualize). В таком случае в дальнейшем вам необходимо учитывать состояние актуализации для выполнения последующих операций. Важно понимать, что сама актуализация может занимать некоторое время и выполняется асинхронно. Текущее состояние актуализации можно увидеть в результатах операций GetClaimInfo или GetActualization. После успешного завершения актуализации стоимость тура будет изменена на новое полученное значение.

UpdateClaimToWasSentState — Переводит заказ в состояние «Отправлен на оплату». С указанной даты ссылка на оплату будет действительна в течение 48 часов (значение может быть изменено в настройках вашего аккаунта в разделе «Ограничения по платежам»:

https://sletat.ru/workspace/billingsettings.aspx?tab=restrictions). 

Данную операцию необходимо использовать первой, если вы хотите, чтобы ссылка на оплату RedirectToPaymentPageURL из запроса GetClaimInfo была действительной.

ВАЖНО: использование данной операции оправдано, если только вы используете схему с предварительной обработкой тура менеджером. В случае прямой схемы оплаты тура данный шаг в обработке онлайн-заказа необязателен.

UpdateClaimToWasViewedState — Переводит заказ в состояние «Просмотрен (заказчиком)». Данную операцию необходимо использовать как следующий шаг после создания заказа (СreateClaim) и регистрации даты выставленного к оплате счета (UpdateClaimToWasSentState).

ВАЖНО: использование данной операции оправдано, если только вы используете схему с предварительной обработкой тура менеджером. В случае прямой схемы оплаты тура данный шаг в обработке онлайн-заказа необязателен.

Такой заказ в списке заказов будет выглядеть так:

GetClaimInfo — возвращает все необходимую информацию по ранее созданной заявке. Вместе с результатами данной операции вы также получаете специальным образом сформированный URL (RedirectToPaymentURL), который можно использовать для последующего редиректа покупателя на страницу оплаты того платежного провайдера, который был ранее выбран и настроен в личном кабинете: https://sletat.ru/workspace/billingsettings.aspx. Обратите также внимание на поле PaymentIsAvailable. В случае, если данное поле имеет значение false, попытка пройти на страницу оплаты для совершения платежа закончится неудачей (см. также замечания относительно актуализации тура).

Для совершения платежа ранее созданный заказ должен быть сначала переведен в состояние «В оплату» с указанием даты фиксации выставленного к оплате счета, а затем должен быть переведен в состояние «Просмотрен (заказчиком)»

ВАЖНО: использование данных операций оправдано, если только вы используете схему с предварительной обработкой тура менеджером. В случае прямой схемы оплаты тура данный шаг в обработке онлайн-заказа необязательны.

Обращайте ваше внимание также на срок актуальности выставляемой к оплате ссылки (PayableUntil).

GetActualization — возвращает текущее состояние актуализации тура, если она была ранее запрошена в методе CreateClaim (Actualize).

Фактом завершения актуализации будет являться получение свойства CurrentState в структуре Actualization, равного состояниям:

Completed, Failed, IncorrectCurrency, AuthenticationProblem, HotelIsInStop, DepartureIsInStop, ReturnIsInStop. (См. описание статусов далее)

GetPayments — возвращает список доплат в разрезе указанного через ClaimIdentity онлайн-заказа. Дополнительно выставляемые счета на доплаты формируются в личном кабинете SLETAT.RU.

Методы

В данном разделе описаны все методы сервиса для работы с online-заявками на приобретение туров. К методам приведены примеры запросов и ответов в SOAP. Все методы требуют авторизации, информация для авторизации (логин и пароль) передаётся в заголовке SOAP - AuthInfo:

<soap:Envelope xmlns:soap=http://schemas.xmlsoap.org/soap/envelope/ 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <soap:Header>
    <AuthInfo xmlns="urn:SletatRu:DataTypes:AuthData:v1">
      <Login>********</Login>
      <Password>********</Password>
    </AuthInfo>
  </soap:Header>
  <soap:Body>
    <CreateClaim xmlns="urn:SletatRu:Contracts:XMLClaimsGate:v1" />
  </soap:Body>
</soap:Envelope>

В примерах SOAP запросов и ответов, что приводятся ниже для каждого метода, элемент soap:Header убран для лучшей читаемости документа.

CreateClaim

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

Сигнатура:

CreateClaimResponse CreateClaim(CreateClaimRequest request)

Параметры:

CreateClaimRequest — параметр данного типа описывает всю структуру online-заявки и содержит следующие важные поля:

Tourist[] Tourists — список туристов. Каждая запись представляет собой описание туриста, на которого оформляется тур, и может содержать следующие свойства:

Title Обращение. Возможные варианты: Unknown (не указано), MR (г-н), MRS (г-жа), INF (инфант), CHD (ребенок).
Gender Пол (при параметре Title со значениями INF и CHD). Возможные варианты: Unknown (не указано), Male (муж.), Female (жен.).
string FirstName Имя
string Surname Фамилия
string Patronymic Отчество
DateTime BirthDate Дата рождения
byte Age Возраст, можно не указывать
string Phone Номер телефона
string Email Email
string Country Страна
string City Город проживания
string PassportSeries Серия паспорта
string PassportNumber Номер паспорта
DateTime DateOfIssue Дата выдачи паспорта
string IssuedBy Кем выдан паспорт
DateTime Expires Срок окончания действия паспорта
string Citizenship Гражданство

Customer — Заказчик тура, именно на данного человека и его контактные данные будут отсылаться СМС оповещения и email

string FullName ФИО заказчика
string Phone Телефон заказчика, именно этот телефон будет использоваться для СМС-оповещения и для связи со стороны турагентства
string Email Email заказчика, именно этот адрес будет использоваться для отправки Email-оповещений заказчику обо всех важных операциях над заявкой
string Address Адрес заказчика, одной строкой
string Passport Паспорт заказчика, одной строкой Серия-Номер
string IssuedBy Паспорт заказчика, поле «Кем выдан, когда» - 128 символов

Следующие поля описывают запрашиваемый тур:

int SourceId Идентификатор туроператора в системе SLETAT.RU, может быть получен со стороны поискового сервиса
long OfferId Идентификатор предложения туроператора в системе SLETAT.RU, может быть получен со стороны поискового сервиса
int RequestId Идентификатор поискового запроса в системе SLETAT.RU, может быть получен со стороны поискового сервиса

Следующие поля влияют на процесс обработки заказа в целом:

string InitialURL — данный параметр является адресом страницы, на которую будет произведен возврата после завершения процесса оплаты;

WorkflowType — данный параметр определяет тип обработки заказа. На текущий момент существует две схемы:

  • схема с предварительной обработкой заказа менеджером турагентства в личном кабинете SLETAT.RU,
  • схема с прямой оплатой заказа сразу же на момент оформления заказа на сайте турагентства.

В зависимости от выбранной схемы данный параметр может принимать следующие значения:

Вариант с предварительной обработкой менеджером турагентства Preprocessing = 0

Вариант с прямым переходом к холдированию денежных средств сразу же после заполнения заявки TwoStepsHolding = 1

bool Actualize — Данный признак позволяет указать, стоит проводить актуализацию стоимости тура или нет.

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

Обратите внимание: Если вы запросили проведение актуализации и сразу же пытаетесь отправить клиента для последующего редиректа на платежную страницу (не дождавшись завершения актуализации стоимости тура), то клиент уйдет на оплату, возможно, неактуальной стоимости тура.

Фактом завершения актуализации будет являться получение свойства CurrentState в структуре Actualization в ответе на запрос GetClaim, равного состояниям: Completed, Failed, IncorrectCurrency, AuthenticationProblem, HotelIsInStop, DepartureIsInStop, ReturnIsInStop. (См. описание статусов далее)

В случае проведения актуализации окончательная стоимость Price тура будет равна:

Price = Стоимость тура от туроператора – Скидка, указанная в запросе

В случае создания заявки без актуализации окончательная стоимость тура Price будет равна:

Price = Стоимость тура из результатов поиска + Наценка турагентства на заданное направление (туроператор, страна) – Скидка, указанная в запросе

int DiscountAmount — Сумма скидки в рублях, применяемая к стоимости тура.

int PriceFromCustomer — Произвольная стоимость тура.

Скидка также применяется после актуализации стоимости тура у туроператора.

int DiscountPercentage — Сумма скидки в процентах, применяемая к стоимости тура.

Указывается в виде целочисленного значения от 0 до 100. Скидка также применяется после актуализации стоимости тура у туроператора. В случае, если указываются оба значения – DiscountAmount и DiscountPercentage – предпочтение отдается значению DiscountAmount (т.е. значение в процентах не используется).

Ответ:

CreateClaimResponse содержит флаг успешности операции CreateClaim, а также важный параметр ClaimIdentity, который можно использовать для последующих операций GetClaimInfo запроса данных по созданной заявке, обновления дат просмотра заказа и фиксации начала действия выставленного к оплате счета (актуальности ссылки для перехода к платежной странице) UpdateClaimToWasViewedState и UpdateClaimToWasSentState.

bool OperationStatus Признак успешности операции
string ServiceMessage Описание результата операции
string OrderIdentity Сквозной номер заказа в рамках работы турагентства
string ClaimIdentity Идентификатор заявки в случае успешной операции
<x:Envelope xmlns:x="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:SletatRu:XMLClaimsGate:v1" xmlns:urn1="urn:SletatRu:DataTypes:AuthData:v1" xmlns:a="urn:SletatRu:Contracts:ClaimsGate:DataTypes:v1"
xmlns:b="urn:SletatRu:Contracts:ClaimsGate:DataTypes:XML:v1">
    <x:Header>
        <urn1:AuthInfo>
            <urn1:Login>****</urn1:Login>
            <urn1:Password>****</urn1:Password>
        </urn1:AuthInfo>
    </x:Header>
    <x:Body>
	<urn:CreateClaim>
		<urn:request>
			<a:Comments>There are some comments</a:Comments>
			<a:Customer>
				<a:Address>СПБ</a:Address>
				<a:Email>guid.empty@gmail.com</a:Email>
				<a:FullName>Смирнов Андрей Валерьевич</a:FullName>
				<a:Passport>1122 5500</a:Passport>
				<a:Phone>+7(921)354-33-47</a:Phone>
			</a:Customer>
			<a:InitialURL>https://www.google.com</a:InitialURL>
                        <a:OfferId>1836114757</a:OfferId>
			<a:RequestId>2050697646</a:RequestId>
			<a:SourceId>7</a:SourceId>
			<a:Actualize>true</a:Actualize>
			<a:DiscountAmount>500</a:DiscountAmount>
			<a:DiscountPercentage>0</a:DiscountPercentage>
			<b:Tourists>
				<b:Tourist>
					<b:BirthDate>2012-12-20T13:49:38.314034+04:00</b:BirthDate>
					<b:Citizenship>Россия</b:Citizenship>
					<b:City>СПБ</b:City>
					<b:Country>Россия</b:Country>
					<b:DateOfIssue>2012-12-20T13:49:38.315034+04:00</b:DateOfIssue>
					<b:Email>guid.empty@gmail.com</b:Email>
					<b:Expires>2012-12-20T13:49:38.315034+04:00</b:Expires>
					<b:FirstName>Andrey</b:FirstName>
					<b:PassportNumber>11</b:PassportNumber>
					<b:PassportSeries>22</b:PassportSeries>
					<b:Patronymic>V</b:Patronymic>
					<b:Phone>+7(921)354-33-47</b:Phone>
					<b:Surname>Smirnov</b:Surname>
				</b:Tourist>
			</b:Tourists>
		</urn:request>
	</urn:CreateClaim>
    </x:Body>
</x:Envelope>

SOAP ответ/пример:

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body>
<CreateClaimResponse xmlns="urn:SletatRu:XMLClaimsGate:v1">
<CreateClaimResult xmlns:a="urn:SletatRu:Contracts:ClaimsGate:DataTypes:XML:v1" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<OperationStatus xmlns="urn:SletatRu:Contracts:ClaimsGate:DataTypes:v1">true</OperationStatus>
<OrderIdentity xmlns="urn:SletatRu:Contracts:ClaimsGate:DataTypes:v1">53</OrderIdentity>
<a:ClaimIdentity>20ad89d22d31c9a5cc5a50bc9f367407</a:ClaimIdentity>
<a:ServiceMessage i:nil="true"></a:ServiceMessage>
</CreateClaimResult>
</CreateClaimResponse>
</s:Body>
</s:Envelope>

CreateClaim – пример запроса на PHP

<?php
$searchParam = array(
    'request' => array(
        'WorkflowType' => 'TwoStepsHolding',
        'Comments'=>'There are some comments',
        'Customer'=> (object) array (
            'Address'=>'СПБ',
            'Email'=>'XXXXXXXXXXXXX@gmail.com',
            'FullName'=>'Смирнов Андрей Валерьевич',
            'Passport'=>'1122 5500',
            'Phone'=>'+7(921)354-XX-XX'
        ),
        'InitialURL'=>'https://www.google.com',
        'OfferId'=>'1697033825',
        'RequestId'=>'459295992',
        'SourceId'=>'133',
        'Actualize'=>true,
        'DiscountAmount'=>'500',
        'DiscountPercentage'=>'0',
        'Tourists'=> array(
            'Tourist' => array(
                (object) array(
                    'BirthDate'=>'2012-12-20',
                    'Citizenship'=>'Россия',
                    'City'=>'СПБ',
                    'Country'=>'Россия',
                    'DateOfIssue'=>'2012-12-20T13:49:38.315034+04:00',
                    'Email'=>'XXXXXXXXXXXXXXX@gmail.com',
                    'Expires'=>'2012-12-20T13:49:38.315034+04:00',
                    'FirstName'=>'Andrey',
                    'PassportNumber'=>'11',
                    'PassportSeries'=>'22',
                    'Patronymic'=>'V',
                    'Phone'=>'+7(921)354-XX-XX',
                    'Surname'=>'Smirnov'
                ),
                (object) array(
                    'BirthDate'=>'2012-12-20',
                    'Citizenship'=>'Россия',
                    'City'=>'СПБ',
                    'Country'=>'Россия',
                    'DateOfIssue'=>'2012-12-20',
                    'Email'=>XXXXXXXXXXXXXXXXX@gmail.com',
                    'Expires'=>'2012-12-20',
                    'FirstName'=>'Andrey',
                    'PassportNumber'=>'11',
                    'PassportSeries'=>'22',
                    'Patronymic'=>'V',
                    'Phone'=>'+7(921)354-XX-XX',
                    'Surname'=>'Smirnov'
                ),
            )
        )
    )
);
 
$soapClient = new SoapClient('https://claims.sletat.ru/xmlgate.svc?wsdl');
 
$soapClient->__setSoapHeaders(new SoapHeader("urn:SletatRu:DataTypes:AuthData:v1", "AuthInfo", array(
		"Login" => '<Логин от вашего аккаунта на SLETAT.RU>',
    	"Password"=> 'Пароль от вашего аккаунта на SLETAT.RU '
)));
 
$result = $soapClient->CreateClaim($searchParam);
 
echo '<pre>';
print_r($result);
echo '</pre>';

UpdateClaimToWasSentState

Метод используется для перевода заказа в состояние - "Отправлен на оплату". С указанной даты ссылка на оплату будет действительна в течении 48 часов (значение может быть изменено в настройках вашего аккаунта в разделе «Ограничения по платежам»:

https://sletat.ru/workspace/billingsettings.aspx?tab=restrictions). 

Данную операцию необходимо использовать первой, если вы хотите, чтобы ссылка на оплату RedirectToPaymentPageURL из запроса GetClaimInfo была действительной.

Сигнатура:

BaseOperationResponse UpdateClaimToWasSentState(BaseUpdateClaimToWasSentStateRequest request)

Параметры:

BaseUpdateClaimToWasSentStateRequest – параметр данного типа содержит следующие поля: string ClaimIdentity – Идентификатор заявки в случае успешной предыдущей операции CreateClaim DateTime WasSentDate – Дата фиксации выставленного к оплате счета. Именно от этой даты будет анализироваться актуальность ссылки для перехода к платедной странице процессингового центра/ банка для совершения платежа.

Ответ:

В ответ от операции UpdateClaimToWasSentState вы получаете объект BaseOperationResponse, который содержит список следующих свойств:

bool OperationStatus Флаг успешности операции
string ServiceMessage Ответ-сообщение от сервиса

SOAP запрос/пример:

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Body>
    <UpdateClaimToWasSentState xmlns="urn:SletatRu:XMLClaimsGate:v1">
<request 	xmlns:a="urn:SletatRu:Contracts:ClaimsGate:DataTypes:v1" 
		xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
        <a:ClaimIdentity>3f47cd1883de3722ddf4d42c41fc4be6</a:ClaimIdentity>
        <a:WasSentDate>2013-04-30T00:42:12.7462574+04:00</a:WasSentDate>
      </request>
    </UpdateClaimToWasSentState>
  </s:Body>
</s:Envelope>

SOAP ответ/пример:

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Body>
    <UpdateClaimToWasSentStateResponse 	xmlns="urn:SletatRu:XMLClaimsGate:v1">
      <UpdateClaimToWasSentStateResult 	xmlns:a="urn:SletatRu:Contracts:ClaimsGate:DataTypes:v1" 
						xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
        <a:OperationStatus>true</a:OperationStatus>
        <a:ServiceMessage>HasBeenSentDate property has been updated successfully</a:ServiceMessage>
      </UpdateClaimToWasSentStateResult>
    </UpdateClaimToWasSentStateResponse>
  </s:Body>
</s:Envelope>

UpdateClaimToWasViewedState

Переводит заказ в состояние - "Просмотрен (заказчиком)". Данную операцию необходимо использовать как следующий шаг после создания заказа (СreateClaim) и регистрации даты выставленного к оплате счета (UpdateClaimToWasSentState). Сигнатура:

BaseOperationResponse UpdateClaimToWasViewedState(BaseUpdateClaimToWasViewedStateRequest request)

Параметры: BaseUpdateClaimToWasViewedStateRequest – параметр данного типа содержит следующие поля:

bool OperationStatus Флаг успешности операции
string ServiceMessage Ответ-сообщение от сервиса

Ответ:

В ответ от операции UpdateClaimToWasViewedState вы получаете объект BaseOperationResponse, который содержит список следующих свойств:

bool OperationStatus Флаг успешности операции string ServiceMessage Ответ-сообщение от сервиса


SOAP запрос/пример:

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Body>
    <UpdateClaimToWasViewedState xmlns="urn:SletatRu:XMLClaimsGate:v1">
      <request 	xmlns:a="urn:SletatRu:Contracts:ClaimsGate:DataTypes:v1" 
			xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
        <a:ClaimIdentity>3f47cd1883de3722ddf4d42c41fc4be6</a:ClaimIdentity>
        <a:WasViewedDate>2013-04-30T01:42:15.4604126+04:00</a:WasViewedDate>
      </request>
    </UpdateClaimToWasViewedState>
  </s:Body>
</s:Envelope>


SOAP ответ/пример:

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Body>
    <UpdateClaimToWasViewedStateResponse xmlns="urn:SletatRu:XMLClaimsGate:v1">
      <UpdateClaimToWasViewedStateResult xmlns:a="urn:SletatRu:Contracts:ClaimsGate:DataTypes:v1" 
						xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
        <a:OperationStatus>true</a:OperationStatus>
        <a:ServiceMessage>HasBeenViewedDate property has been updated</a:ServiceMessage>
      </UpdateClaimToWasViewedStateResult>
    </UpdateClaimToWasViewedStateResponse>
  </s:Body>
</s:Envelope>

GetClaimInfo

Метод используется для получения информации о ранее созданной заявке на приобретение тура, при этом проиcходит возврат актуальной информации о данной заявке после обработки ее менеджером агентства в личном кабинете на сайте SLETAT.RU. В случае указания признака актуализации в операции CreateClaim в ответе будет присутствовать информация о текущем состоянии актуализации стоимости тура (см. ниже описание). Сигнатура: GetClaimResponse GetClaimInfo(GetClaimRequest request)

Параметры: GetClaimRequest – параметр данного типа содержит единственный параметр: string ClaimIdentity – Идентификатор заявки в случае успешной предыдущей операции CreateClaim Ответ: В ответ от операции GetClaimInfo вы получаете объект GetClaimResponse, который содержит список следующих свойств:

string Number Сквозной номер заказа (в рамках нумерации текущего агентства)
bool OperationStatus Флаг успешности операции
string ServiceMessage Ответ сообщение от сервиса
bool PaymentIsAvailable Признак доступности операции оплаты по данной заявке
string RedirectToPaymentURL Страница перехода на платежную систему
DateTime PayableUntil Крайний срок оплаты выставленного счета
bool IsAdditionalPayment Признак дополнительно выставленной доплаты
AdditionalPayment В случае, если вы запросили информацию по дополнительно выставленному счету (доплаты), данный блок будет содержать описание доплаты. В случае IsAdditionalPayment == true в этом блоке будут аналогичные поля PaymentIsAvailable и RedirectToPaymentURL, которые вы должны использовать для выполнения редиректа покупателя на платежную страницу.
TourDefinition Определение тура
TouristsDefinition Определение списка туристов
ResidencesDefinition Проживание
AviaFlightsDefinition Определяет блок авиа- перелетов в определении тура
TransfersDefinition Определяет блок трансферов в определении тура
OptionsDefinition Определяет блок доп.услуг в определении
VISAsDefinition Определяет блок для оформления списка необходимых виз
InsurancesDefinition Определяет блок для оформления всех необходимых страховок в рамках определения тура
Status Статус заказа
Unknown = 0 Данная заявка все еще не обработана менеджером агентства
AwaitingConfirmation = 1 Заказ находится в ожидании подтверждения и начала оплаты; На данном этапе счет просто отправлен покупателю, но это не означает, что он просмотрен
PaymentPending = 2 Клиент увидел свой предзаказ, находится на странице просмотра заказа, возможно начало оплаты; По сути, счет получен покупателем;
AwaitingHold = 3 Клиент начал оплату, но результатов с платежной системы еще нет
AwaitingHoldVerification = 4 Операция завершена, ждем результатов проверки ответа от платежной системы
HoldFailed = 5 Проверка ответа от платежной системы дала отрицательный результат
Holded = 6 Операция по оплате завершена
BookingRequest = 7 Тур находится на этапе бронирования у туроператора
ConfirmedByTourOperator = 8 Тур подтвержден
Canceled = 9 Заказ отменен, если денежные средства были сняты, ждем операции Refund
AwaitingAccept = 10 Заказ находится в ожидании снятия денег со счета клиента
Accepted = 11 Деньги со счета клиента сняты
AcceptFailed = 12 Операция по снятию денег со счета клиента закончилась неудачей
AwaitingRefund = 13 Заказ был прекращен по какой- то причине, находимся в ожидании Refund
RefundFailed = 14 Операция по возврату денежных средств клиенту закончилась неудачей
Refunded = 15 Денежные средства возвращены клиенту
Completed = 16 Заказ полностью выполнен; Документы выданы, на данном этапе работа с заказом закончена, никаких операций над ним больше не производится.
Actualization Текущее состояние актуализации
CurrentState Текущее состояние процесса актуализации, может принимать следующие значения:
Unknown = 0 Состояние не определено
NotRequired = 1 Актуализация не требуется
Required = 2 Актуализация требуется
InProgress = 3 Выполняется запрос туроператору, требуется завершение актуализации.

ВАЖНО: Получив данное значение, вы понимаете, что сам процесс актуализации еще не завершен, и окончательная стоимость тура еще не получена от туроператора. В этом состоянии попытка оплатить такой заказ будет прервана до момента завершения актуализации.

Completed = 4 Актуализация успешно завершена

ВАЖНО: Получив такой статус, вы можете быть уверены, что клиент уйдет на оплату актуальной стоимости тура, полученной от туроператора на момент создания заявки.

Failed = 5 Актуализация не выполнена по какой-то причине, дополнительную информацию можно получить в сообщении ServiceMessage

ВАЖНО: В поисковых модулях SLETAT.RU разрешается оплата такого тура, по которому актуализация стоимости тура не прошла по какой-либо причине.

IncorrectCurrency = 6 Актуализация завершена успешно, но стоимость получена в валюте, отличной от RUB;

Данный статус говорит о том, что стоимость тура осталась без изменений (первоначальное значение из результатов поиска)

HotelIsInStop = 7 Актуализация завершена успешно; Отель в стопе

ВАЖНО: В поисковых модулях SLETAT.RU запрещается оплата такого тура, по которому получены «стопы».

DepartureIsInStop = 8 Актуализация завершена успешно; Билеты на отправление в стопе

ВАЖНО: В поисковых модулях SLETAT.RU запрещается оплата такого тура, по которому получены «стопы».

ReturnIsInStop = 9 Актуализация завершена успешно; Билеты на возвращение в стопе

ВАЖНО: В поисковых модулях SLETAT.RU запрещается оплата такого тура, по которому получены «стопы».

AuthenticationProblem = 10 Актуализация не проводилась, проблемы с аутентификацией

ВАЖНО: Такая ситуация может произойти только в том случае, если во внутренних процессах актуализации возникала проблема с аутентификацией доступа на сайт туроператора.

int Price В случае успешного выполнения данное поле будет содержать стоимость тура, полученную от туроператора
Currency В случае успешного выполнения данное поле будет тип валюты, в которой получена стоимость тура от туроператора. В процессе актуализации делается попытка получить стоимость тура в RUB, но не всегда возможно получить стоимость в этой валюте. В случае, если получили стоимость в валюте, отличной от RUB, текущее состояние актуализации будет IncorrectCurrency. Данное поле может содержать следующие значения:

RUB, USD, EUR

Перелеты:

DepartureFlight Дополнительно в процессе актуализации мы можем получить информацию об авиаперелете вылета
ReturnFlight Дополнительно в процессе актуализации мы можем получить информацию об авиаперелете вылета

Перелеты могут содержать следующие поля:

string Name Название рейса в произвольном виде
string Flight Номер рейса
string DepartureAirport Название аэропорта вылета
string DestinationAirport Название аэропорта прилета
string Date Дата вылета в формате YYYY-MM-DD
string StartTime Время вылета в формате HH:ss
string EndTime Время прилета в формате HH:ss

SOAP запрос/пример:

<x:Envelope xmlns:x="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:SletatRu:XMLClaimsGate:v1" xmlns:urn1="urn:SletatRu:DataTypes:AuthData:v1" xmlns:a="urn:SletatRu:Contracts:ClaimsGate:DataTypes:v1" 
xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
    <x:Header>
        <urn1:AuthInfo>
            <urn1:Login>****</urn1:Login>
            <urn1:Password>****</urn1:Password>
        </urn1:AuthInfo>
    </x:Header>
  <x:Body>
    <urn:GetClaimInfo>
      <urn:request>
        <a:ClaimIdentity>563392c831156d3f52f06d40816e49fd</a:ClaimIdentity>
      </urn:request>
    </urn:GetClaimInfo>
  </x:Body>
</x:Envelope>


SOAP ответ/пример:

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body>
<GetClaimInfoResponse xmlns="urn:SletatRu:XMLClaimsGate:v1">
<GetClaimInfoResult xmlns:d4p1="urn:SletatRu:Contracts:ClaimsGate:DataTypes:XML:v1" 
			  xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<Number xmlns="urn:SletatRu:Contracts:ClaimsGate:DataTypes:v1">53</Number>
<OperationStatus xmlns="urn:SletatRu:Contracts:ClaimsGate:DataTypes:v1">true</OperationStatus>
<PaymentIsAvailable xmlns="urn:SletatRu:Contracts:ClaimsGate:DataTypes:v1">true</PaymentIsAvailable>
<RedirectToPaymentURL xmlns="urn:SletatRu:Contracts:ClaimsGate:DataTypes:v1">https://globaltps.ru/beginholdinghandler.ashx?claimid=20ad89d22d31c9a5cc5a50bc9f367407</RedirectToPaymentURL>
<ServiceMessage i:nil="true" xmlns="urn:SletatRu:Contracts:ClaimsGate:DataTypes:v1"></ServiceMessage>
<Status xmlns="urn:SletatRu:Contracts:ClaimsGate:DataTypes:v1">Unknown</Status>
<Tour xmlns="urn:SletatRu:Contracts:ClaimsGate:DataTypes:v1">
<Amount>6384.0000</Amount>
<AviaFlightsDefinition xmlns:d6p1="urn:SletatRu:Contracts:BillingServer:DataTypes:v1">
<d6p1:AviaFlights></d6p1:AviaFlights>
<d6p1:BusinessClassPaymentCurrency>RUB</d6p1:BusinessClassPaymentCurrency>
<d6p1:BusinessClassSummaryPayment>0</d6p1:BusinessClassSummaryPayment>
<d6p1:Currency>RUB</d6p1:Currency>
<d6p1:SummaryPrice>0</d6p1:SummaryPrice>
<d6p1:TransportFeeCurrency>RUB</d6p1:TransportFeeCurrency>
<d6p1:TransportSummaryFee>0</d6p1:TransportSummaryFee>
</AviaFlightsDefinition>
<Comments>There are some comments</Comments>
<Currency>RUB</Currency>
<InsurancesDefinition xmlns:d6p1="urn:SletatRu:Contracts:BillingServer:DataTypes:v1">
<d6p1:Currency>RUB</d6p1:Currency>
<d6p1:Insurances></d6p1:Insurances>
<d6p1:SummaryPrice>0</d6p1:SummaryPrice>
</InsurancesDefinition>
<OptionsDefinition xmlns:d6p1="urn:SletatRu:Contracts:BillingServer:DataTypes:v1">
<d6p1:Currency>RUB</d6p1:Currency>
<d6p1:Options></d6p1:Options>
<d6p1:SummaryPrice>0</d6p1:SummaryPrice>
</OptionsDefinition>
 
 
<ResidencesDefinition xmlns:d6p1="urn:SletatRu:Contracts:BillingServer:DataTypes:v1">
<d6p1:Residences>
<d6p1:Residence>
<d6p1:CheckIn>2012-12-23T00:00:00</d6p1:CheckIn>
<d6p1:CheckOut>2012-12-30T00:00:00</d6p1:CheckOut>
<d6p1:Comments i:nil="true"></d6p1:Comments>
<d6p1:CountryName>Египет</d6p1:CountryName>
<d6p1:Hotel>AL DIWAN (L)</d6p1:Hotel>
<d6p1:HotelStars>3*</d6p1:HotelStars>
<d6p1:HtPlaceName>SGL</d6p1:HtPlaceName>
<d6p1:Identity xmlns:d9p1="http://www.w3.org/2001/XMLSchema" i:type="d9p1:int">709</d6p1:Identity>
<d6p1:MealName>HB</d6p1:MealName>
<d6p1:Resort>Sharks Bay</d6p1:Resort>
<d6p1:RoomName>STANDARD ROOM</d6p1:RoomName>
</d6p1:Residence>
</d6p1:Residences>
</ResidencesDefinition>
<TourDefinition xmlns:d6p1="urn:SletatRu:Contracts:BillingServer:DataTypes:v1">
<d6p1:CheckIn>2012-12-23T00:00:00</d6p1:CheckIn>
<d6p1:CheckOut>2012-12-30T00:00:00</d6p1:CheckOut>
<d6p1:CountryID>40</d6p1:CountryID>
<d6p1:CountryName>Египет</d6p1:CountryName>
<d6p1:Currency>RUB</d6p1:Currency>
<d6p1:DepartureCity>СПб</d6p1:DepartureCity>
<d6p1:Identity xmlns:d7p1="http://www.w3.org/2001/XMLSchema" i:type="d7p1:int">0</d6p1:Identity>
<d6p1:Nights>7</d6p1:Nights>
<d6p1:Price>6384</d6p1:Price>
<d6p1:Resort>Sharks Bay</d6p1:Resort>
<d6p1:SourceID>5</d6p1:SourceID>
<d6p1:SourceName>Верса</d6p1:SourceName>
<d6p1:TourName>Шарм 2012-2013</d6p1:TourName>
</TourDefinition>
<TouristsDefinition xmlns:d6p1="urn:SletatRu:Contracts:BillingServer:DataTypes:v1">
<d6p1:Tourists>
<d6p1:Tourist>
<d6p1:Age>0</d6p1:Age>
<d6p1:BirthDate>2012-12-20T09:49:38.313</d6p1:BirthDate>
<d6p1:Citizenship>Россия</d6p1:Citizenship>
<d6p1:City>СПБ</d6p1:City>
<d6p1:Country>Россия</d6p1:Country>
<d6p1:DateOfIssue>2012-12-20T09:49:38.317</d6p1:DateOfIssue>
<d6p1:Email>guid.empty@gmail.com</d6p1:Email>
<d6p1:Expires>2012-12-20T09:49:38.317</d6p1:Expires>
<d6p1:FirstName>Andrey</d6p1:FirstName>
<d6p1:Gender>Unknown</d6p1:Gender>
<d6p1:ID>1095</d6p1:ID>
<d6p1:IsPrimaryContact>false</d6p1:IsPrimaryContact>
<d6p1:PassportNumber>11</d6p1:PassportNumber>
<d6p1:PassportSeries>22</d6p1:PassportSeries>
<d6p1:Patronymic i:nil="true"></d6p1:Patronymic>
<d6p1:Phone>+7(921)354-33-47</d6p1:Phone>
<d6p1:Surname>Smirnov</d6p1:Surname>
<d6p1:Title>Unknown</d6p1:Title>
<d6p1:TourClaimID>786</d6p1:TourClaimID>
</d6p1:Tourist>
</d6p1:Tourists>
</TouristsDefinition>
<TransfersDefinition xmlns:d6p1="urn:SletatRu:Contracts:BillingServer:DataTypes:v1">
<d6p1:Currency>RUB</d6p1:Currency>
<d6p1:SummaryPrice>0</d6p1:SummaryPrice>
<d6p1:Transfers></d6p1:Transfers>
</TransfersDefinition>
<VISAsDefinition xmlns:d6p1="urn:SletatRu:Contracts:BillingServer:DataTypes:v1">
<d6p1:Currency>RUB</d6p1:Currency>
<d6p1:SummaryPrice>0</d6p1:SummaryPrice>
<d6p1:VISAs></d6p1:VISAs>
</VISAsDefinition>
</Tour>
 
<Actualization xmlns:b="urn:SletatRu:Contracts:BillingServer:DataTypes:v1">
	<Currency>RUB</Currency>
	<CurrentState>Completed</CurrentState>
	<DepartureFlight>
		<Date i:nil="true"/>
		<DepartureAirport i:nil="true"/>
		<DestinationAirport i:nil="true"/>
		<EndTime i:nil="true"/>
		<Flight>UN9651 17:55</Flight>
		<Name>UN9651 17:55</Name>
		<StartTime i:nil="true"/>
	</DepartureFlight>
	<OperationStatus>Successful</OperationStatus>
	<Price>36355</Price>
	<ReturnFlight>
		<Date i:nil="true"/>
		<DepartureAirport i:nil="true"/>
		<DestinationAirport i:nil="true"/>
		<EndTime i:nil="true"/>
		<Flight>UN9652 21:20</Flight>
		<Name>UN9652 21:20</Name>
		<StartTime i:nil="true"/>
	</ReturnFlight>
	<ServiceMessage>Актуализация проведена успешно</ServiceMessage>
</Actualization>
</GetClaimInfoResult>
</GetClaimInfoResponse>
</s:Body>
</s:Envelope>

GetClaimInfo – пример запроса на PHP

Ниже приводится пример запроса на PHP. Обратите внимание на указания XML namespace в сигнатуре формирования soap-заголовка запроса.

<?php
 
$getClaimInfoParam = array(
    'request' => array(
        'ClaimIdentity' => '5aabf3ea346baea36839409c14140c88'
    )
);
 
$soapClient = new SoapClient('https://claims.sletat.ru/xmlgate.svc?wsdl');
 
$soapClient->__setSoapHeaders(
new SoapHeader("urn:SletatRu:DataTypes:AuthData:v1", "AuthInfo", 
array(
    "Login" => '<Логин от вашего аккаунта на SLETAT.RU>',
    "Password"=> 'Пароль от вашего аккаунта на SLETAT.RU ',
)));
 
$result = $soapClient->getClaimInfo($getClaimInfoParam);

GetActualization

Метод используется для получения текущего состояния актуализации тура. Запрос на проведение актуализации указывается в методе CreateClaim указанием свойства Actualize. Сигнатура: BaseGetActualizationResponse GetActualization(BaseGetActualizationRequest request)

Параметры: BaseGetActualizationRequest – параметр данного типа содержит единственный параметр: string ClaimIdentity – Идентификатор заявки в случае успешной предыдущей операции CreateClaim Ответ: В ответ от операции GetActualization вы получаете объект BaseGetActualizationResponse, который содержит следующие свойства:

Actualization Текущее состояние актуализации
CurrentState Текущее состояние процесса актуализации, может принимать следущие значения:
Unknown = 0 Состояние не определено
NotRequired = 1 Актуализация не требуется
Required = 2 Актуализация требуется
InProgress = 3 Выполняется запрос туроператору, требуется завершение актуализации.
Completed = 4 Актуализация успешно завершена
Failed = 5 Актуализация не выполнена по какой-то причине, дополнительную информацию можно получить в сообщении ServiceMessage
IncorrectCurrency = 6 Актуализация завершена успешно, но стоимость получена в валюте, отличной от RUB;

Данный статус говорит о том, что стоимость тура осталась без изменений (первоначальное значение из результатов поиска)

HotelIsInStop = 7 Актуализация завершена успешно; Отель в стопе
DepartureIsInStop = 8 Актуализация завершена успешно; Билеты на отправление в стопе
ReturnIsInStop = 9 Актуализация завершена успешно; Билеты на возвращение в стопе
AuthenticationProblem = 10 Актуализация не проводилась, проблемы с аутенфикацие
int Price В случае успешно проведенной актуализации данное поле будет содержать актуальную стоимость тура
string Currency В случае успешно проведенной актуализации данное поле будет содержать актуальную валюту стоимости тура
DepartureFlight Блок информации о перелете вылета
ReturnFlight Блок информации об обратном перелете

SOAP запрос/пример:

<x:Envelope xmlns:x="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:SletatRu:XMLClaimsGate:v1" xmlns:urn1="urn:SletatRu:DataTypes:AuthData:v1" xmlns:a="urn:SletatRu:Contracts:ClaimsGate:DataTypes:v1">
    <x:Header>
        <urn1:AuthInfo>
            <urn1:Login>****</urn1:Login>
            <urn1:Password>****</urn1:Password>
        </urn1:AuthInfo>
    </x:Header>
	<x:Body>
		<urn:GetActualization>
			<urn:request>
				<a:ClaimIdentity>563392c831156d3f52f06d40816e49fd</a:ClaimIdentity>
			</urn:request>
		</urn:GetActualization>
	</x:Body>
</x:Envelope>


SOAP ответ/пример:

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
 
	<s:Body>
		<GetActualizationResponse xmlns="urn:SletatRu:XMLClaimsGate:v1">
			<GetActualizationResult 	xmlns:a="urn:SletatRu:Contracts:ClaimsGate:DataTypes:v1"
xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
				<a:OperationStatus>true</a:OperationStatus>
				<a:ServiceMessage i:nil="true"/>
				<a:Actualization xmlns:b="urn:SletatRu:Contracts:BillingServer:DataTypes:v1">
					<b:Currency>RUB</b:Currency>
					<b:CurrentState>Completed</b:CurrentState>
					<b:DepartureFlight>
						<b:Date>12.04.2014</b:Date>
						<b:DepartureAirport>VKO-B</b:DepartureAirport>
						<b:DestinationAirport>BANGKOK (BKK)</b:DestinationAirport>
						<b:EndTime>12:15</b:EndTime>
						<b:Flight>I4 9555</b:Flight>
						<b:Name>VKO-B –› BANGKOK (BKK) ~ 12.04.2014 23:50 ~ I4 9555 ~ 
						Economy</b:Name>
						<b:StartTime>23:50</b:StartTime>
					</b:DepartureFlight>
					<b:OperationStatus>Successful</b:OperationStatus>
					<b:Price>52140</b:Price>
					<b:ReturnFlight>
						<b:Date>20.04.2014</b:Date>
						<b:DepartureAirport>BANGKOK (BKK)</b:DepartureAirport>
						<b:DestinationAirport>VKO-B</b:DestinationAirport>
						<b:EndTime>22:45</b:EndTime>
						<b:Flight>I4 9556</b:Flight>
						<b:Name>BANGKOK (BKK) –› VKO-B ~ 20.04.2014 15:00 ~ I4 9556 ~ 
						Economy</b:Name>
						<b:StartTime>15:00</b:StartTime>
					</b:ReturnFlight>
					<b:ServiceMessage>Актуализация проведена успешно</b:ServiceMessage>
				</a:Actualization>
			</GetActualizationResult>
		</GetActualizationResponse>
	</s:Body>
</s:Envelope>

GetPayments

Метод используется для получения списка доплат в разрезе указанного через ClaimIdentity онлайн-заказа. Дополнительно выставляемые счета на доплаты формируются в личном кабинете SLETAT.RU. Сигнатура: public BaseGetPaymentsResponse GetPayments(BaseGetPaymentsRequest request)

Параметры: BaseGetPaymentsRequest – параметр данного типа содержит единственный параметр: string ClaimIdentity – Идентификатор заявки в случае успешной предыдущей операции CreateClaim Ответ: В ответ от операции GetPayments вы получаете объект BaseGetPaymentsResponse, который содержит следующие свойства:

AdditionalPayments Список блоков с описанием дополнительно выставленных счетов на оплату
ClaimIdentity Идентификатор доплаты, который можно использовать в методе GetClaimInfo
RedirectToPaymentPageURL URL для перехода к платежной странице на оплату выставленного счета
Number Сквозной номер доплаты в рамках заказа
Status Статус доплаты, описывает состояния, аналогичные состоянию по заказу в целом
Description Описание доплаты
Amount Сумма доплаты
Currency Валюта доплаты
PaymentIsAvailable Признак допустимости проведения оплаты по выставленному счету
PayableUntil Срок действия выставленной доплаты

SOAP запрос/пример:

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
	<s:Body>
		<GetPayments xmlns="urn:SletatRu:XMLClaimsGate:v1">
			<request xmlns:a="urn:SletatRu:Contracts:ClaimsGate:DataTypes:v1"
					 xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
				<a:ClaimIdentity><Claim Identity></a:ClaimIdentity>
			</request>
		</GetPayments>
	</s:Body>
</s:Envelope>


SOAP ответ/пример:

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
	<s:Body>
		<GetPaymentsResponse xmlns="urn:SletatRu:XMLClaimsGate:v1">
			<GetPaymentsResult xmlns:a="urn:SletatRu:Contracts:ClaimsGate:DataTypes:v1"
					     xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
				<a:OperationStatus>true</a:OperationStatus>
				<a:ServiceMessage i:nil="true"/>
				<a:AdditionalPayments>
					<a:BaseAdditionalPaymentInfo>
						<a:Amount>5400.0000</a:Amount>
						   <a:ClaimIdentity>a3466de39b8eb021099e47d8e00aaf61</a:ClaimIdentity>
						<a:Currency>RUB</a:Currency>
						<a:Description>Топливный сбор</a:Description>
						<a:Number>1</a:Number>
						<a:PayableUntil>04.04.2014 11:30</a:PayableUntil>
						<a:PaymentIsAvailable>false</a:PaymentIsAvailable>
					 <a:RedirectToPaymentPageURL>https://www.billingserver.com/beginholdinghandler.ashx?claimid=a3466de39b8eb021099e47d8e00aaf61</a:RedirectToPaymentPageURL>
						<a:Status>AwaitingConfirmation</a:Status>
					</a:BaseAdditionalPaymentInfo>
 
					<a:BaseAdditionalPaymentInfo>
						<a:Amount>2000.0000</a:Amount>
						 <a:ClaimIdentity>c2e744d78d6b7cf925e00ea54ba59f01</a:ClaimIdentity>
						<a:Currency>RUB</a:Currency>
						<a:Description>Оформление визы</a:Description>
						<a:Number>5</a:Number>
						<a:PayableUntil>05.04.2014 14:46</a:PayableUntil>
						<a:PaymentIsAvailable>false</a:PaymentIsAvailable>
						 <a:RedirectToPaymentPageURL>https://www.billingserver.com/beginholdinghandler.ashx?claimid=c2e744d78d6b7cf925e00ea54ba59f01</a:RedirectToPaymentPageURL>
						<a:Status>Accepted</a:Status>
					</a:BaseAdditionalPaymentInfo>
				</a:AdditionalPayments>
			</GetPaymentsResult>
		</GetPaymentsResponse>
	</s:Body>
</s:Envelope>