Porter - Logistics Service App 图标

Porter 物流服务 App 数据 API

SmartShift Logistics Solutions Private Limited · 出行

Porter 客户 App 通过私有 JSON 客户 API 为市内货运定价与下单。确认页把 /v1/quotes/on-demand 连同 vehicle_ids 与嵌套 order 一起提交,返回各车型 fare_info 与 quotation_uuid;下单调用 /v1/bookings/create 把该报价转为 order_crn。/v1/account/snapshot 的首页快照返回 Porter 钱包 amount、Paytm 余额、dues_amount 与 open_or_live_order_ids。优惠券、租赁套餐、地理区域多边形与司机评价共用同一 mobile + auth_token 会话。

Porter 是 SmartShift Logistics 面向印度的按需货运客户 App(两轮车、小货车、Ace 与卡车)。其运费确认、优惠券、租赁套餐与钱包界面背后是私有 JSON 客户 API:按需报价以 vehicle_ids 与嵌套 order 请求,优惠券/折扣返回 fare 与 applied_coupon,另有按时长/里程的租赁套餐、Porter/Paytm 钱包快照、取货城市地理区域、进行中订单与欠款标记,以及行程后司机评价。登录调用在请求体发送客户 mobile 与 auth_token。

应用截图

  • Porter - Logistics Service App 应用截图 1
  • Porter - Logistics Service App 应用截图 2
  • Porter - Logistics Service App 应用截图 3
  • Porter - Logistics Service App 应用截图 4
  • Porter - Logistics Service App 应用截图 5
  • Porter - Logistics Service App 应用截图 6
  • Porter - Logistics Service App 应用截图 7

