Uber Eats沙箱环境中启用robo_courier_specification的技术咨询
问题描述
在sandbox-api.uber.com上提交不含test_specifications的配送请求可正常执行,返回的live_mode字段值为false,确认当前处于沙箱环境而非生产环境。
不含test_specifications的正常请求示例:
{ "pickup_address": "124 w tennesee st, tallahassee, fl, 32301", "dropoff_address": "124 w tennesee st, tallahassee, fl, 32301", "dropoff_name": "nowhere", "manifest": "nothing", "pickup_name": "nobody", "dropoff_phone_number": "523-123-1231", "pickup_phone_number": "523-123-1232" }
但按照Robocourier示例添加test_specifications参数后,API返回错误信息“test_specifications not allowed for production requests”,无法创建配送。
含test_specifications的失败请求示例:
{ "pickup_address": "124 w tennesee st, tallahassee, fl, 32301", "dropoff_address": "124 w tennesee st, tallahassee, fl, 32301", "dropoff_name": "nowhere", "manifest": "nothing", "pickup_name": "nobody", "dropoff_phone_number": "523-123-1231", "pickup_phone_number": "523-123-1232", "test_specifications": { "robo_courier_specification": { "mode": "auto" } } }
Uber Eats DaaS的错误响应内容:
{ "code": "invalid_params", "message": "The parameters of your request were invalid.", "kind": "error", "metadata": { "param_details": "test_specifications not allowed for production requests" } }
现咨询:如何在沙箱环境中启用robo_courier_specification,以完成webhooks的测试?
解决方案建议
- 确认沙箱功能权限:
robo_courier_specification属于Uber DaaS的特殊测试功能,可能需要单独申请开通。直接通过开发者后台提交权限申请,或联系Uber开发者支持团队确认当前沙箱账号是否具备该参数的使用权限。 - 检查认证凭据:确保请求使用的是沙箱环境专属的认证令牌,而非生产环境令牌。即使调用沙箱域名,若令牌属于生产环境,API仍会判定为生产请求,拒绝
test_specifications参数。 - 验证参数格式:核对
test_specifications的嵌套结构是否完全符合要求,比如robo_courier_specification下的mode值是否为允许的枚举类型,避免因参数格式错误触发误判。 - 确认测试端点:部分Robocourier测试功能可能对应沙箱专属的API端点,而非通用的配送创建接口。查阅Uber官方沙箱文档,确认是否存在专门用于Robocourier测试的路径。
内容的提问来源于stack exchange,提问作者user20045101
相关产品推荐
相关产品推荐

