* * This source file is subject to the MIT license that is bundled * with this source code in the file LICENSE. */ namespace EasyWeChat\MiniProgram\Express; use EasyWeChat\Kernel\BaseClient; use EasyWeChat\Kernel\Exceptions\InvalidArgumentException; /** * Class Client. * * @author kehuanhuan <1152018701@qq.com> */ class Client extends BaseClient { /** * 绑定、解绑物流账号 * @param array $params * @return array|\EasyWeChat\Kernel\Support\Collection|object|\Psr\Http\Message\ResponseInterface|string * @throws InvalidArgumentException * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException */ public function bind(array $params = []) { if (empty($params['type']) || empty($params['biz_id']) || empty($params['delivery_id'])) { throw new InvalidArgumentException('Missing parameter.'); } return $this->httpPostJson('cgi-bin/express/business/account/bind', $params); } /** * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string * * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException */ public function listProviders() { return $this->httpGet('cgi-bin/express/business/delivery/getall'); } /** * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string * * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException */ public function getAllAccount() { return $this->httpGet('cgi-bin/express/business/account/getall'); } /** * @param array $params * * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string * * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException * @throws \GuzzleHttp\Exception\GuzzleException */ public function createWaybill(array $params = []) { return $this->httpPostJson('cgi-bin/express/business/order/add', $params); } /** * @param array $params * * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string * * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException * @throws \GuzzleHttp\Exception\GuzzleException */ public function deleteWaybill(array $params = []) { return $this->httpPostJson('cgi-bin/express/business/order/cancel', $params); } /** * @param array $params * * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string * * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException * @throws \GuzzleHttp\Exception\GuzzleException */ public function getWaybill(array $params = []) { return $this->httpPostJson('cgi-bin/express/business/order/get', $params); } /** * @param array $params * * @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string * * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException * @throws \GuzzleHttp\Exception\GuzzleException */ public function getWaybillTrack(array $params = []) { return $this->httpPostJson('cgi-bin/express/business/path/get', $params); } /** * @param string $deliveryId * @param string $bizId * * @return array|\EasyWeChat\Kernel\Support\Collection|object|\Psr\Http\Message\ResponseInterface|string * * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException * @throws \GuzzleHttp\Exception\GuzzleException */ public function getBalance(string $deliveryId, string $bizId) { return $this->httpPostJson('cgi-bin/express/business/quota/get', [ 'delivery_id' => $deliveryId, 'biz_id' => $bizId, ]); } /** * @return array|\EasyWeChat\Kernel\Support\Collection|object|\Psr\Http\Message\ResponseInterface|string * * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException * @throws \GuzzleHttp\Exception\GuzzleException */ public function getPrinter() { return $this->httpPostJson('cgi-bin/express/business/printer/getall'); } /** * @param string $openid * * @return array|\EasyWeChat\Kernel\Support\Collection|object|\Psr\Http\Message\ResponseInterface|string * * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException * @throws \GuzzleHttp\Exception\GuzzleException */ public function bindPrinter(string $openid) { return $this->httpPostJson('cgi-bin/express/business/printer/update', [ 'update_type' => 'bind', 'openid' => $openid, ]); } /** * @param string $openid * * @return array|\EasyWeChat\Kernel\Support\Collection|object|\Psr\Http\Message\ResponseInterface|string * * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException * @throws \GuzzleHttp\Exception\GuzzleException */ public function unbindPrinter(string $openid) { return $this->httpPostJson('cgi-bin/express/business/printer/update', [ 'update_type' => 'unbind', 'openid' => $openid, ]); } /** * 创建退货 ID * @param array $params * @return array|\EasyWeChat\Kernel\Support\Collection|object|\Psr\Http\Message\ResponseInterface|string * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException */ public function createReturn(array $params = []) { return $this->httpPostJson('cgi-bin/express/delivery/return/add', $params); } /** * 查询退货 ID 状态 * @param string $returnId * @return array|\EasyWeChat\Kernel\Support\Collection|object|\Psr\Http\Message\ResponseInterface|string * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException */ public function getReturn(string $returnId) { return $this->httpPostJson('cgi-bin/express/delivery/return/get', [ 'return_id' => $returnId ]); } /** * 解绑退货 ID * @param string $returnId * @return array|\EasyWeChat\Kernel\Support\Collection|object|\Psr\Http\Message\ResponseInterface|string * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException */ public function unbindReturn(string $returnId) { return $this->httpPostJson('cgi-bin/express/delivery/return/unbind', [ 'return_id' => $returnId ]); } }