Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArsentiy Milchakov <milcars@mapswithme.com>2019-04-19 16:43:05 +0300
committerRoman Kuznetsov <r.kuznetsow@gmail.com>2019-04-19 16:52:10 +0300
commit6a1b2622bda31c9eadf91d3c136207528cdd4635 (patch)
tree958635a666b700f077b066e8c718f35a030958c9 /partners_api
parent01ed2046098a9c608e2949c9246204990226a5c6 (diff)
[booking] additional url params + ios statistics fix
Diffstat (limited to 'partners_api')
-rw-r--r--partners_api/booking_api.cpp52
-rw-r--r--partners_api/booking_api.hpp1
2 files changed, 42 insertions, 11 deletions
diff --git a/partners_api/booking_api.cpp b/partners_api/booking_api.cpp
index 48258aa7c0..0d85594e9b 100644
--- a/partners_api/booking_api.cpp
+++ b/partners_api/booking_api.cpp
@@ -5,6 +5,7 @@
#include "platform/platform.hpp"
#include "coding/url_encode.hpp"
+#include "coding/sha1.hpp"
#include "base/get_time.hpp"
#include "base/logging.hpp"
@@ -393,6 +394,30 @@ string ApplyAvailabilityParamsDeep(string const & url, AvailabilityParams const
return url::Make(url, p);
}
+
+string AppendAid(string const & baseUrl)
+{
+ ASSERT(!baseUrl.empty(), ());
+ url::Params p = {{"aid", BOOKING_AFFILIATE_ID}};
+ return url::Make(baseUrl, p);
+}
+
+string ApplendLabel(string const & baseUrl, string const & labelSource)
+{
+ ASSERT(!baseUrl.empty(), ());
+ ASSERT(!labelSource.empty(), ());
+ auto static const kDeviceIdHash =
+ coding::SHA1::CalculateForStringFormatted(GetPlatform().UniqueClientId());
+
+ url::Params const p = {{"label", labelSource + "-" + UrlEncode(kDeviceIdHash)}};
+
+ return url::Make(baseUrl, p);
+}
+
+string AppendAidAndLabel(string const & baseUrl, string const & labelSource)
+{
+ return ApplendLabel(AppendAid(baseUrl), labelSource);
+}
} // namespace
namespace booking
@@ -436,7 +461,7 @@ bool RawApi::BlockAvailability(BlockParams const & params, string & result)
string Api::GetBookHotelUrl(string const & baseUrl) const
{
ASSERT(!baseUrl.empty(), ());
- return GetDescriptionUrl(baseUrl);
+ return AppendAidAndLabel(baseUrl, "ppActionButton");
}
string Api::GetDeepLink(string const & hotelId) const
@@ -452,34 +477,39 @@ string Api::GetDeepLink(string const & hotelId) const
string Api::GetDescriptionUrl(string const & baseUrl) const
{
ASSERT(!baseUrl.empty(), ());
- return baseUrl + string("?aid=") + BOOKING_AFFILIATE_ID;
+ return AppendAidAndLabel(baseUrl, "ppDetails");
+}
+
+string Api::GetMoreUrl(string const & baseUrl) const
+{
+ ASSERT(!baseUrl.empty(), ());
+ return AppendAidAndLabel(baseUrl, "ppMoreInfo");
}
string Api::GetHotelReviewsUrl(string const & hotelId, string const & baseUrl) const
{
ASSERT(!baseUrl.empty(), ());
ASSERT(!hotelId.empty(), ());
- ostringstream os;
- os << GetDescriptionUrl(baseUrl) << "&tab=4&label=hotel-" << hotelId << "_reviews";
- return os.str();
+
+ url::Params const p = {{"tab", "4"}};
+ return url::Make(AppendAidAndLabel(baseUrl, "ppReviews"), p);
}
string Api::GetSearchUrl(string const & city, string const & name) const
{
if (city.empty() || name.empty())
- return "";
+ return {};
ostringstream paramStream;
paramStream << city << " " << name;
auto const urlEncodedParams = UrlEncode(paramStream.str());
- ostringstream resultStream;
- if (!urlEncodedParams.empty())
- resultStream << kSearchBaseUrl << "?aid=" << BOOKING_AFFILIATE_ID << ";" << "ss="
- << urlEncodedParams << ";";
+ if (urlEncodedParams.empty())
+ return {};
- return resultStream.str();
+ url::Params p = {{"&ss=", urlEncodedParams}};
+ return url::Make(AppendAidAndLabel(kSearchBaseUrl, "ppReviews"), p);
}
string Api::ApplyAvailabilityParams(string const & url, AvailabilityParams const & params) const
diff --git a/partners_api/booking_api.hpp b/partners_api/booking_api.hpp
index f0c88626dd..f70577a664 100644
--- a/partners_api/booking_api.hpp
+++ b/partners_api/booking_api.hpp
@@ -135,6 +135,7 @@ public:
std::string GetBookHotelUrl(std::string const & baseUrl) const;
std::string GetDeepLink(std::string const & hotelId) const;
std::string GetDescriptionUrl(std::string const & baseUrl) const;
+ std::string GetMoreUrl(string const & baseUrl) const;
std::string GetHotelReviewsUrl(std::string const & hotelId, std::string const & baseUrl) const;
std::string GetSearchUrl(std::string const & city, std::string const & name) const;
std::string ApplyAvailabilityParams(std::string const & url,