我正在使用请求v1.2查询Uber API端点。(https://api.uber.com/v1.2/requests/estimate)
我看到了一些奇怪的行为,UberPool返回的乘车费用比UberX更贵。根据我个人的经验,在应用程序中总是相反的。。。我已经检查并再次检查了我的产品ID等
下面只是一个返回UberPool估计值的示例查询,这些估计值比UberX更贵。据我所知,这种情况似乎一直发生在长途旅行中(这仍然与我在优步应用程序中看到的优步池比优步X便宜的情况不符(:
水池
{'fare': {'breakdown': [{'name': 'Promotion',
'type': 'promotion',
'value': -4.0},
{'name': 'Base Fare',
'type': 'base_fare',
'value': 64.01}],
'currency_code': 'USD',
'display': '$60.01',
'expires_at': 1543621842,
'fare_id': '3383930c3076db034e70d03623fa2938e92276e5c47d668f8092c0286c298928',
'value': 60.01},
'pickup_estimate': 5,
'trip': {'distance_estimate': 29.76,
'distance_unit': 'mile',
'duration_estimate': 3300}}
这是使用v1.2端点和以下查询数据参数生成的:
data = '{n "product_id": "26546650-e557-4a7b-86e7-6a3942445247",n "start_latitude": "37.9779776",n "start_longitude": "-122.0310733",n "end_latitude": "37.7941378",n "end_longitude": "-122.4077914"n }'
UBERX
{'fare': {'breakdown': [{'name': 'Promotion',
'type': 'promotion',
'value': -4.0},
{'name': 'Base Fare',
'type': 'base_fare',
'value': 47.36}],
'currency_code': 'USD',
'display': '$43.36',
'expires_at': 1543621878,
'fare_id': '24098c789d23e5e4c961e268963269ea3313654acc41555b73ef232e6b4219b9',
'value': 43.36},
'pickup_estimate': 4,
'trip': {'distance_estimate': 29.76,
'distance_unit': 'mile',
'duration_estimate': 3300}}
除了product_id是UberX而不是UberPool之外,生成的内容完全相同:
data = '{n "product_id": "a1111c8c-c720-46c3-8534-2fcdd730040d",n "start_latitude": "37.9779776",n "start_longitude": "-122.0310733",n "end_latitude": "37.7941378",n "end_longitude": "-122.4077914"n }'
我相信我已经解决了自己的问题,并想分享答案:UberPool请求有一个隐含的参数"seat_count=2",它在我上面称为"data"的字典中传递。当我在字典中添加了一个明确的论点"seat_count=1"时,价格变得如预期的那样高,UberPool比UberX便宜!
需要明确的是,这仍然是API方面的怪异行为,优步员工已经注意到了这一点。UberPool永远不应该比UberX贵,包括如果你要求两个座位——从产品的角度来看,这是没有意义的,因为如果直接的UberX更便宜、更快,为什么有人会为自己和朋友称之为迂回的Uber Pool?