# ORDER API 购物车、优惠券、订单汇总及商家订单管理。 > 本文档由 protobuf descriptor 生成。字段名采用 protobuf JSON 名称;64 位整数在 JSON 中应按字符串处理。 ## 接入方式 - 动态 HTTP:`POST /rpc/order/{Service}/{Method}` - 原生 gRPC:`/order.{Service}/{Method}` - grpc-gateway:`POST /order.{Service}/{Method}` - 鉴权:需要登录的接口通过 `Authorization: ` 传递裸 JWT,不添加 `Bearer` 前缀。 - 动态 HTTP 成功或失败均返回 HTTP 200,业务状态见 `code`、`message`、`details`。 ## 服务概览 | 服务 | 方法数 | 说明 | |---|---:|---| | `Cart` | 4 | Cart 服务 | | `Coupon` | 1 | Coupon 服务 | | `Mgt` | 7 | Mgt 服务 | | `Summary` | 10 | Summary 服务 | ## Cart | 方法 | 动态 HTTP 路径 | 请求 | 响应 | 类型 | |---|---|---|---|---| | `Fetch` | `POST /rpc/order/Cart/Fetch` | [`order.CartGetRequest`](#ordercartgetrequest) | [`order.CartGetReply`](#ordercartgetreply) | Unary | | `Create` | `POST /rpc/order/Cart/Create` | [`order.CartAddRequest`](#ordercartaddrequest) | [`ec_order_blocks.OrderStatusReply`](#ec_order_blocksorderstatusreply) | Unary | | `Modify` | `POST /rpc/order/Cart/Modify` | [`order.CartSetRequest`](#ordercartsetrequest) | [`ec_order_blocks.OrderStatusReply`](#ec_order_blocksorderstatusreply) | Unary | | `Delete` | `POST /rpc/order/Cart/Delete` | [`order.CartDelRequest`](#ordercartdelrequest) | [`ec_order_blocks.OrderStatusReply`](#ec_order_blocksorderstatusreply) | Unary | ### Cart.Fetch - 动态 HTTP:`POST /rpc/order/Cart/Fetch` - gRPC:`/order.Cart/Fetch` - 请求示例: ```json { "car_identity": "string", "passport": "string", "passport_identity": "string" } ``` ### Cart.Create - 动态 HTTP:`POST /rpc/order/Cart/Create` - gRPC:`/order.Cart/Create` - 请求示例: ```json { "cart_identity": "string", "number": 0, "passport_identity": "string", "product_args": "string", "product_id": "0", "product_identity": "string", "spec_id": "0" } ``` ### Cart.Modify - 动态 HTTP:`POST /rpc/order/Cart/Modify` - gRPC:`/order.Cart/Modify` - 请求示例: ```json { "id": "0", "identity": "string", "number": 0, "unit_price": "0", "updates": [ { "id": "0", "number": "0" } ] } ``` ### Cart.Delete - 动态 HTTP:`POST /rpc/order/Cart/Delete` - gRPC:`/order.Cart/Delete` - 请求示例: ```json { "id": [ "0" ] } ``` ## Coupon | 方法 | 动态 HTTP 路径 | 请求 | 响应 | 类型 | |---|---|---|---|---| | `ByStatus` | `POST /rpc/order/Coupon/ByStatus` | [`order.Status`](#orderstatus) | [`order.CouponListReply`](#ordercouponlistreply) | Unary | ### Coupon.ByStatus - 动态 HTTP:`POST /rpc/order/Coupon/ByStatus` - gRPC:`/order.Coupon/ByStatus` - 请求示例: ```json { "status": 0 } ``` ## Mgt | 方法 | 动态 HTTP 路径 | 请求 | 响应 | 类型 | |---|---|---|---|---| | `OrderCreate` | `POST /rpc/order/Mgt/OrderCreate` | [`order.CreateOrderRequest`](#ordercreateorderrequest) | [`ec_order_blocks.OrderStatusReply`](#ec_order_blocksorderstatusreply) | Unary | | `OrderModify` | `POST /rpc/order/Mgt/OrderModify` | [`ec_order_blocks.OrderSummaryItem`](#ec_order_blocksordersummaryitem) | [`ec_order_blocks.OrderStatusReply`](#ec_order_blocksorderstatusreply) | Unary | | `OrderGet` | `POST /rpc/order/Mgt/OrderGet` | [`ec_order_blocks.OrderIdentRequest`](#ec_order_blocksorderidentrequest) | [`order.OrderGetReply`](#orderordergetreply) | Unary | | `OrderListByStore` | `POST /rpc/order/Mgt/OrderListByStore` | [`order.OrderListByStoreRequest`](#orderorderlistbystorerequest) | [`order.OrderListByStoreReply`](#orderorderlistbystorereply) | Unary | | `OrderCancel` | `POST /rpc/order/Mgt/OrderCancel` | [`ec_order_blocks.OrderIdentRequest`](#ec_order_blocksorderidentrequest) | [`ec_order_blocks.OrderStatusReply`](#ec_order_blocksorderstatusreply) | Unary | | `OrderReturnable` | `POST /rpc/order/Mgt/OrderReturnable` | [`ec_order_blocks.OrderIdentRequest`](#ec_order_blocksorderidentrequest) | [`ec_order_blocks.OrderStatusReply`](#ec_order_blocksorderstatusreply) | Unary | | `OrderApprove` | `POST /rpc/order/Mgt/OrderApprove` | [`ec_order_blocks.OrderIdentRequest`](#ec_order_blocksorderidentrequest) | [`ec_order_blocks.OrderStatusReply`](#ec_order_blocksorderstatusreply) | Unary | ### Mgt.OrderCreate - 动态 HTTP:`POST /rpc/order/Mgt/OrderCreate` - gRPC:`/order.Mgt/OrderCreate` - 请求示例: ```json { "address_identity": "string", "args": "string", "delivery_time": "string", "partner_id": 0, "spec": [ { "number": 0, "product_identity": "string" } ] } ``` ### Mgt.OrderModify - 动态 HTTP:`POST /rpc/order/Mgt/OrderModify` - gRPC:`/order.Mgt/OrderModify` - 请求示例: ```json { "addr": "string", "address": "string", "address_identity": "string", "approve": 0, "area": "string", "brand": "string", "car_identity": "string", "city": "string", "contact": "string", "county": "string", "coupon_amount": "0", "created": "string", "delivery_address": "string", "delivery_identity": "string", "delivery_time": "string", "details": [ { "cover_image": "string", "gas_types": "0", "id": "0", "number": "0", "product_args": "string", "product_id": "0", "product_identity": "string", "sales_price": "0", "spec": "string", "spec_id": "0", "spec_no": "string", "title": "string", "total_price": "0", "type": "0", "unit_price": "0" } ], "id": "0", "identity": "string", "license_number": "string", "logistics_fee": "0", "logistics_number": "string", "member_name": "string", "member_phone": "string", "order_no": "string", "partner_id": "0", "pay_amount": "0", "pay_remark": "string", "pay_time": "string", "pay_trade_no": "string", "pay_type": 0, "phone": "string", "province": "string", "refund_price": "0", "remark": "string", "status": 0, "total_price": "0", "trans_price": "0", "updated": "string", "version": "string" } ``` ### Mgt.OrderGet - 动态 HTTP:`POST /rpc/order/Mgt/OrderGet` - gRPC:`/order.Mgt/OrderGet` - 请求示例: ```json { "agency": "string", "approve": 0, "id": "0", "identity": "string", "reason": "string", "storeIdentity": "string" } ``` ### Mgt.OrderListByStore - 动态 HTTP:`POST /rpc/order/Mgt/OrderListByStore` - gRPC:`/order.Mgt/OrderListByStore` - 请求示例: ```json { "agency": "string", "keyword": "string", "order_status": [ 0 ], "page_no": "0", "page_size": "0", "partner_id": "0", "pay_type": 0, "status": 0, "storeIdentity": "string" } ``` ### Mgt.OrderCancel - 动态 HTTP:`POST /rpc/order/Mgt/OrderCancel` - gRPC:`/order.Mgt/OrderCancel` - 请求示例: ```json { "agency": "string", "approve": 0, "id": "0", "identity": "string", "reason": "string", "storeIdentity": "string" } ``` ### Mgt.OrderReturnable - 动态 HTTP:`POST /rpc/order/Mgt/OrderReturnable` - gRPC:`/order.Mgt/OrderReturnable` - 请求示例: ```json { "agency": "string", "approve": 0, "id": "0", "identity": "string", "reason": "string", "storeIdentity": "string" } ``` ### Mgt.OrderApprove - 动态 HTTP:`POST /rpc/order/Mgt/OrderApprove` - gRPC:`/order.Mgt/OrderApprove` - 请求示例: ```json { "agency": "string", "approve": 0, "id": "0", "identity": "string", "reason": "string", "storeIdentity": "string" } ``` ## Summary | 方法 | 动态 HTTP 路径 | 请求 | 响应 | 类型 | |---|---|---|---|---| | `QuickCreateByProduct` | `POST /rpc/order/Summary/QuickCreateByProduct` | [`order.QuickCreateByProductRequest`](#orderquickcreatebyproductrequest) | [`ec_order_blocks.OrderStatusReply`](#ec_order_blocksorderstatusreply) | Unary | | `Submit` | `POST /rpc/order/Summary/Submit` | [`order.SubmitRequest`](#ordersubmitrequest) | [`ec_order_blocks.OrderStatusReply`](#ec_order_blocksorderstatusreply) | Unary | | `Check` | `POST /rpc/order/Summary/Check` | [`ec_order_blocks.Empty`](#ec_order_blocksempty) | [`ec_order_blocks.OrderStatusReply`](#ec_order_blocksorderstatusreply) | Unary | | `Get` | `POST /rpc/order/Summary/Get` | [`ec_order_blocks.OrderIdentRequest`](#ec_order_blocksorderidentrequest) | [`order.SummaryGetReply`](#ordersummarygetreply) | Unary | | `List` | `POST /rpc/order/Summary/List` | [`order.SummaryListRequest`](#ordersummarylistrequest) | [`order.SummaryListReply`](#ordersummarylistreply) | Unary | | `Confirm` | `POST /rpc/order/Summary/Confirm` | [`order.ConfirmRequest`](#orderconfirmrequest) | [`order.ConfirmReply`](#orderconfirmreply) | Unary | | `Cancel` | `POST /rpc/order/Summary/Cancel` | [`order.CancelRequest`](#ordercancelrequest) | [`ec_order_blocks.OrderStatusReply`](#ec_order_blocksorderstatusreply) | Unary | | `SimulatePay` | `POST /rpc/order/Summary/SimulatePay` | [`order.SimulatePayRequest`](#ordersimulatepayrequest) | [`ec_order_blocks.OrderStatusReply`](#ec_order_blocksorderstatusreply) | Unary | | `SimulateShipments` | `POST /rpc/order/Summary/SimulateShipments` | [`order.SimulateShipmentsRequest`](#ordersimulateshipmentsrequest) | [`ec_order_blocks.OrderStatusReply`](#ec_order_blocksorderstatusreply) | Unary | | `SimulateReceiving` | `POST /rpc/order/Summary/SimulateReceiving` | [`ec_order_blocks.OrderIdentRequest`](#ec_order_blocksorderidentrequest) | [`ec_order_blocks.OrderStatusReply`](#ec_order_blocksorderstatusreply) | Unary | ### Summary.QuickCreateByProduct - 动态 HTTP:`POST /rpc/order/Summary/QuickCreateByProduct` - gRPC:`/order.Summary/QuickCreateByProduct` - 请求示例: ```json { "address_identity": "string", "args": "string", "delivery_address": "string", "delivery_time": "string", "member_identity": "string", "number": 0, "partner_id": 0, "product_identity": "string", "spec_identity": "string", "store_identity": "string" } ``` ### Summary.Submit - 动态 HTTP:`POST /rpc/order/Summary/Submit` - gRPC:`/order.Summary/Submit` - 请求示例: ```json { "address": { "area": "string", "city": "string", "contact": "string", "country": "string", "detail": "string", "email": "string", "phone": "string", "province": "string", "zipCode": "string" }, "address_identity": "string", "delivery_time": "string", "id": [ "string" ], "partner_id": 0, "store_identity": "string" } ``` ### Summary.Check - 动态 HTTP:`POST /rpc/order/Summary/Check` - gRPC:`/order.Summary/Check` - 请求示例: ```json {} ``` ### Summary.Get - 动态 HTTP:`POST /rpc/order/Summary/Get` - gRPC:`/order.Summary/Get` - 请求示例: ```json { "agency": "string", "approve": 0, "id": "0", "identity": "string", "reason": "string", "storeIdentity": "string" } ``` ### Summary.List - 动态 HTTP:`POST /rpc/order/Summary/List` - gRPC:`/order.Summary/List` - 请求示例: ```json { "order_status": 0, "page_no": "0", "page_size": "0", "pay_type": 0 } ``` ### Summary.Confirm - 动态 HTTP:`POST /rpc/order/Summary/Confirm` - gRPC:`/order.Summary/Confirm` - 请求示例: ```json { "address_identity": "string", "coupon_identity": "string", "logistics_fee": 0, "order_no": "string", "remark": "string" } ``` ### Summary.Cancel - 动态 HTTP:`POST /rpc/order/Summary/Cancel` - gRPC:`/order.Summary/Cancel` - 请求示例: ```json { "order_no": "string", "type": "string" } ``` ### Summary.SimulatePay - 动态 HTTP:`POST /rpc/order/Summary/SimulatePay` - gRPC:`/order.Summary/SimulatePay` - 请求示例: ```json { "identity": [ "string" ] } ``` ### Summary.SimulateShipments - 动态 HTTP:`POST /rpc/order/Summary/SimulateShipments` - gRPC:`/order.Summary/SimulateShipments` - 请求示例: ```json { "car_identity": "string", "identity": "string", "item_idetity": "string", "member_identity": "string" } ``` ### Summary.SimulateReceiving - 动态 HTTP:`POST /rpc/order/Summary/SimulateReceiving` - gRPC:`/order.Summary/SimulateReceiving` - 请求示例: ```json { "agency": "string", "approve": 0, "id": "0", "identity": "string", "reason": "string", "storeIdentity": "string" } ``` ## 消息结构 ### ec_order_blocks.Empty 空消息:请求时发送 `{}`。 ### ec_order_blocks.OrderDetails | JSON 字段 | 类型 | 规则 | |---|---|---| | `id` | `int64` | 可选 | | `product_id` | `int64` | 可选 | | `spec_no` | `string` | 可选 | | `spec` | `string` | 可选 | | `type` | `int64` | 可选 | | `title` | `string` | 可选 | | `cover_image` | `string` | 可选 | | `sales_price` | `int64` | 可选 | | `product_args` | `string` | 可选 | | `number` | `int64` | 可选 | | `unit_price` | `int64` | 可选 | | `spec_id` | `int64` | 可选 | | `product_identity` | `string` | 可选 | | `gas_types` | `int64` | 可选 | | `total_price` | `int64` | 可选 | ### ec_order_blocks.OrderIdentRequest | JSON 字段 | 类型 | 规则 | |---|---|---| | `id` | `int64` | 可选 | | `identity` | `string` | 可选 | | `reason` | `string` | 可选 | | `approve` | `int32` | 可选 | | `agency` | `string` | 可选 | | `storeIdentity` | `string` | 可选 | ### ec_order_blocks.OrderStatusReply | JSON 字段 | 类型 | 规则 | |---|---|---| | `code` | `int32` | 可选 | | `identity` | `string` | 可选 | | `message` | `string` | 可选 | | `timeseq` | `int64` | 可选 | | `reason` | `string` | 可选 | ### ec_order_blocks.OrderSummaryItem | JSON 字段 | 类型 | 规则 | |---|---|---| | `id` | `int64` | 可选 | | `order_no` | `string` | 可选 | | `partner_id` | `int64` | 可选 | | `identity` | `string` | 可选 | | `total_price` | `int64` | 可选 | | `trans_price` | `int64` | 可选 | | `refund_price` | `int64` | 可选 | | `logistics_fee` | `int64` | 可选 | | `coupon_amount` | `int64` | 可选 | | `remark` | `string` | 可选 | | `status` | `int32` | 可选 | | `logistics_number` | `string` | 可选 | | `address_identity` | `string` | 可选 | | `county` | `string` | 可选 | | `province` | `string` | 可选 | | `city` | `string` | 可选 | | `area` | `string` | 可选 | | `address` | `string` | 可选 | | `contact` | `string` | 可选 | | `phone` | `string` | 可选 | | `delivery_time` | `string` | 可选 | | `delivery_identity` | `string` | 可选 | | `pay_type` | `int32` | 可选 | | `pay_amount` | `int64` | 可选 | | `pay_trade_no` | `string` | 可选 | | `pay_time` | `string` | 可选 | | `pay_remark` | `string` | 可选 | | `created` | `string` | 可选 | | `updated` | `string` | 可选 | | `details` | `[]ec_order_blocks.OrderDetails` | 数组 | | `addr` | `string` | 可选 | | `car_identity` | `string` | 可选 | | `delivery_address` | `string` | 可选 | | `brand` | `string` | 可选 | | `version` | `string` | 可选 | | `license_number` | `string` | 可选 | | `member_name` | `string` | 可选 | | `member_phone` | `string` | 可选 | | `approve` | `int32` | 可选 | ### order.CancelRequest | JSON 字段 | 类型 | 规则 | |---|---|---| | `order_no` | `string` | 可选 | | `type` | `string` | 可选 | ### order.CartAddRequest | JSON 字段 | 类型 | 规则 | |---|---|---| | `cart_identity` | `string` | 可选 | | `passport_identity` | `string` | 可选 | | `product_identity` | `string` | 可选 | | `product_id` | `int64` | 可选 | | `product_args` | `string` | 可选 | | `number` | `int32` | 可选 | | `spec_id` | `int64` | 可选 | ### order.CartDelRequest | JSON 字段 | 类型 | 规则 | |---|---|---| | `id` | `[]int64` | 数组 | ### order.CartGetReply | JSON 字段 | 类型 | 规则 | |---|---|---| | `data` | `[]order.CartItem` | 数组 | | `car_identity` | `string` | 可选 | ### order.CartGetRequest | JSON 字段 | 类型 | 规则 | |---|---|---| | `car_identity` | `string` | 可选 | | `passport_identity` | `string` | 可选 | | `passport` | `string` | 可选 | ### order.CartItem | JSON 字段 | 类型 | 规则 | |---|---|---| | `id` | `int64` | 可选 | | `product_id` | `int64` | 可选 | | `title` | `string` | 可选 | | `cover_image` | `string` | 可选 | | `sales_price` | `int64` | 可选 | | `product_identity` | `string` | 可选 | | `product_args` | `string` | 可选 | | `number` | `int32` | 可选 | | `unit_price` | `int64` | 可选 | | `total_price` | `int64` | 可选 | | `identity` | `string` | 可选 | ### order.CartSetRequest | JSON 字段 | 类型 | 规则 | |---|---|---| | `identity` | `string` | 可选 | | `number` | `int32` | 可选 | | `unit_price` | `int64` | 可选 | | `id` | `int64` | 可选 | | `updates` | `[]order.Updates` | 数组 | ### order.ConfirmReply | JSON 字段 | 类型 | 规则 | |---|---|---| | `total_price` | `int64` | 可选 | ### order.ConfirmRequest | JSON 字段 | 类型 | 规则 | |---|---|---| | `order_no` | `string` | 可选 | | `address_identity` | `string` | 可选 | | `coupon_identity` | `string` | 可选 | | `remark` | `string` | 可选 | | `logistics_fee` | `double` | 可选 | ### order.CouponItem | JSON 字段 | 类型 | 规则 | |---|---|---| | `id` | `int64` | 可选 | | `identity` | `string` | 可选 | | `title` | `string` | 可选 | | `intro` | `string` | 可选 | | `amount` | `string` | 可选 | | `started` | `string` | 可选 | | `expired` | `string` | 可选 | | `status` | `string` | 可选 | ### order.CouponListReply | JSON 字段 | 类型 | 规则 | |---|---|---| | `data` | `[]order.CouponItem` | 数组 | ### order.CreateOrderRequest | JSON 字段 | 类型 | 规则 | |---|---|---| | `partner_id` | `int32` | 可选 | | `args` | `string` | 可选 | | `address_identity` | `string` | 可选 | | `delivery_time` | `string` | 可选 | | `spec` | `[]order.SpecList` | 数组 | ### order.OrderAddress | JSON 字段 | 类型 | 规则 | |---|---|---| | `country` | `string` | 可选 | | `province` | `string` | 可选 | | `city` | `string` | 可选 | | `area` | `string` | 可选 | | `detail` | `string` | 可选 | | `contact` | `string` | 可选 | | `phone` | `string` | 可选 | | `email` | `string` | 可选 | | `zipCode` | `string` | 可选 | ### order.OrderGetReply | JSON 字段 | 类型 | 规则 | |---|---|---| | `summary` | `ec_order_blocks.OrderSummaryItem` | 可选 | ### order.OrderListByStoreReply | JSON 字段 | 类型 | 规则 | |---|---|---| | `count` | `int32` | 可选 | | `data` | `[]ec_order_blocks.OrderSummaryItem` | 数组 | ### order.OrderListByStoreRequest | JSON 字段 | 类型 | 规则 | |---|---|---| | `pay_type` | `int32` | 可选 | | `order_status` | `[]int32` | 数组 | | `page_no` | `int64` | 可选 | | `page_size` | `int64` | 可选 | | `partner_id` | `int64` | 可选 | | `agency` | `string` | 可选 | | `storeIdentity` | `string` | 可选 | | `status` | `int32` | 可选 | | `keyword` | `string` | 可选 | ### order.QuickCreateByProductRequest | JSON 字段 | 类型 | 规则 | |---|---|---| | `partner_id` | `int32` | 可选 | | `store_identity` | `string` | 可选 | | `product_identity` | `string` | 可选 | | `number` | `int32` | 可选 | | `args` | `string` | 可选 | | `address_identity` | `string` | 可选 | | `delivery_time` | `string` | 可选 | | `spec_identity` | `string` | 可选 | | `member_identity` | `string` | 可选 | | `delivery_address` | `string` | 可选 | ### order.SimulatePayRequest | JSON 字段 | 类型 | 规则 | |---|---|---| | `identity` | `[]string` | 数组 | ### order.SimulateShipmentsRequest | JSON 字段 | 类型 | 规则 | |---|---|---| | `identity` | `string` | 可选 | | `item_idetity` | `string` | 可选 | | `member_identity` | `string` | 可选 | | `car_identity` | `string` | 可选 | ### order.SpecList | JSON 字段 | 类型 | 规则 | |---|---|---| | `number` | `int32` | 可选 | | `product_identity` | `string` | 可选 | ### order.Status | JSON 字段 | 类型 | 规则 | |---|---|---| | `status` | `int32` | 可选 | ### order.SubmitRequest | JSON 字段 | 类型 | 规则 | |---|---|---| | `id` | `[]string` | 数组 | | `partner_id` | `int32` | 可选 | | `store_identity` | `string` | 可选 | | `address_identity` | `string` | 可选 | | `delivery_time` | `string` | 可选 | | `address` | `order.OrderAddress` | 可选 | ### order.SummaryGetReply | JSON 字段 | 类型 | 规则 | |---|---|---| | `summary` | `ec_order_blocks.OrderSummaryItem` | 可选 | ### order.SummaryListReply | JSON 字段 | 类型 | 规则 | |---|---|---| | `count` | `int32` | 可选 | | `data` | `[]ec_order_blocks.OrderSummaryItem` | 数组 | ### order.SummaryListRequest | JSON 字段 | 类型 | 规则 | |---|---|---| | `pay_type` | `int32` | 可选 | | `order_status` | `int32` | 可选 | | `page_no` | `int64` | 可选 | | `page_size` | `int64` | 可选 | ### order.Updates | JSON 字段 | 类型 | 规则 | |---|---|---| | `id` | `int64` | 可选 | | `number` | `int64` | 可选 |