PHP code example of ycstar / sfopenic

1. Go to this page and download the library: Download ycstar/sfopenic library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

ycstar / sfopenic example snippets


    use Ycstar\Sfopenic\Sfopenic;

    $config = [
        'host'    => 'xxxxxxxxxxxx',
        'dev_id'  => 'xxxxxxxxxxxx',
        'dev_key' => 'xxxxxxxxxxxx'
    ];

    $sfopenic = new Sfopenic($config);

    $data = [
        'shop_id' => 'xxxxxxxxxxxx',
        'user_address' => "北京市海淀区学清嘉创大厦A座15层",
        'user_lng' => '116.352569',
        'user_lat' => '40.014838',
        'weight' => 100,
        'product_type' => 1,
        'pay_type' => 1,
        'is_appoint' => 0,
        'is_insured' => 0,
        'is_person_direct' => 0
    ];

    $res = $sfopenic->preCreateOrder($data);

    $data = [
        'company_id' => 'xxxxxxxxxxxx',
        'settlement_type' => 0,
        'city_name' => "北京",
        'account_phone' => 'xxxxxxxxxxxx',
        'is_insured' => 0,
        'is_appoint' => 0,
    ];
    
    $sender =[
        'sender_name' => "xx",
        'sender_phone' => "xxxxxxxxxx",
        'sender_address' => "北京市海淀区学清嘉创大厦A座15层",
        'sender_lng' => '116.352569',
        'sender_lat' => '40.014838',
    ];
    
    $receiver =[
        'receiver_name' => "xx",
        'receiver_phone' => "xxxxxxxxxx",
        'receiver_address' => "北京市海淀区学清嘉创大厦A座15层",
        'receiver_lng' => '116.352569',
        'receiver_lat' => '40.014838',
    ];

    $orderDetail = [
        'total_price' => 1,//总金额
        'product_type' => 1, //物品类型 1:送餐 8:饮品
        'weight_gram' => 100,//物品重量
    ];
    
    $data['sender'] = $sender;
    $data['receiver'] = $receiver;
    $data['order_detail'] = $orderDetail;
    
    $res = $sfopenic->preCreateOrder4C($data);

    $data = [
        'shop_id' => 'xxxxxxxxxxxx',
        'shop_order_id' => 'xxxxxxxxxxxx',
        'order_source' => 'xx',
        'pay_type' => 1,
        'order_time' => time(),
        'is_appoint' => 0,
        'is_insured' => 0,
        'is_person_direct' => 0,
        'version' => 17,
        'order_sequence' => 'xx',
        'remark' => 'xx'
    ];

    $receive =[
        'user_name' => "xx",
        'user_phone' => "xxxxxxxxxx",
        'user_address' => "北京市海淀区学清嘉创大厦A座15层",
        'user_lng' => '116.352569',
        'user_lat' => '40.014838',
    ];

    $orderDetail = [
        'total_price' => 1,//总金额
        'product_type' => 1, //物品类型 1:送餐 8:饮品
        'weight_gram' => 100,//物品重量
        'product_num' => 3,//物品个数
        'product_type_num' => 1,//物品种类个数
    ];

    $productDetail = [
        [
            'product_name' => 'xxx', //物品名称
            'product_num' => 1, //物品数量
        ]
    ];

    $orderDetail['product_detail'] = $productDetail;
    $data['order_detail'] = $orderDetail;
    $data['receive'] = $receive;

    $res = $sfopenic->createOrder($data);

    $data = [
        'user_order_id' => 'xxxxxxxxxxxx',
        'company_id' => 'xxxxxxxxxxxx',
        'settlement_type' => 0,
        'city_name' => "北京",
        'account_phone' => 'xxxxxxxxxxxx',
        'is_insured' => 0,
        'is_appoint' => 0,
    ];
    
    $sender =[
        'sender_name' => "xx",
        'sender_phone' => "xxxxxxxxxx",
        'sender_address' => "北京市海淀区学清嘉创大厦A座15层",
        'sender_lng' => '116.352569',
        'sender_lat' => '40.014838',
    ];
    
    $receiver =[
        'receiver_name' => "xx",
        'receiver_phone' => "xxxxxxxxxx",
        'receiver_address' => "北京市海淀区学清嘉创大厦A座15层",
        'receiver_lng' => '116.352569',
        'receiver_lat' => '40.014838',
    ];

    $orderDetail = [
        'total_price' => 1,//总金额
        'product_type' => 1, //物品类型 1:送餐 8:饮品
        'weight_gram' => 100,//物品重量
    ];
    
    $data['sender'] = $sender;
    $data['receiver'] = $receiver;
    $data['order_detail'] = $orderDetail;
    
    $res = $sfopenic->createOrder4C($data);

    $data = [
        'order_id' => 'xxxxxxxxxxxx',
        'order_type' => 1 //1、顺丰订单号 2、商家订单号
        'shop_id' => 0,   //order_type=2时必传shop_id与shop_type
        'shop_type' => 1, //1、顺丰店铺ID 2、接入方店铺ID
        'cancel_code' => 313, //不填时默认cancel_code=313,cancel_reason=商家发起取消
        'cancel_reason' => ''
    ];

    $res = $sfopenic->cancelOrder($data);

    $data = [
        'order_id' => 'xxxxxxxxxxxx',
        'order_type' => 1 //1、顺丰订单号 2、商家订单号
        'shop_id' => 0,   //order_type=2时必传shop_id与shop_type
        'shop_type' => 1, //1、顺丰店铺ID 2、接入方店铺ID
        'cancel_reason' => ''
    ];

    $res = $sfopenic->preCancelOrder($data);

    $data = [
        'order_id' => 'xxxxxxxxxxxx',
        'order_type' => 1 //1、顺丰订单号 2、商家订单号
        'shop_id' => 0,
        'shop_type' => 1, //1、顺丰店铺ID 2、接入方店铺ID
        'gratuity_fee' => 0
    ];

    $res = $sfopenic->addOrderGratuityFee($data);

    $data = [
        'order_id' => 'xxxxxxxxxxxx',
        'order_type' => 1 //1、顺丰订单号 2、商家订单号
        'shop_id' => 0,
        'shop_type' => 1, //1、顺丰店铺ID 2、接入方店铺ID
    ];

    $res = $sfopenic->getOrderGratuityFee($data);

    $data = [
        'order_id' => 'xxxxxxxxxxxx',
        'order_type' => 1 //1、顺丰订单号 2、商家订单号
        'shop_id' => 0,   //order_type=2时必传shop_id与shop_type
        'shop_type' => 1, //1、顺丰店铺ID 2、接入方店铺ID
    ];

    $res = $sfopenic->listOrderFeed($data);

    $data = [
        'order_id' => 'xxxxxxxxxxxx',
        'order_type' => 1 //1、顺丰订单号 2、商家订单号
        'shop_id' => 0,   //order_type=2时必传shop_id与shop_type
        'shop_type' => 1, //1、顺丰店铺ID 2、接入方店铺ID
    ];

    $res = $sfopenic->getOrderStatus($data);

    $data = [
        'order_id' => 'xxxxxxxxxxxx',
        'order_type' => 1 //1、顺丰订单号 2、商家订单号
        'shop_id' => 0,   //order_type=2时必传shop_id与shop_type
        'shop_type' => 1, //1、顺丰店铺ID 2、接入方店铺ID
    ];

    $res = $sfopenic->reminderOrder($data);

    $data = [
        'order_id' => 'xxxxxxxxxxxx',
        'order_type' => 1 //1、顺丰订单号 2、商家订单号
        'shop_id' => 0,
        'shop_type' => 1, //1、顺丰店铺ID 2、接入方店铺ID
        'user_name'=> '',
        'user_phone'=> '',
        'user_address'=> '',
        'lbs_type'=> 2, //1:百度坐标,2:高德坐标(默认值为2,下面的经纬度依赖这个坐标系,不传默认高德)
        'user_lng'=> '', //传入用户地址经纬度顺丰侧则不根据用户地址解析
        'user_lat'=> '',
    ];

    $res = $sfopenic->changeOrder($data);

    $data = [
        'order_id' => 'xxxxxxxxxxxx',
        'order_type' => 1 //1、顺丰订单号 2、商家订单号
        'shop_id' => 0,   //order_type=2时必传shop_id与shop_type
        'shop_type' => 1, //1、顺丰店铺ID 2、接入方店铺ID
    ];

    $res = $sfopenic->riderLatestPosition($data);

    $data = [
        'order_id' => 'xxxxxxxxxxxx',
        'order_type' => 1 //1、顺丰订单号 2、商家订单号
        'shop_id' => 0,   //order_type=2时必传shop_id与shop_type
        'shop_type' => 1, //1、顺丰店铺ID 2、接入方店铺ID
    ];

    $res = $sfopenic->riderViewV2($data);

    $data = [
        'order_id' => 'xxxxxxxxxxxx',
        'order_type' => 1 //1、顺丰订单号 2、商家订单号
        'shop_id' => 0,   //order_type=2时必传shop_id与shop_type
        'shop_type' => 1, //1、顺丰店铺ID 2、接入方店铺ID
        'notice_ready_time' => 'xxxxxxxxxxxx' //货物准备好时间,秒级时间戳
    ];

    $res = $sfopenic->notifyProductReady($data);

    $data = [
        'shop_id' => 0,   //店铺ID
        'shop_type' => 1, //1表示顺丰店铺,2表示第三方店铺 默认1 非必填
    ];

    $res = $sfopenic->getShopAccountBalance($data);

    $data = [
        'company_id' => 0,   //企业ID
    ];

    $res = $sfopenic->getCompanyInfo($data);

    $data = [
        'shop_id' => 0,   //店铺ID
        'shop_type' => 1, //1表示顺丰店铺,2表示第三方店铺 默认1 非必填
    ];

    $res = $sfopenic->getShopInfo($data);

    $data = [
        'order_id' => 'xxxxxxxxxxxx',
        'order_type' => 1 //1、顺丰订单号 2、商家订单号
        'shop_id' => 0,
        'shop_type' => 1, //1、顺丰店铺ID 2、接入方店铺ID
    ];

    $res = $sfopenic->getCallbackInfo($data);

    $data = $sfopenic->getNotify();
    .
    .
    .
    return $sfopenic->getNotifySuccessReply();

php artisan vendor:publish --tag="ycstar-sfopenic"

    return [
    
        'host' => env('SF_OPENIC_HOST'),

        'dev_id' => env('SF_OPENIC_DEV_ID'),

        'dev_key' => env('SF_OPENIC_DEV_KEY')

      ];

    SF_OPENIC_HOST = xxxxxxxxxxxx
    SF_OPENIC_DEV_ID = xxxxxxxxxxxx
    SF_OPENIC_DEV_KEY = xxxxxxxxxxxx

    .
    .
    .
    public function preCreateOrder(Sfopenic $sfopenic)
    {
        $res = $sfopenic->preCreateOrder($data);
    }
    .
    .
    .
  

    .
    .
    .
    public function preCreateOrder()
    {
        $res = app('sfopenic')->preCreateOrder($data);
    }
    .
    .
    .