API 端点一览

  • 按需车型报价

    POST /v1/quotes/on-demand opendata

    针对一组收发地址返回各车型按需运费报价(quotation_uuid、fare_info、route_polyline),即确认下单页。

    认证方式: 客户会话:JSON 请求体字段 mobile 与 auth_token。

    • vehicle_ids
    • selected_vehicle_id
    • service_type
    • part_load_only_request
    • customer_mobile
    • geo_region_id
    • from_address_lat
    • from_address_long
    • to_address_lat
    • to_address_long
    • waypoints_attributes
    • payment_mode
    • use_porter_credits
    • vehicle_wise_quotations
    • quotation_uuid
    • vehicle_id
    • fare_info
    • fare
    • min_paytm_amount
    • total_discount
    • applied_coupon
    • fare_before_discount
    • nearby_vehicle_drivers
    • route_polyline
    • select_vehicle_id
    • wallet_info
    • porter_duration_in_mins

    依据应用界面重构的示意示例,并非实时抓包。

    POST /v1/quotes/on-demand HTTP/1.1
    Content-Type: application/json
    
    {
      "mobile": "9876543210",
      "auth_token": "<auth_token>",
      "vehicle_ids": [1, 2, 5],
      "selected_vehicle_id": 2,
      "service_type": "spot",
      "part_load_only_request": false,
      "order": {
        "customer_mobile": "9876543210",
        "geo_region_id": 3,
        "from_address_lat": 12.9716,
        "from_address_long": 77.5946,
        "to_address_lat": 12.9352,
        "to_address_long": 77.6245,
        "waypoints_attributes": [],
        "value_added_services": [],
        "payment_mode": "online",
        "business_order_info": null,
        "use_porter_credits": true
      }
    }
    {
      "vehicle_wise_quotations": [{
        "quotation_uuid": "q-9f3a1c",
        "vehicle_id": 2,
        "fare_info": {
          "fare": 412.0,
          "min_paytm_amount": 50.0,
          "min_paytm_amount_with_credits": 0.0,
          "total_discount": 40.0,
          "applied_coupon": null,
          "description": "2-wheeler",
          "applied_discounts": [],
          "fare_before_discount": 452.0
        },
        "book_cta_info_text": "Book now",
        "value_added_services": [],
        "bill_details": {},
        "porter_duration_in_mins": 28,
        "price_differential_percentage": 0,
        "outstation_tag": null
      }],
      "nearby_vehicle_drivers": [],
      "route_polyline": "enc:polyline",
      "select_vehicle_id": 2,
      "wallet_info": {
        "paytm_wallet": {"login_status": true, "balance": 120.5, "balance_api_status": "ok"},
        "porter_wallet": {"amount": 80.0, "payable": true}
      },
      "partload_vehicle_wise_quotations": []
    }

    依据应用界面推导;端点细节为示意说明,并非实际抓包。

    • 依据应用的确认下单运费页重构。
    • 字段名与该页背后的各车型报价模型一致。
  • 应用按需优惠券

    POST /v1/quotes/coupons/apply opendata

    为指定 vehicle_id 应用 coupon_code 后重新计算按需报价,返回含 applied_coupon 与 total_discount 的 fare_info。

    认证方式: 客户会话:JSON 请求体字段 mobile 与 auth_token。

    • coupon_code
    • vehicle_id
    • quotations_request
    • applied_coupon
    • total_discount
    • applied_discounts
    • fare
    • fare_before_discount
    • quotation_uuid

    依据应用界面重构的示意示例,并非实时抓包。

    POST /v1/quotes/coupons/apply HTTP/1.1
    Content-Type: application/json
    
    {
      "mobile": "9876543210",
      "auth_token": "<auth_token>",
      "coupon_code": "PORTER40",
      "vehicle_id": 2,
      "quotations_request": {
        "vehicle_ids": [2],
        "selected_vehicle_id": 2,
        "service_type": "spot",
        "part_load_only_request": false,
        "order": {
          "customer_mobile": "9876543210",
          "geo_region_id": 3,
          "from_address_lat": 12.9716,
          "from_address_long": 77.5946,
          "to_address_lat": 12.9352,
          "to_address_long": 77.6245,
          "waypoints_attributes": [],
          "value_added_services": [],
          "payment_mode": "online",
          "use_porter_credits": false
        }
      }
    }
    {
      "vehicle_wise_quotations": [{
        "quotation_uuid": "q-9f3a1c",
        "vehicle_id": 2,
        "fare_info": {
          "fare": 372.0,
          "min_paytm_amount": 50.0,
          "min_paytm_amount_with_credits": 0.0,
          "total_discount": 80.0,
          "applied_coupon": "PORTER40",
          "description": "2-wheeler",
          "applied_discounts": [{"value": "PORTER40"}],
          "fare_before_discount": 452.0
        }
      }],
      "select_vehicle_id": 2,
      "wallet_info": {
        "paytm_wallet": {"login_status": true, "balance": 120.5, "balance_api_status": "ok"},
        "porter_wallet": {"amount": 80.0, "payable": true}
      }
    }

    依据应用界面推导;端点细节为示意说明,并非实际抓包。

    • 依据运费确认页的优惠券输入步骤重构。
    • 请求/响应镜像报价流程,另加优惠券字段。
  • 应用按需折扣

    POST /v1/quotes/discounts/apply opendata

    对 quotations_request 应用优惠券与奖励折扣(should_use_auto_apply、requested_discounts),返回更新后的 fare_info。

    认证方式: 客户会话:JSON 请求体字段 mobile 与 auth_token。

    • discounts_request
    • should_use_auto_apply
    • requested_discounts
    • value
    • vehicle_id
    • quotations_request
    • applied_discounts
    • applied_coupon
    • total_discount

    依据应用界面重构的示意示例,并非实时抓包。

    POST /v1/quotes/discounts/apply HTTP/1.1
    Content-Type: application/json
    
    {
      "mobile": "9876543210",
      "auth_token": "<auth_token>",
      "vehicle_id": 2,
      "discounts_request": {
        "should_use_auto_apply": true,
        "requested_discounts": [{"value": "PORTER40"}]
      },
      "quotations_request": {
        "vehicle_ids": [2],
        "selected_vehicle_id": 2,
        "service_type": "spot",
        "part_load_only_request": false,
        "order": {
          "customer_mobile": "9876543210",
          "geo_region_id": 3,
          "from_address_lat": 12.9716,
          "from_address_long": 77.5946,
          "to_address_lat": 12.9352,
          "to_address_long": 77.6245,
          "waypoints_attributes": [],
          "value_added_services": [],
          "payment_mode": "online",
          "use_porter_credits": true
        }
      }
    }
    {
      "vehicle_wise_quotations": [{
        "quotation_uuid": "q-9f3a1c",
        "vehicle_id": 2,
        "fare_info": {
          "fare": 372.0,
          "total_discount": 80.0,
          "applied_coupon": "PORTER40",
          "applied_discounts": [{"value": "PORTER40"}],
          "fare_before_discount": 452.0
        }
      }],
      "select_vehicle_id": 2
    }

    依据应用界面推导;端点细节为示意说明,并非实际抓包。

    • 依据应用的自动应用奖励与折扣流程重构。
  • 移除按需优惠券

    POST /v1/quotes/coupons/remove opendata

    从按需报价中清除已应用的 coupon_code,返回未折扣的 fare_info。

    认证方式: 客户会话:JSON 请求体字段 mobile 与 auth_token。

    • coupon_code
    • vehicle_id
    • quotations_request
    • applied_coupon
    • total_discount
    • fare

    依据应用界面重构的示意示例,并非实时抓包。

    POST /v1/quotes/coupons/remove HTTP/1.1
    Content-Type: application/json
    
    {
      "mobile": "9876543210",
      "auth_token": "<auth_token>",
      "coupon_code": "PORTER40",
      "vehicle_id": 2,
      "quotations_request": {
        "vehicle_ids": [2],
        "selected_vehicle_id": 2,
        "service_type": "spot",
        "part_load_only_request": false,
        "order": {
          "customer_mobile": "9876543210",
          "geo_region_id": 3,
          "from_address_lat": 12.9716,
          "from_address_long": 77.5946,
          "to_address_lat": 12.9352,
          "to_address_long": 77.6245,
          "waypoints_attributes": [],
          "value_added_services": [],
          "payment_mode": "online",
          "use_porter_credits": false
        }
      }
    }
    {
      "vehicle_wise_quotations": [{
        "quotation_uuid": "q-9f3a1c",
        "vehicle_id": 2,
        "fare_info": {
          "fare": 452.0,
          "total_discount": 0.0,
          "applied_coupon": null,
          "applied_discounts": [],
          "fare_before_discount": 452.0
        }
      }],
      "select_vehicle_id": 2
    }

    依据应用界面推导;端点细节为示意说明,并非实际抓包。

    • 依据运费确认页的优惠券移除操作重构。
  • 租赁套餐

    POST /v1/rentals/packages opendata

    按车型列出按时长/里程的租赁套餐(uuid、fare、time、distance),供租赁预订流程使用。

    认证方式: 客户会话:JSON 请求体字段 mobile 与 auth_token。

    • n_waypoints
    • vehicle_ids
    • order
    • rentalVehicleData
    • uuid
    • fare
    • totalDiscount
    • time
    • distance
    • minPaytmBalance
    • vehicleInfoList
    • initSelectedVehicleId
    • description
    • walletInfo

    依据应用界面重构的示意示例,并非实时抓包。

    POST /v1/rentals/packages HTTP/1.1
    Content-Type: application/json
    
    {
      "mobile": "9876543210",
      "auth_token": "<auth_token>",
      "n_waypoints": 0,
      "vehicle_ids": [4, 5],
      "order": {
        "customer_mobile": "9876543210",
        "geo_region_id": 3,
        "from_address_lat": 19.0760,
        "from_address_long": 72.8777,
        "to_address_lat": 19.1136,
        "to_address_long": 72.8697,
        "waypoints_attributes": [],
        "value_added_services": [],
        "payment_mode": "online",
        "use_porter_credits": false
      }
    }
    {
      "rentalVehicleData": [{
        "uuid": "rp-8h",
        "fare": 1499.0,
        "totalDiscount": 0.0,
        "time": "8 hrs",
        "distance": "80 km",
        "minPaytmBalance": 0.0
      }],
      "vehicleInfoList": [],
      "initSelectedVehicleId": 4,
      "description": "Full-day rental",
      "walletInfo": {
        "paytm_wallet": {"login_status": true, "balance": 120.5, "balance_api_status": "ok"},
        "porter_wallet": {"amount": 80.0, "payable": true}
      }
    }

    依据应用界面推导;端点细节为示意说明,并非实际抓包。

    • 依据应用的租赁套餐选择页重构。
    • camelCase 字段集与按车型展示的租赁套餐卡片一致。
  • 应用租赁优惠券

    POST /v1/rentals/coupons/apply opendata

    为 selectedVehicleId 应用 couponCode 后重新计算租赁套餐价格。

    认证方式: 客户会话:JSON 请求体字段 mobile 与 auth_token。

    • couponCode
    • selectedVehicleId
    • rentalPackagesRequest
    • uuid
    • fare
    • totalDiscount
    • initSelectedVehicleId

    依据应用界面重构的示意示例,并非实时抓包。

    POST /v1/rentals/coupons/apply HTTP/1.1
    Content-Type: application/json
    
    {
      "mobile": "9876543210",
      "auth_token": "<auth_token>",
      "couponCode": "RENTAL100",
      "selectedVehicleId": 4,
      "rentalPackagesRequest": {
        "mobile": "9876543210",
        "auth_token": "<auth_token>",
        "n_waypoints": 0,
        "vehicle_ids": [4],
        "order": {
          "customer_mobile": "9876543210",
          "geo_region_id": 3,
          "from_address_lat": 19.0760,
          "from_address_long": 72.8777,
          "to_address_lat": 19.1136,
          "to_address_long": 72.8697,
          "waypoints_attributes": [],
          "value_added_services": [],
          "payment_mode": "online",
          "use_porter_credits": false
        }
      }
    }
    {
      "rentalVehicleData": [{
        "uuid": "rp-8h",
        "fare": 1399.0,
        "totalDiscount": 100.0,
        "time": "8 hrs",
        "distance": "80 km",
        "minPaytmBalance": 0.0
      }],
      "initSelectedVehicleId": 4,
      "description": "Full-day rental",
      "walletInfo": {
        "porter_wallet": {"amount": 80.0, "payable": true}
      }
    }

    依据应用界面推导;端点细节为示意说明,并非实际抓包。

    • 依据租赁预订流程中的租赁优惠券步骤重构。
  • 创建按需订单

    POST /v1/bookings/create opendata

    根据 quotation_uuid 创建按需订单,返回实时行程页所用的 order_crn 与 order_status。

    认证方式: 客户会话:JSON 请求体字段 mobile 与 auth_token。

    • quotation_uuid
    • vehicle_id
    • customer_mobile
    • geo_region_id
    • from_address_lat
    • from_address_long
    • to_address_lat
    • to_address_long
    • payment_mode
    • use_porter_credits
    • order_crn
    • order_created_at
    • order_status
    • rebooking_enabled
    • pay_online_enabled
    • is_cod_order
    • amount
    • cash_payable

    依据应用界面重构的示意示例,并非实时抓包。

    POST /v1/bookings/create HTTP/1.1
    Content-Type: application/json
    
    {
      "mobile": "9876543210",
      "auth_token": "<auth_token>",
      "quotation_uuid": "q-9f3a1c",
      "vehicle_id": 2,
      "customer_mobile": "9876543210",
      "geo_region_id": 3,
      "from_address_lat": 12.9716,
      "from_address_long": 77.5946,
      "to_address_lat": 12.9352,
      "to_address_long": 77.6245,
      "waypoints_attributes": [],
      "value_added_services": [],
      "payment_mode": "online",
      "use_porter_credits": true
    }
    {
      "order_crn": "CRN240918001",
      "order_created_at": 1726632000000,
      "geo_region_id": 3,
      "order_status": {"name": "finding_driver"},
      "rebooking_enabled": false,
      "pay_online_enabled": true,
      "is_cod_order": false,
      "total_amount": {"amount": 372.0, "cash_payable": 0.0}
    }

    依据应用界面推导;端点细节为示意说明,并非实际抓包。

    • 依据订单确认与实时行程流程重构。
    • 响应字段与行程跟踪页背后的订单模型一致。
  • 账户快照、钱包与欠款

    POST /v1/account/snapshot openfinance

    加载登录后的首页快照:Porter/Paytm 钱包余额、dues_amount、进行中订单 ID、未评价行程与 blacklisting_info。

    认证方式: 客户会话:JSON 请求体字段 mobile 与 auth_token。

    • for_blacklisting
    • blacklisting_info
    • is_blacklisted
    • wallet_info
    • paytm_wallet
    • login_status
    • balance
    • balance_api_status
    • porter_wallet
    • amount
    • payable
    • category
    • unrated_order_ids
    • open_or_live_order_ids
    • goods_type_info
    • all_goods_types
    • default_goods_types
    • dues_info
    • dues_amount

    依据应用界面重构的示意示例,并非实时抓包。

    POST /v1/account/snapshot HTTP/1.1
    Content-Type: application/json
    
    {
      "mobile": "9876543210",
      "auth_token": "<auth_token>",
      "for_blacklisting": false
    }
    {
      "blacklisting_info": {
        "is_blacklisted": false,
        "skip_blacklisting": false,
        "type": null,
        "message": null,
        "balance": 0.0
      },
      "wallet_info": {
        "paytm_wallet": {"login_status": true, "balance": 120.5, "balance_api_status": "ok"},
        "porter_wallet": {"amount": 80.0, "payable": true}
      },
      "category": "retail",
      "unrated_order_ids": ["CRN240917014"],
      "open_or_live_order_ids": ["CRN240918001"],
      "app_update_data": {},
      "goods_type_info": {
        "all_goods_types": ["Household", "Electronics"],
        "default_goods_types": ["Household"]
      },
      "share_app": {},
      "dues_info": {"message": "",
        "dues_amount": 0.0}
    }

    依据应用界面推导;端点细节为示意说明,并非实际抓包。

    • 依据登录后首页快照重构。
    • 钱包与欠款字段与钱包卡片背后的模型一致。
  • 获取地理区域

    POST /v1/regions/resolve opendata

    把经纬度解析为报价与下单所用的 Porter geo_region(id、name、pickup_polygon、drop_polygon)。

    认证方式: 可选客户会话(mobile、auth_token)。请求体为经纬度。

    • lat
    • long
    • geo_region
    • id
    • name
    • pickup_polygon
    • drop_polygon

    依据应用界面重构的示意示例,并非实时抓包。

    POST /v1/regions/resolve HTTP/1.1
    Content-Type: application/json
    
    {
      "lat": 12.9716,
      "long": 77.5946
    }
    {
      "geo_region": {
        "id": 3,
        "name": "Bengaluru",
        "pickup_polygon": "12.97,77.59 ...",
        "drop_polygon": "12.97,77.59 ..."
      }
    }

    依据应用界面推导;端点细节为示意说明,并非实际抓包。

    • 依据地图选点时的取货城市解析步骤重构。
  • 保存司机评价

    POST /v1/trips/rating opendata

    为 unrated_order_ids 中的 order_crn 提交行程后司机反馈(含 id/name 的 rating_reasons)。

    认证方式: 客户会话:JSON 请求体字段 mobile 与 auth_token。

    • order_crn
    • rating_reasons
    • id
    • name
    • unrated_order_ids

    依据应用界面重构的示意示例,并非实时抓包。

    POST /v1/trips/rating HTTP/1.1
    Content-Type: application/json
    
    {
      "mobile": "9876543210",
      "auth_token": "<auth_token>",
      "order_crn": "CRN240917014",
      "rating_reasons": [{"id": 11, "name": "On time"}]
    }
    {
      "order_crn": "CRN240917014",
      "unrated_order_ids": []
    }

    依据应用界面推导;端点细节为示意说明,并非实际抓包。

    • 依据行程后司机评价提示重构。

