paysera / lib-delivery-api-merchant-client
此包的最新版本(1.1.0)没有可用的许可信息。
Paysera Delivery Api Merchant Client
1.1.0
2024-09-10 08:10 UTC
Requires
- php: >=5.5
- evp/money: ^1.0 || ^2.0
- fig/http-message-util: ^1.0
- paysera/lib-rest-client-common: ^1.0 | ^2.5
README
提供操作 MerchantClient
API 的方法。它自动对所有请求进行身份验证,并为您映射所需的数据结构。
用法
此库提供 ClientFactory
类,您应使用它来获取 API 客户端本身
use Paysera\DeliveryApi\MerchantClient\ClientFactory; $clientFactory = new ClientFactory([ 'base_url' => 'https://delivery-api.paysera.com/rest/v1/', // optional, in case you need a custom one. 'basic' => [ // use this, it API requires Basic authentication. 'username' => 'username', 'password' => 'password', ], 'oauth' => [ // use this, it API requires OAuth v2 authentication. 'token' => [ 'access_token' => 'my-access-token', 'refresh_token' => 'my-refresh-token', ], ], // other configuration options, if needed ]); $merchantClient = $clientFactory->getMerchantClient();
请只使用 Vendor
提供的单一身份验证机制。
现在,您已经拥有了 MerchantClient
的实例,您可以使用以下方法
方法
标准 SQL 风格的结果过滤
use Paysera\DeliveryApi\MerchantClient\Entity as Entities; $filter = new \Paysera\Component\RestClientCommon\Entity\Filter(); $filter->setLimit($limit); $filter->setOffset($offset); $filter->setOrderBy($orderBy); $filter->setOrderDirection($orderDirection); $filter->setAfter($after); $filter->setBefore($before); $result = $merchantClient->getDefaultPackageSizes($filter);
通过 ID 获取运输方式
$result = $merchantClient->getMethod($id);
获取运输方式
use Paysera\DeliveryApi\MerchantClient\Entity as Entities; $methodsFilter = new Entities\MethodsFilter(); $methodsFilter->setProjectId($projectId); $methodsFilter->setFromCountryCode($fromCountryCode); $methodsFilter->setToCountryCode($toCountryCode); $methodsFilter->setShipments($shipments); $result = $merchantClient->updateMethod($methodsFilter);
网关方法过滤
use Paysera\DeliveryApi\MerchantClient\Entity as Entities; $gatewayMethodsFilter = new Entities\GatewayMethodsFilter(); $gatewayMethodsFilter->setProjectId($projectId); $gatewayMethodsFilter->setFromCountryCode($fromCountryCode); $gatewayMethodsFilter->setToCountryCode($toCountryCode); $result = $merchantClient->getGatewayMethods($id, $gatewayMethodsFilter);
通过 ID 获取运输网关
$result = $merchantClient->getGateway($id);
获取运输网关
use Paysera\DeliveryApi\MerchantClient\Entity as Entities; $gatewaysFilter = new Entities\GatewaysFilter(); $gatewaysFilter->setProjectId($projectId); $gatewaysFilter->setFromCountryCode($fromCountryCode); $gatewaysFilter->setToCountryCode($toCountryCode); $gatewaysFilter->setShipments($shipments); $gatewaysFilter->setShipmentMethodCode($shipmentMethodCode); $result = $merchantClient->updateGateway($gatewaysFilter);
标准 SQL 风格的结果过滤
use Paysera\DeliveryApi\MerchantClient\Entity as Entities; $postOfficeFilter = new Entities\PostOfficeFilter(); $postOfficeFilter->setCity($city); $postOfficeFilter->setCountry($country); $postOfficeFilter->setShipmentGatewayCode($shipmentGatewayCode); $result = $merchantClient->getPostOffices($postOfficeFilter);
标准 SQL 风格的结果过滤
use Paysera\DeliveryApi\MerchantClient\Entity as Entities; $parcelMachineFilter = new Entities\ParcelMachineFilter(); $parcelMachineFilter->setCity($city); $parcelMachineFilter->setCountry($country); $parcelMachineFilter->setShipmentGatewayCode($shipmentGatewayCode); $result = $merchantClient->getParcelMachines($parcelMachineFilter);
从文件导入运输点
use Paysera\DeliveryApi\MerchantClient\Entity as Entities; $file = new \Paysera\Component\RestClientCommon\Entity\File(); $file->setName($name); $file->setContent($content); $file->setMimeType($mimeType); $file->setSize($size); $result = $merchantClient->createShipmentPointsImport($file);
通过 ID 获取运输点
$result = $merchantClient->getShipmentPoint($id);
更新运输点
use Paysera\DeliveryApi\MerchantClient\Entity as Entities; $shipmentPointCreate = new Entities\ShipmentPointCreate(); $shipmentPointCreate->setProjectId($projectId); $shipmentPointCreate->setType($type); $shipmentPointCreate->setSaved($saved); $shipmentPointCreate->setContact($contact); $shipmentPointCreate->setPostOfficeId($postOfficeId); $shipmentPointCreate->setParcelMachineId($parcelMachineId); $shipmentPointCreate->setAdditionalInfo($additionalInfo); $shipmentPointCreate->setDefaultContact($defaultContact); $result = $merchantClient->updateShipmentPoint($id, $shipmentPointCreate);
删除运输点
$merchantClient->deleteShipmentPoint($id);
添加新的运输点
use Paysera\DeliveryApi\MerchantClient\Entity as Entities; $shipmentPointCreate = new Entities\ShipmentPointCreate(); $shipmentPointCreate->setProjectId($projectId); $shipmentPointCreate->setType($type); $shipmentPointCreate->setSaved($saved); $shipmentPointCreate->setContact($contact); $shipmentPointCreate->setPostOfficeId($postOfficeId); $shipmentPointCreate->setParcelMachineId($parcelMachineId); $shipmentPointCreate->setAdditionalInfo($additionalInfo); $shipmentPointCreate->setDefaultContact($defaultContact); $result = $merchantClient->createShipmentPoint($shipmentPointCreate);
标准 SQL 风格的结果过滤
use Paysera\DeliveryApi\MerchantClient\Entity as Entities; $shipmentPointFilter = new Entities\ShipmentPointFilter(); $shipmentPointFilter->setType($type); $shipmentPointFilter->setTitlePart($titlePart); $shipmentPointFilter->setDefaultContact($defaultContact); $shipmentPointFilter->setProjects($projects); $result = $merchantClient->getShipmentPoints($shipmentPointFilter);
从文件导入订单
use Paysera\DeliveryApi\MerchantClient\Entity as Entities; $file = new \Paysera\Component\RestClientCommon\Entity\File(); $file->setName($name); $file->setContent($content); $file->setMimeType($mimeType); $file->setSize($size); $result = $merchantClient->createOrdersImport($file);
获取当前默认包装尺寸
$result = $merchantClient->getProjectDefaultPackageSize($projectId);
更新默认包装尺寸
use Paysera\DeliveryApi\MerchantClient\Entity as Entities; $defaultPackageSizeCode = new Entities\DefaultPackageSizeCode(); $defaultPackageSizeCode->setCode($code); $result = $merchantClient->updateProjectDefaultPackageSize($projectId, $defaultPackageSizeCode);
删除默认包装尺寸
$merchantClient->deleteProjectDefaultPackageSize($projectId);
更新项目运输网关
use Paysera\DeliveryApi\MerchantClient\Entity as Entities; $shipmentGatewayCreate = new Entities\ShipmentGatewayCreate(); $shipmentGatewayCreate->setEnabled($enabled); $result = $merchantClient->updateProjectGateway($projectId, $gatewayId, $shipmentGatewayCreate);
标准 SQL 风格的结果过滤
use Paysera\DeliveryApi\MerchantClient\Entity as Entities; $filter = new \Paysera\Component\RestClientCommon\Entity\Filter(); $filter->setLimit($limit); $filter->setOffset($offset); $filter->setOrderBy($orderBy); $filter->setOrderDirection($orderDirection); $filter->setAfter($after); $filter->setBefore($before); $result = $merchantClient->getProjectGateways($projectId, $filter);
更新项目网关
use Paysera\DeliveryApi\MerchantClient\Entity as Entities; $shipmentGatewayCreateCollection = new Entities\ShipmentGatewayCreateCollection(); $shipmentGatewayCreateCollection->setList($list); $result = $merchantClient->updateProjectGateways($projectId, $shipmentGatewayCreateCollection);
更新项目运输方式
use Paysera\DeliveryApi\MerchantClient\Entity as Entities; $shipmentMethodCreate = new Entities\ShipmentMethodCreate(); $shipmentMethodCreate->setEnabled($enabled); $result = $merchantClient->updateProjectMethod($projectId, $methodId, $shipmentMethodCreate);
标准 SQL 风格的结果过滤
use Paysera\DeliveryApi\MerchantClient\Entity as Entities; $filter = new \Paysera\Component\RestClientCommon\Entity\Filter(); $filter->setLimit($limit); $filter->setOffset($offset); $filter->setOrderBy($orderBy); $filter->setOrderDirection($orderDirection); $filter->setAfter($after); $filter->setBefore($before); $result = $merchantClient->getProjectMethods($projectId, $filter);
更新项目方式
use Paysera\DeliveryApi\MerchantClient\Entity as Entities; $shipmentMethodCreateCollection = new Entities\ShipmentMethodCreateCollection(); $shipmentMethodCreateCollection->setList($list); $result = $merchantClient->updateProjectMethods($projectId, $shipmentMethodCreateCollection);
标准 SQL 风格的结果过滤
use Paysera\DeliveryApi\MerchantClient\Entity as Entities; $filter = new \Paysera\Component\RestClientCommon\Entity\Filter(); $filter->setLimit($limit); $filter->setOffset($offset); $filter->setOrderBy($orderBy); $filter->setOrderDirection($orderDirection); $filter->setAfter($after); $filter->setBefore($before); $result = $merchantClient->getProjects($filter);
标准 SQL 风格的结果过滤
use Paysera\DeliveryApi\MerchantClient\Entity as Entities; $orderFilter = new Entities\OrderFilter(); $orderFilter->setProjects($projects); $orderFilter->setOrderStatuses($orderStatuses); $orderFilter->setReceiverCountryCode($receiverCountryCode); $orderFilter->setReceiverNamePart($receiverNamePart); $orderFilter->setReceiverPhonePart($receiverPhonePart); $orderFilter->setReceiverStreetPart($receiverStreetPart); $orderFilter->setCreatedDateFrom($createdDateFrom); $orderFilter->setCreatedDateTill($createdDateTill); $orderFilter->setNumber($number); $orderFilter->setTrackingCode($trackingCode); $orderFilter->setShippingGatewayCode($shippingGatewayCode); $orderFilter->setWithManifest($withManifest); $orderFilter->setWithLabel($withLabel); $orderFilter->setEshopOrderId($eshopOrderId); $result = $merchantClient->getOrdersExport($orderFilter);
确认订单
use Paysera\DeliveryApi\MerchantClient\Entity as Entities; $orderIdsList = new Entities\OrderIdsList(); $orderIdsList->setOrderIds($orderIds); $result = $merchantClient->createOrdersConfirm($orderIdsList);
预付费订单
use Paysera\DeliveryApi\MerchantClient\Entity as Entities; $orderIdsList = new Entities\OrderIdsList(); $orderIdsList->setOrderIds($orderIds); $result = $merchantClient->createOrdersPrepaid($orderIdsList);
为 "label_generated" 订单生成清单并呼叫快递员
$result = $merchantClient->createOrderManifest($id);
获取清单文件
$result = $merchantClient->getOrderManifest($id);
为 "in progress" 订单生成标签
$result = $merchantClient->createOrderLabel($id);
获取标签文件
$result = $merchantClient->getOrderLabel($id);
将订单重置为草稿状态
$result = $merchantClient->resetOrderToDraft($id);
通过 ID 获取订单
$result = $merchantClient->getOrder($id);
更新订单
use Paysera\DeliveryApi\MerchantClient\Entity as Entities; $orderUpdate = new Entities\OrderUpdate(); $orderUpdate->setProjectId($projectId); $orderUpdate->setShipmentGatewayCode($shipmentGatewayCode); $orderUpdate->setShipmentMethodCode($shipmentMethodCode); $orderUpdate->setShipments($shipments); $orderUpdate->setSenderId($senderId); $orderUpdate->setSender($sender); $orderUpdate->setReceiverId($receiverId); $orderUpdate->setReceiver($receiver); $orderUpdate->setNotes($notes); $orderUpdate->setEshopOrderId($eshopOrderId); $orderUpdate->setOrderCreationType($orderCreationType); $orderUpdate->setOrderNotification($orderNotification); $result = $merchantClient->updateOrder($id, $orderUpdate);
删除订单
$merchantClient->deleteOrder($id);
添加新订单
use Paysera\DeliveryApi\MerchantClient\Entity as Entities; $orderCreate = new Entities\OrderCreate(); $orderCreate->setProjectId($projectId); $orderCreate->setShipmentGatewayCode($shipmentGatewayCode); $orderCreate->setShipmentMethodCode($shipmentMethodCode); $orderCreate->setShipments($shipments); $orderCreate->setSenderId($senderId); $orderCreate->setSender($sender); $orderCreate->setReceiverId($receiverId); $orderCreate->setReceiver($receiver); $orderCreate->setNotes($notes); $orderCreate->setEshopOrderId($eshopOrderId); $orderCreate->setOrderCreationType($orderCreationType); $orderCreate->setOrderNotification($orderNotification); $orderCreate->setOrderInitialStatus(Entities\OrderCreate::ORDER_INITIAL_STATUS_PREPAID); $result = $merchantClient->createOrder($orderCreate);
标准 SQL 风格的结果过滤
use Paysera\DeliveryApi\MerchantClient\Entity as Entities; $orderFilter = new Entities\OrderFilter(); $orderFilter->setProjects($projects); $orderFilter->setOrderStatuses($orderStatuses); $orderFilter->setReceiverCountryCode($receiverCountryCode); $orderFilter->setReceiverNamePart($receiverNamePart); $orderFilter->setReceiverPhonePart($receiverPhonePart); $orderFilter->setReceiverStreetPart($receiverStreetPart); $orderFilter->setCreatedDateFrom($createdDateFrom); $orderFilter->setCreatedDateTill($createdDateTill); $orderFilter->setNumber($number); $orderFilter->setTrackingCode($trackingCode); $orderFilter->setShippingGatewayCode($shippingGatewayCode); $orderFilter->setWithManifest($withManifest); $orderFilter->setWithLabel($withLabel); $orderFilter->setEshopOrderId($eshopOrderId); $result = $merchantClient->getOrders($orderFilter);
列出订单价格
use Paysera\DeliveryApi\MerchantClient\Entity as Entities; $orderPriceFilter = new Entities\OrderPriceFilter(); $orderPriceFilter->setProjectId($projectId); $orderPriceFilter->setSenderId($senderId); $orderPriceFilter->setSender($sender); $orderPriceFilter->setReceiverId($receiverId); $orderPriceFilter->setReceiver($receiver); $orderPriceFilter->setShipments($shipments); $result = $merchantClient->updateOrderPrice($orderPriceFilter);
活动过滤器
use Paysera\DeliveryApi\MerchantClient\Entity as Entities; $activityFilter = new Entities\ActivityFilter(); $activityFilter->setProjects($projects); $activityFilter->setDateFrom($dateFrom); $activityFilter->setDateTill($dateTill); $result = $merchantClient->getStatisticExport($activityFilter);
标准 SQL 风格的结果过滤
use Paysera\DeliveryApi\MerchantClient\Entity as Entities; $lastActivityFilter = new Entities\LastActivityFilter(); $lastActivityFilter->setProjects($projects); $result = $merchantClient->getStatisticLastActivity($lastActivityFilter);
活动过滤器
use Paysera\DeliveryApi\MerchantClient\Entity as Entities; $activityFilter = new Entities\ActivityFilter(); $activityFilter->setProjects($projects); $activityFilter->setDateFrom($dateFrom); $activityFilter->setDateTill($dateTill); $result = $merchantClient->getStatistics($activityFilter);
标准 SQL 风格的结果过滤
use Paysera\DeliveryApi\MerchantClient\Entity as Entities; $countryFilter = new Entities\CountryFilter(); $countryFilter->setShipmentGatewayCode($shipmentGatewayCode); $result = $merchantClient->getCountries($countryFilter);
标准 SQL 风格的结果过滤
use Paysera\DeliveryApi\MerchantClient\Entity as Entities; $cityFilter = new Entities\CityFilter(); $cityFilter->setCountry($country); $cityFilter->setGatewayCode($gatewayCode); $result = $merchantClient->getCities($cityFilter);
列出凭证
$result = $merchantClient->getCourierApiCredential($projectId);
更新凭证
use Paysera\DeliveryApi\MerchantClient\Entity as Entities; $courierApiCredentialsCreate = new Entities\CourierApiCredentialsCreate(); $courierApiCredentialsCreate->setProject($project); $courierApiCredentialsCreate->setGateway($gateway); $courierApiCredentialsCreate->setUsername($username); $courierApiCredentialsCreate->setPassword($password); $courierApiCredentialsCreate->setCountry($country); $courierApiCredentialsCreate->setClientId($clientId); $result = $merchantClient->updateCourierApiCredential($id, $courierApiCredentialsCreate);
删除凭证
$merchantClient->deleteCourierApiCredential($id);
创建新的凭证
use Paysera\DeliveryApi\MerchantClient\Entity as Entities; $courierApiCredentialsCreate = new Entities\CourierApiCredentialsCreate(); $courierApiCredentialsCreate->setProject($project); $courierApiCredentialsCreate->setGateway($gateway); $courierApiCredentialsCreate->setUsername($username); $courierApiCredentialsCreate->setPassword($password); $courierApiCredentialsCreate->setCountry($country); $courierApiCredentialsCreate->setClientId($clientId); $result = $merchantClient->createCourierApiCredential($courierApiCredentialsCreate);
标准 SQL 风格的结果过滤
use Paysera\DeliveryApi\MerchantClient\Entity as Entities; $orderFilter = new Entities\OrderFilter(); $orderFilter->setProjects($projects); $orderFilter->setOrderStatuses($orderStatuses); $orderFilter->setReceiverCountryCode($receiverCountryCode); $orderFilter->setReceiverNamePart($receiverNamePart); $orderFilter->setReceiverPhonePart($receiverPhonePart); $orderFilter->setReceiverStreetPart($receiverStreetPart); $orderFilter->setCreatedDateFrom($createdDateFrom); $orderFilter->setCreatedDateTill($createdDateTill); $orderFilter->setNumber($number); $orderFilter->setTrackingCode($trackingCode); $orderFilter->setShippingGatewayCode($shippingGatewayCode); $orderFilter->setWithManifest($withManifest); $orderFilter->setWithLabel($withLabel); $orderFilter->setEshopOrderId($eshopOrderId); $result = $merchantClient->getOrdersCount($orderFilter);