Будущий веб-сайт также будет туристическим агентством, который содержит те же отели, номера и т. д., что и исходный веб-сайт.
Итак, мне нужно подключиться к их API, отправить XML-файл, созданный на моем веб-сайте, а затем получить ответ.
Вот что у меня есть:
Адрес API туристического агентства:
http://api.xxx.net/API/API.asmx
Методы
GetHotels: список доступных номеров по вашим критериям поиска.
MakeBooking: эти методы создают бронирование для вашего запроса на бронирование.
GetBookingDetail: эти методы укажите данные бронирования.
Пример кода ASP.Net
Код: Выделить всё
public void GetHotels()
{
API.PASSENGER[] pass = new API.PASSENGER[3];
pass[0] = new API.PASSENGER();
pass[0].PASSTYPE = "ADT";
pass[0].FIRSTNAME = "TEST";
pass[0].LASTNAME = "test last name";
pass[1] = new API.PASSENGER();
pass[1].PASSTYPE = "ADT";
pass[1].FIRSTNAME = "test 2";
pass[1].LASTNAME = "test last name";
pass[2] = new API.PASSENGER();
pass[2].PASSTYPE = "CHD";
pass[2].DOB = "16.06.2001";
pass[2].FIRSTNAME = "TEST child";
pass[2].LASTNAME = "test last name";
API.SEARCH_REQUEST rq = new API.SEARCH_REQUEST();
rq.AGENTINFO = new API.AGENT_INFO();
rq.AGENTINFO.AGENT_ID = "agent login";
rq.AGENTINFO.AGENT_PWD = " agent pass";
rq.TOWNCODE = "";
rq.CHECKINDATE = "02.09.2014";
rq.CHECKOUTDATE = "08.09.2014";
rq.HOTELCODE = "";
rq.LANGUAGECODE = "TRK";
rq.PASSENGERLIST = pass;
Response.Write(rq.CHECKINDATE);
Response.Write(rq.CHECKOUTDATE);
API.API api = new API.API();
API.SEARCH_RESPONSE[] test = api.GetHotels(rq);
for (int i = 0; i < test.Length; i++)
{
Response.Write(test[i].ERRORINFO.ToString() + "
");
Response.Write(test[i].HOTELNAME + "
");
Response.Write(test[i].HOTELPICTURE + "
");
Response.Write(test[i].HOTELSHORTINFO + "
");
Response.Write(test[i].PLACECODE + "
");
Response.Write(test[i].PLACENAME + "
");
Response.Write(test[i].PRODUCTKEY + "
");
Response.Write(test[i].ROOMNAME + "
");
Response.Write(test[i].ROOMPRICE + "
");
Response.Write(test[i].CHECKINDATE + "
");
Response.Write(test[i].CHECKOUTDATE + "
");
Response.Write(test[i].ROOMNAME + "
");
Response.Write("");
}
}
public void MakeBooking()
{
API.API api = new API.API();
API.PASSENGER[] pass = new API.PASSENGER[3];
pass[0] = new API.PASSENGER();
pass[0].PASSTYPE = "ADT";
pass[0].FIRSTNAME = "TEST";
pass[0].LASTNAME = "test last name";
pass[0].DOB = "dfss";
pass[1] = new API.PASSENGER();
pass[1].PASSTYPE = "ADT";
pass[1].FIRSTNAME = "test 2";
pass[1].LASTNAME = "test last name";
pass[1].DOB = "16.03.1983";
pass[2] = new API.PASSENGER();
pass[2].PASSTYPE = "CHD";
pass[2].DOB = "16.06.2001";
pass[2].FIRSTNAME = "TEST child";
pass[2].LASTNAME = "test last name";
API.ROOM_DETAIL[] room = new API.ROOM_DETAIL[1];
room[0] = new API.ROOM_DETAIL();
room[0].CHECKINDATE = "02.09.2014";
room[0].CHECKOUTDATE = "08.09.2014";
room[0].HOTELCODE = "AP";
room[0].PRODUCTKEY = "27-926-27677";
API.BOOKING_REQUEST book = new API.BOOKING_REQUEST();
book.AGENTINFO = new API.AGENT_INFO();
book.CUSTOMERINFO= new API.CUSTOMER();
book.AGENTINFO.AGENT_ID = " agent login ";
book.AGENTINFO.AGENT_PWD = " agent pass";
book.CUSTOMERINFO.ADDRESS = "istanbul plaza";
book.CUSTOMERINFO.CITY = "istanbul";
book.CUSTOMERINFO.COUNTRY = "Turkey";
book.CUSTOMERINFO.EMAIL = "mert@xxx.com";
book.CUSTOMERINFO.FAX = "11111";
book.CUSTOMERINFO.FIRSTNAME = "API";
book.CUSTOMERINFO.LASTNAME = "API";
book.CUSTOMERINFO.PHONE = "222";
book.CUSTOMERINFO.PHONEMOBILE = "532";
book.CUSTOMERINFO.TITLE = "MR";
book.CUSTOMERINFO.ZIP = "34768";
book.LANGUAGECODE = "TRK";
book.PASSENGERLIST = pass;
book.ROOMDETAIL_LIST = room;
API.BOOKING_RESPONSE bookResponse = api.MakeBooking(book);
Response.Write(bookResponse.ERRORINFO + "
");
Response.Write(bookResponse.BOOKINGSTATUS + "
");
Response.Write(bookResponse.PNR + "
");
Response.Write(bookResponse.TOTALCOMISSION + "
");
Response.Write(bookResponse.TOTALAMOUNT + "
");
}
Спасибо!
Подробнее здесь: https://stackoverflow.com/questions/326 ... eb-service
Мобильная версия