pdd 0.1.4

拼多多开放平台sdk
Documentation
use crate::Request;

use serde::{Deserialize, Serialize};


/// 快递公司处理结果回调
#[derive(Serialize, Deserialize, Debug, Default)]
pub struct PddLogisticsTicketNotify {
    
    /// 附件url,示例:["http://testimg.yangkeduo.com/pdd_oms/2018-01-16/411068e948835ae053a86c13f8ebb5ee.jpg"]
    #[serde(rename = "attach_path_list")]
    pub attach_path_list: Option<Vec<String>>,
    
    /// 赔付金额(单位:分)
    #[serde(rename = "compensate_amount")]
    pub compensate_amount: Option<i64>,
    
    /// 是否赔付,0:默认,1:未赔付,2:已赔付
    #[serde(rename = "compensate_state")]
    pub compensate_state: Option<i32>,
    
    /// 责任方,0:默认, 1:消费者,2:商家,3:快递公司,4:其他
    #[serde(rename = "duty")]
    pub duty: Option<i32>,
    
    /// 处理人
    #[serde(rename = "express_dealer")]
    pub express_dealer: Option<String>,
    
    /// 处理人联系方式
    #[serde(rename = "express_dealer_contact")]
    pub express_dealer_contact: Option<String>,
    
    /// 处理结果
    #[serde(rename = "handle_result")]
    pub handle_result: Option<String>,
    
    /// 电联结果,当reply_type=2时,为必填项,同时该字段的值为一个json格式的字符串,格式参考示例 示例:{"call_result":1,"call_timestamp":"1688283125000","caller_name":"小张","caller_contract":"15067188888"} call_result:电联结果(int,必填) 取值如下:1:停机/空号、2:电话占线、3:无人接听、4:接通后非本人、5:接通但反馈没投诉过 call_timestamp:电联时间戳(long ,必填) caller_name:回拨人姓名(String,必填) caller_contract:回拨联系方式(String,必填)
    #[serde(rename = "reply_call_result")]
    pub reply_call_result: Option<String>,
    
    /// 回复类型,1:回复工单处理结果,2:回复电联结果,当为空时,默认赋值1
    #[serde(rename = "reply_type")]
    pub reply_type: Option<i32>,
    
    /// 签收状态,0:默认,1:未签收,2:已签收
    #[serde(rename = "sign_state")]
    pub sign_state: Option<i32>,
    
    /// 工单id
    #[serde(rename = "ticket_id")]
    pub ticket_id: Option<i64>,
    
    /// 运单号
    #[serde(rename = "waybill_no")]
    pub waybill_no: Option<String>,
    
}


/// 快递公司处理结果回调
impl Request for PddLogisticsTicketNotify {
    fn get_type() -> String {
        "pdd.logistics.ticket.notify".to_string()
    }

    fn get_response_name() -> String {
        "logistics_ticket_notify_response".to_string()
    }
}