package ebaiapi import "time" const ( MerchantOrderReverseApplyCancel = "1" // 商户发起全退 MerchantOrderReverseApplyPartCancel = "2" // 商户发起部分退款 ) const ( OrderCommodityType = "4" // 商品子单类型 1:称重品、2:标品、3:按件称重、4:虚拟商品子单 OrderVirtualType = "0" // 商品类型为虚拟商品是有效;0:普通实物商品 1:包装费子单 2:处方服务费子单、3:附加0.01费子单、4:配送费子单 ) const ( OrderDeliveryStatusCreate = 1 // 生成运单 OrderDeliveryStatusWaitRider = 2 // 配送待分配 OrderDeliveryStatusReceived = 3 // 骑士接单 OrderDeliveryStatusToStore = 8 // 骑手到店 OrderDeliveryStatusSend = 20 // 骑手送出 OrderDeliveryStatusSendOver = 30 // 配送完成 OrderDeliveryStatusCancel = 6 // 配送取消 OrderDeliveryStatusAbnormal = 7 // 配送异常 OrderDeliveryStatusRefusal = 110 // 配送拒单 ) type ExpressInfo struct { OrderID string `json:"order_id"` ExpressID string `json:"express_id"` ExpressCompany string `json:"express_company"` } type PrivateMobileInfo struct { ShortNumber string `json:"short_number"` ExpireDate *time.Time `json:"expire_date"` } type RefundSku struct { SkuID string `json:"sku_id,omitempty"` Upc string `json:"upc,omitempty"` CustomeSkuID string `json:"custom_sku_id,omitempty"` Number string `json:"number"` } type ProductSubsidyInfo struct { AgentRate int `json:"agent_rate"` BaiduRate int `json:"baidu_rate"` Discount int `json:"discount"` DiscountDetail []*struct { ActivityID string `json:"activity_id"` BaiduRate int `json:"baidu_rate"` ShopRate int `json:"shop_rate"` Type string `json:"type"` } `json:"discount_detail"` LogisticsRate int `json:"logistics_rate"` ShopRate int `json:"shop_rate"` UserRate int `json:"user_rate"` } type OrderProductInfo struct { BaiduProductID string `json:"baidu_product_id"` SkuID string `json:"sku_id"` // 部分退款信息中是这个而不是BaiduProductID SubBizOrderID string `json:"sub_biz_order_id"` CustomSkuID string `json:"custom_sku_id"` PackageAmount int `json:"package_amount"` PackageFee int `json:"package_fee"` PackagePrice int `json:"package_price"` PrescriptionID string `json:"prescription_id"` ProductAmount int `json:"product_amount"` Number int `json:"number"` // 部分退款信息中是这个而不是ProductAmount ProductAttr []interface{} `json:"product_attr"` ProductCustomIndex string `json:"product_custom_index"` ProductFeatures []interface{} `json:"product_features"` ProductFee int `json:"product_fee"` ProductName string `json:"product_name"` ProductPrice int `json:"product_price"` ProductSubsidy *ProductSubsidyInfo `json:"product_subsidy"` ProductType int `json:"product_type"` SupplyType int `json:"supply_type"` TotalFee int `json:"total_fee"` TotalWeight int `json:"total_weight"` Upc string `json:"upc"` WeightType int `json:"weight_type"` } type OrderDiscountInfo struct { ActivityID string `json:"activity_id"` AgentRate int `json:"agent_rate"` BaiduRate int `json:"baidu_rate"` Desc string `json:"desc"` Fee int `json:"fee"` LogisticsRate int `json:"logistics_rate"` Products []*struct { ActivityID string `json:"activity_id"` ActivityProductNum int `json:"activity_product_num"` BaiduProductID int64 `json:"baidu_product_id"` NowPrice int `json:"now_price"` OrigPrice int `json:"orig_price"` SavePrice int `json:"save_price"` } `json:"products,omitempty"` RuleID string `json:"rule_id"` ShopRate int `json:"shop_rate"` Type string `json:"type"` } type OrderDetailInfo struct { Discount []*OrderDiscountInfo `json:"discount"` Order *struct { AtshopTime int `json:"atshop_time"` CancelTime string `json:"cancel_time"` ColdBoxFee string `json:"cold_box_fee"` Commission int `json:"commission"` ConfirmTime string `json:"confirm_time"` CreateTime string `json:"create_time"` DeliveryParty int `json:"delivery_party"` // 此字段会在配送变化后变化 DeliveryPhone string `json:"delivery_phone"` DeliveryTime int `json:"delivery_time"` DiscountFee int `json:"discount_fee"` DownFlag int `json:"down_flag"` ElemeOrderID string `json:"eleme_order_id"` ExpectTimeMode int `json:"expect_time_mode"` Ext struct { TaoxiFlag int `json:"taoxi_flag"` } `json:"ext"` FinishedTime string `json:"finished_time"` InvoiceTitle string `json:"invoice_title"` IsColdBoxOrder int `json:"is_cold_box_order"` IsPrivate int `json:"is_private"` LatestSendTime int `json:"latest_send_time"` MealNum string `json:"meal_num"` NeedInvoice int `json:"need_invoice"` OrderFlag int `json:"order_flag"` OrderFrom string `json:"order_from"` OrderID string `json:"order_id"` OrderIndex string `json:"order_index"` PackageFee int `json:"package_fee"` PayStatus int `json:"pay_status"` PayType int `json:"pay_type"` PickupTime int `json:"pickup_time"` Remark string `json:"remark"` // ResponsibleParty string `json:"responsible_party"` SendFee int `json:"send_fee"` SendImmediately int `json:"send_immediately"` SendTime int `json:"send_time"` ShopFee int `json:"shop_fee"` Status int `json:"status"` TaxerID string `json:"taxer_id"` TotalFee int `json:"total_fee"` UserFee int `json:"user_fee"` } `json:"order"` Products [][]*OrderProductInfo `json:"products"` Shop *struct { BaiduShopID string `json:"baidu_shop_id"` ID string `json:"id"` Name string `json:"name"` } `json:"shop"` Source string `json:"source"` User *struct { Address string `json:"address"` // City string `json:"city"` Coord *struct { Latitude string `json:"latitude"` Longitude string `json:"longitude"` } `json:"coord"` CoordAmap *struct { Latitude string `json:"latitude"` Longitude string `json:"longitude"` } `json:"coord_amap"` // District string `json:"district"` Gender string `json:"gender"` Name string `json:"name"` Phone string `json:"phone"` PrivacyPhone string `json:"privacy_phone"` // Province string `json:"province"` UserID string `json:"user_id"` } `json:"user"` } type RefundOrderDetailInfo struct { CustomSkuID string `json:"custom_sku_id"` Name string `json:"name"` Number int `json:"number"` ProductFeatures []interface{} `json:"product_features"` ProductFee int `json:"product_fee"` ProductPrice int `json:"product_price"` ProductSubsidy *ProductSubsidyInfo `json:"product_subsidy"` SkuID string `json:"sku_id"` TotalWeight int `json:"total_weight"` Upc string `json:"upc"` } type RefundDetailInfo struct { ApplyTime string `json:"apply_time"` CustomSkuID string `json:"custom_sku_id"` Desc string `json:"desc"` Name string `json:"name"` Number int `json:"number"` RefundID string `json:"refund_id"` ShopEleRefund int `json:"shop_ele_refund"` SkuID string `json:"sku_id"` Status int `json:"status"` TotalRefund int `json:"total_refund"` Type int `json:"type"` Upc string `json:"upc"` } type PartRefundInfo struct { Commission int `json:"commission"` Fee int `json:"fee"` OrderDetail []*RefundOrderDetailInfo `json:"order_detail"` OrderID string `json:"order_id"` PackageFee int `json:"package_fee"` RefundDetail []*RefundDetailInfo `json:"refund_detail"` RefundPrice int `json:"refund_price"` SendFee int `json:"send_fee"` ShopFee int `json:"shop_fee"` TotalPrice int `json:"total_price"` Type int `json:"type"` UserFee int `json:"user_fee"` } type ListOrderItemInfo struct { BaiduShopID int64 `json:"baidu_shop_id"` CreateTime int64 `json:"create_time"` OrderFrom int `json:"order_from"` OrderID string `json:"order_id"` OrderStatus int `json:"order_status"` PayStatus int `json:"pay_status"` PayType int `json:"pay_type"` ShopID string `json:"shop_id"` Status int `json:"status"` UserPhone string `json:"user_phone"` } type ListOrderInfo struct { Total int `json:"total"` Page int `json:"Page"` Pages int `json:"pages"` List []*ListOrderItemInfo `json:"list"` } type PushRiderInfo struct { DistributorId int `json:"distributor_id"` // 固定值:201 Knight Knight `json:"knight"` OrderId string `json:"order_id"` // 订单id State int `json:"state"` // 配送状态,传固定值:21 开始配送(已废弃,已接入商家不影响) SelfStatus int `json:"selfStatus"` // 配送状态 1:生成运单 2:配送待分配3:骑士接单(必传)8:骑士到店(必传)20:骑手送出(必传)30:配送完成(必传)6:配送取消(必传)7:配送异常(必传)101:配送拒单 SelfStatusDesc string `json:"selfStatusDesc"` // 配送状态文案描述 SelfSubStatus int `json:"selfSubStatus"` // 配送取消(6)子原因: SelfSubStatusDesc string `json:"selfSubStatusDesc"` // 配送异常子状态文案描述 DistributorInfoDTO DistributorInfoDTO `json:"distributorInfoDTO"` // 配送服务商信息 } type Knight struct { Id int64 `json:"id"` // 骑手id,商家自定义 Name string `json:"name"` // 骑手姓名 Phone string `json:"phone"` // 骑手手机号码 } type DistributorInfoDTO struct { DistributorTypeId string `json:"distributorTypeId"` // 配送商类型id: DistributorName string `json:"distributorName"` // 配送商名称 DistributorPhone string `json:"distributorPhone"` // 配送商电话 } // RefundOrderExamine 商家审核是售后单 type RefundOrderExamine struct { ReverseOrderId string `json:"reverse_order_id" required:"true"` // 逆向单ID OrderId string `json:"order_id" required:"true"` // 订单id IdempotentId string `json:"idempotent_id" required:"true"` // 请求唯一标示 ActionType string `json:"action_type" required:"true"` // 逆向单审批操作类型,枚举值:【1-同意全单/部分退款申请 、 2-拒绝全单/部分退款申请、 3-同意退货申请 、 4-拒绝退货申请】 ReasonCode string `json:"reason_code" required:"false"` // 当拒绝场景必填,即action_type = 2 or action_type =4 时 必填,枚举值: 7019-双方协商一致不再取消订单、 7020-商品已经备货完成、 7021-商品已送出、 7802-商品发出时完好、 7803-用户未举证/举证无效、 7804-商品影响二次销售、 7805-商品不符合7天无理由退款、 7302-未收到退货(仅退货单支持传入该code)、 7001-其他原因 ReasonRemarks string `json:"reason_remarks" required:"false"` // 原因备注说明信息 RefundProductList []*RefundProductList `json:"refund_product_list" required:"false"` // 订单id } type RefundProductList struct { SubBizOrderId string `json:"sub_biz_order_id" required:"false"` // 商品子单ID PlatformSkuId string `json:"platform_sku_id" required:"false"` // 平台商品ID Number string `json:"number"` RefundAmount string `json:"refund_amount"` } // OrderReverseApplyParam 商家发起取消订单或者部分退款 type OrderReverseApplyParam struct { OrderId string `json:"order_id"` // 订单号 IdempotentId string `json:"idempotent_id"` // 幂等id (商家自定义,同一操作重试需保证幂等Id一致) RefundType string `json:"refund_type"` // 申请退款类型, 枚举值:1 全退 , 2 部分退(按商品部分退),如 部分退(2) 则 refund_product_list 参数不能为空 ReasonCode string `json:"reason_code"` // 发起退款原因 code,枚举值:7015-商品已售完、 7017-无骑手接单/无运力、 7053-骑手无法配送、 7054-无法联系到用户(未接听、关机、号码错误)、 7018-商户暂时不营业、 7070-拣货人力不足、 7908-补差退款、 7001-其他原因、 7052-药师审核处方笺不通过(仅支持医药处方订单)、7080-包装费退款(仅支持订单级包装费可选) ReasonRemarks string `json:"reason_remarks"` // 详细原因信息,reason_code为7001时必填 NeedIvrUser int64 `json:"need_ivr_user"` // 非必填,reason_code为7015 缺货售中部分取消退款场景,是否需要平台外呼通知用户,仅refund_type=2时 传入有效;枚举值: 1:通知 , 0 or null :不通知 RefundProductList []*RefundProductListParam `json:"refund_product_list"` // 申请退款商品列表信息(非必填),部分退( refund_type = 2)时,refund_product_list 必填 } // RefundProductListParam 申请退款商品列表信息 type RefundProductListParam struct { SubBizOrderId string `json:"sub_biz_order_id"` // 子单ID,对应订单中商品唯一ID PlatformSkuId string `json:"platform_sku_id"` // 平台商品ID Number string `json:"number"` // 申请退款件数(整型),范围:1-商品最大可退(通过order.reverse.consult接口查询),称重品金支持按金额退款,需指定refund_amount进行退款,传入数量无效 RefundAmount string `json:"refund_amount"` // 申请退款金额(单位 分,整型) FundCalculateType string `json:"fund_calculate_type"` // 非必填,部分退类型:0按件数退,1按照金额退, 默认为按件数退(0); 按件退 number字段必传, 按金额退 refund_amount字段必传 } // OrderSelfDeliveryLocationSync 自配送订单骑手位置回传 type OrderSelfDeliveryLocationSync struct { OrderId string `json:"order_id"` // 订单号 Location *RiderLocation `json:"location"` } // RiderLocation 骑手坐标 type RiderLocation struct { UTC string `json:"utc"` // 当前时间,格式:10位时间戳 Altitude string `json:"altitude"` // 海拔高度,如无,可传入固定值 Latitude string `json:"latitude"` // 纬度,建议使用高德坐标 39.90038 Longitude string `json:"longitude"` // 经度,建议使用高德坐标 116.389149 } // ReverseSkuList 售后单信息详情获取 type ReverseSkuList struct { ApplyQuantity int `json:"apply_quantity"` // 申请数量 ApplyRefundTime int64 `json:"apply_refund_time"` // 申请时间 ApplyRefundUserAmount int `json:"apply_refund_user_amount"` // 子订单用户申请金额 CommodityType int `json:"commodity_type"` // 商品子单类型, 1:称重品、2:标品、3:按件称重、4:虚拟商品子单 CustomSkuId string `json:"custom_sku_id"` // 商品自定义id CustomSkuSpecId string `json:"custom_sku_spec_id"` // 商品多规格自定义id FreeGift bool `json:"free_gift"` // 是否是赠品子单,true 是, false 否 FundCalculateType int `json:"fund_calculate_type"` // 商品子单 退款算价类型 ,枚举值:0按件数退,1按照金额退 GiftRelatedSubBizOrderIdList []interface{} `json:"gift_related_sub_biz_order_id_list"` // 赠品子单关联的主品子单Id列表 (free_gift = true 时,有效) IsCombine bool `json:"is_combine"` // 是否为组合品 LastRefundStatus int `json:"last_refund_status"` // 该退单的上一个退款状态:0初始化,10申请,20拒绝,30仲裁,40关闭,50成功,60失败 PlatformSkuId int64 `json:"platform_sku_id"` // 饿了么商品ID RefundOrderId int64 `json:"refund_order_id"` // 零售退款单ID RefundQuantity int `json:"refund_quantity"` // 商家同意件数,件数单位:整型 RefundStatus int `json:"refund_status"` // 商品子单本次退款状态,枚举值:10 申请;20 拒绝;30 仲裁;40 关闭;50 成功;60 失败 RefundUserAmount int `json:"refund_user_amount"` // 该逆向单实际退款给用户的金额,单位分 RefundWeight int `json:"refund_weight"` // 商品子单退款额重量信息, 单位:g SkuName string `json:"sku_name"` // sku 商品名称 SkuSpecId string `json:"sku_spec_id"` // 多规格商品id SubBizOrderId string `json:"sub_biz_order_id"` // 商品子单唯一标识 Upc string `json:"upc"` // upc VirtualType string `json:"virtual_type"` // 0:普通实物商品 1:包装费子单 2:处方服务费子单、3:附加0.01费子单、4:配送费子单 DiscountDetail struct { AgentDiscountAmount int `json:"agent_discount_amount"` // 本次退款总金额中 包含的【代理商】承担金额,单位:分 DiscountTotalAmount int `json:"discount_total_amount"` // 本次退款总金额中的补贴总额,单位:分 MerchantDiscountAmount int `json:"merchant_discount_amount"` // 本次退款总金额中 包含的【商家】承担金额,单位:分 PlatformDiscountAmount int `json:"platform_discount_amount"` // 本次退款总金额中 包含的【平台】承担金额,单位:分 TotalPrice int `json:"total_price"` // 商品原总价 = (用户实付 + 补贴总额 discount_total_amount ) UserDiscountAmount int `json:"user_discount_amount"` // 本次退款总金额中 包含的【用户】承担金额,单位:分 } `json:"discount_detail"` // 商品子单的退款分摊明细详情 }