数据类别

  • 报价
  • 运费
  • 优惠券
  • 钱包
  • 地理区域
  • 订单
  • 评价

数据使用场景与案例

  • 货主运费洞察

    3PL 或电商平台可在确定线路前快照各车型运费报价、优惠券后总额与 Porter 预计分钟数,并对比同一收发的两轮车与小货车报价。

  • 钱包与欠款对账

    财务机器人可拉取 Porter 钱包 amount/payable、Paytm login_status 与 balance,以及 dues_amount,标记需结清欠款才能下单的客户。

  • 进行中订单运营台

    运营控制台可在下单后轮询 open_or_live_order_ids 与 unrated_order_ids,并在行程结束后提交 rating_reasons 完成闭环。

  • 可服务城市校验

    预订组件可把取货坐标解析为地理区域(id、name、取/送多边形),并在展示车型前拒绝 Porter 覆盖范围外的报价。

常见问题

Porter 客户 API 暴露哪些数据?

按需报价(quotation_uuid、fare、vehicle_id)、优惠券与折扣调整、按时长/里程的租赁套餐、Porter 与 Paytm 钱包余额、地理区域多边形、进行中/未评价订单 ID、欠款,以及行程后评价原因。

Porter 如何认证客户调用?

登录请求在 JSON 请求体中发送登录流程签发的客户 mobile 与 auth_token。地理区域查询以经纬度为键,请求体无需这些字段。

Porter 客户 API 是否同时覆盖租赁与按需下单?

是的。租赁流程按车型列出按时长/里程的套餐(uuid、fare、time、distance)并在应用优惠券后重新定价,与用于即时行程的按需报价和下单流程相互独立。

哪个端点驱动 Porter 首页的钱包与欠款卡片?

POST /v1/account/snapshot 返回登录快照:wallet_info 含 paytm_wallet.balance 与 porter_wallet.amount、dues_info.dues_amount,以及驱动实时行程与评价提示的 open_or_live_order_ids 和 unrated_order_ids。

相关主题

  • Porter API
  • Porter 报价 API
  • Porter 钱包余额
  • Porter 客户数据 API
  • 印度按需物流 API
  • Porter 优惠券运费
  • Porter 地理区域
  • Porter 订单 CRN

需要集成这个 App 的数据 API?

我们可为任意指定 App 交付定制集成——源码交付 USD 500 起,或托管 API 按调用计费。告诉我们您需要的数据即可。

  • 每个项目均签 NDA 与 SOW
  • 3–7 天交付
  • 验收通过后才付款
  • 仅在授权范围内作业

获取报价