public function OrderConfirmRequest($orderid, $mailno, $dealtype, $options = array()) { $params = array(); $params['dealtype '] = $dealtype; $params['orderid'] = $orderid; $params['mailno '] = $mailno; $OrderConfirm = ''; if (count($params) > 0) { $OrderConfirm = '<OrderConfirm '; foreach ($params as $k => $v) { $OrderConfirm .= $k . '=' . '"' . $v . '" '; } $OrderConfirm = trim($OrderConfirm) . '>'; if (count($options) > 0) { $OrderConfirm .= $this->OrderConfirmOption($options); } $OrderConfirm .= '</OrderConfirm>'; } else { return false; } $xml = $this->buildXml($OrderConfirm); $verifyCode = Auth::sign($xml, $this->config['checkword']); $params = array('xml' => $xml, 'verifyCode' => $verifyCode); $data = $this->ApiPost($params); return $this->OrderConfirmResponse($data); }
/** * 下订单(含筛选) * 下订单接口根据客户需要,可提供以下三个功能: * 1) 客户系统向顺丰下发订单。 * 2) 为订单分配运单号。 * 3) 筛单(可选,具体商务沟通中双方约定,由顺丰内部为客户配置)。 * 此接口也用于路由推送注册。客户的顺丰运单号不是通过此下订单接口获取,但却需要获取BSP的路由推送时, * 需要通过此接口对相应的顺丰运单进行注册以使用BSP的路由推送 接口。 * * @param string $orderid //客户订单号 * @param string $d_company //到件方公司名称 * @param string $d_contact //到件方联系人 * @param string $d_tel //到件方联系电话 * @param string $d_address //到件方详细地址,如果不传输 d_province/d_city 字段,此详细地址 需包含省市信息,以提高地址识别的 成功率,示例:“广东省深圳市福田 区新洲十一街万基商务大厦 10楼”。 * @param array $params //可选参数的数组 * @param array $cargoes * @param array $addedServices * @return string */ public function Order($orderid, $d_company, $d_contact, $d_tel, $d_address, $params = array(), $cargoes = array(), $addedServices = array()) { $params['orderid'] = $orderid; $params['d_company'] = $d_company; $params['d_contact'] = $d_contact; $params['d_tel'] = $d_tel; $params['d_address'] = $d_address; $order = '<Order '; foreach ($params as $k => $v) { $order .= $k . '=' . '"' . $v . '" '; } if (count($cargoes) > 0 || count($addedServices) > 0) { $order = trim($order) . '>'; if (is_array($cargoes) && count($cargoes) > 0) { $order .= $this->Cargo($cargoes); } if (is_array($addedServices) && count($addedServices) > 0) { $order .= $this->AddedService($addedServices); } $order .= '</Order>'; } else { $order .= ' />'; } $xml = $this->buildXml($order); $verifyCode = Auth::sign($xml, $this->config['checkword']); $params = array('xml' => $xml, 'verifyCode' => $verifyCode); $data = $this->ApiPost($params); return $this->OrderResponse($data); }
public function OrderSearch($orderid) { $OrderSearch = '<OrderSearch orderid="' . $orderid . '" />'; $xml = $this->buildXml($OrderSearch); $verifyCode = Auth::sign($xml, $this->config['checkword']); $params = array('xml' => $xml, 'verifyCode' => $verifyCode); $data = $this->ApiPost($params); return $this->OrderSearchResponse($data); }
/** * Item Request * @param $item * @return array */ public function ItemRequest($item) { $itemRequest = '<ItemRequest>'; $itemRequest .= '<CompanyCode>' . $this->config['companycode'] . '</CompanyCode>'; $itemRequest .= $this->Items($item); $itemRequest .= '</ItemRequest>'; $xml = $this->buildXml($itemRequest); $verifyCode = Auth::sign($xml, $this->config['checkword']); $params = array('logistics_interface' => urlencode($xml), 'data_digest' => urlencode($verifyCode)); $data = $this->ApiPost($params); return $this->ItemResponse($data); }
public function OrderFilter($d_address, $filter_type = 1, $orderid = '', $options = array()) { $params = array(); $params['d_address'] = $d_address; $params['filter_type '] = $filter_type; if (!empty($orderid)) { $params['orderid '] = $orderid; } $OrderFilter = '<OrderFilter '; foreach ($params as $k => $v) { $OrderFilter .= $k . '=' . '"' . $v . '" '; } $OrderFilter = trim($OrderFilter) . '>'; if (count($options) > 0) { $OrderFilter .= $this->OrderFilterOption($options); } $OrderFilter .= '</OrderFilter>'; $xml = $this->buildXml($OrderFilter); $verifyCode = Auth::sign($xml, $this->checkword); $params = array('xml' => $xml, 'verifyCode' => $verifyCode); $data = $this->ApiPost($params); return $this->OrderFilterResponse($data); }