laz-vn/logistics-api

1.0.1 2024-08-02 02:00 UTC

This package is auto-updated.

Last update: 2024-10-02 02:27:08 UTC


README

用于集成 Lazada 开放平台的库包

先决条件

  • PHP >= 7.2
  • Composer

安装

请确保您安装了正确的 PHP 版本和 Composer。然后,您可以从命令行添加此包

composer require laz-vn/logistics-api

或者您可以直接在 composer.json 文件中添加,然后运行命令 composer update

require {
    "laz-vn/logistics-api":"*"
}

请记住运行 composer dump-autoload -o 以确保自动加载正常工作。

文档

https://open.lazada.com/ - Lazada 开放平台的官方文档

环境变量 - .env

LAZADA_API_KEY=your_api_key #your api key from lazada open platform
LAZADA_API_SECRET=your_api_secret #your api secret from lazada open platform
LAZADA_API_URL=your_api_url #staging:https://api.lazada.vn/rest -  production:https://api.lazada.vn/rest

使用

use LazApi\LogisticsService;

$api_key = getenv('LAZADA_API_KEY');
$api_secret = getenv('LAZADA_API_SECRET');
$api_url = getenv('LAZADA_API_URL');

$logistics = new LogisticsService($api_key, $api_secret, $api_url);

1. 将卖家账户映射到 Lazada 开放平台账户

$parameters = [
    "platformName" => "your_platform_name(lazada provided)",
    "sellerId" => "your_seller_id(partner input)",
    "otp" => "your_otp(partner get from seller account https://logistics.lazada.vn)",
];

$response = $logistics->mappingSellerAccount($parameters);

2. 创建仓库

$parameters = [
    "warehouseCode"=> "your_warehouse_code(partner input)",
    "platformName"=> "your_platform_name(lazada provided)",
    // get full parameters from https://open.lazada.com/apps/doc/api?path=%2Flogistics%2Fepis%2Fcustomers%2Fwarehouses
];

$response = $logistics->createWarehouse($parameters);

3. 获取配送选项

$parameters = [
    "externalOrderId"= "your_order_id(partner input)",
    // get full parameters from https://open.lazada.com/apps/doc/api?path=%2Flogistics%2Fepis%2Fservice%2Fdelivery_options
];
$response = $logistics->getDeliveryOptions($parameters);

4. 获取估算运费

API 获取估算运费用于获取包裹的估计运费

$parameters = [
    "externalSellerId" => "your_seller_id(partner input)",
    ...
    // get full parameters from https://open.lazada.com/apps/doc/api?path=%2Flogistics%2Fepis%2Festimate_shipping_fee
];
$response = $logistics->estimateShippingFee($parameters);

5. 创建包裹

$parameters = [
     "dangerousGood" => "false",
    "shipper" => [
        'externalSellerId' => 'your_seller_id(partner input)',
        'externalWarehouseCode' => 'your_warehouse_code(partner input)',
    ],
    "dimWeight" => [
        'length' => '10',
        'width' => '10',
        'weight' => '100',
        'height' => '5'
    ],
    "origin" => [
        'address' => [
            'details' => 'Test quận 2',
            'id' => 'R7346817'
        ],
        'phone' => '1111111111',
        'name' => 'Kho mặc định',
        'email' => 'teat@gmail.com'
    ],
    "destination" => [
        'address' => [
            'details' => 'Phường Mai dịch',
            'id' => 'R80199163',
            'type' => 'home'
        ],
        'phone' => '0366452565',
        'name' => 'huy huy',
        'email' => 'teat@gmail.com'
    ],
    "payment" => [
        'totalAmount' => '234535',
        'currency' => 'VND',
        'paymentType' => 'COD'
    ],
    "externalOrderId" => "your_order_id(partner input)",
    "platformOrderCreationTime" => "timestamp of order creation(partner input)",
    "packageType" => "Sales_order|Return_order",
    "deliveryOption" => "standard",
    "items" => [
        [
            'unitPrice' => '200000',
            'quantity' => '1',
            'name' => 'Áo thun nam thời trang',
            'id' => '10887094399',
            'sku' => 'SP701',
            'paidPrice' => '200000'
        ],
    ],
    "options" => [
        "directReturnToMerchant" => "false"
    ],
    // get full parameters from https://open.lazada.com/apps/doc/api?path=%2Flogistics%2Fepis%2Fpackages
];

$response = $logistics->createPackage($parameters);

5.1 包裹寄售

API 包裹寄售用于寄售包裹

    $parameters = [
        "dangerousGood"= "false",
        // get full parameters from https://open.lazada.com/apps/doc/api?path=%2Flogistics%2Fepis%2Fpackages%2Fconsign
    ]
    $response = $logistics->consignPackage($parameters);

5.2 包裹准备发货

API 包裹准备发货用于通知 Lazada 寄售的包裹已准备好发货

    $parameters = [
        "trackingNumber"= "tracking_number pack",
    ]
    $response = $logistics->rtsPackage($parameters);

6. 打印航空货运单

$parameters = [
    "packageCode" => "your_package_code(partner input)",
    "type"=>"pdf",
];

$response = $logistics->printAwb($parameters);

6.1 打印航空货运单 v2

打印 awb v2 支持多个包裹代码和跟踪号

$parameters = [
    "packageCodes" => "your_package_code(partner input)",
    "trackingNumbers" => "your_tracking_number(partner input)",
    "type"=>"pdf",
];
$response = $logistics->printAwbV2($parameters);

7. 取消包裹

$parameters = [
    "packageCode" => "your_package_code(partner input)",
    "reason"=>"your_reason(partner input)",
];

$response = $logistics->cancelPackage($parameters);

8. 获取运费

获取运费用于获取包裹的估计运费和实际运费

$parameters = [
    "externalSellerId" => "your_seller_id(partner input)",
    "platformName"= "your_platform_name(lazada provided)",
    "trackingNumber"= "your_tracking_number(partner input)",
];
$response = $logistics->getShippingFee($parameters);

错误列表

  • otp 过期:请检查您的 otp 并从卖家账户获取新的 otp
{
  "type": "ISV",
  "code": "IllegalAccessToken",
  "message": "The specified access token is invalid or expired",
  "request_id": "2101567a17104988838493654"
}
  • 签名无效:请检查您的 api 密钥和 api 密钥
{
  "type": "ISV",
  "code": "IncompleteSignature",
  "message": "The request signature does not conform to platform standards",
  "request_id": "210131d117090244906601493"
}
  • ip 不允许:请将您的 ip 提供给 Lazada 开放平台以将其列入白名单
<a
  id="a-link"
  \r\n
  href="https://bixi.alicdn.com/punish/punish:resource:template:lazadaSpace:exefqahalk_33139279.html?qrcode=JLsKMoCLzMuA8mmIk6N75g|ZfWc8Q|MWrYXQ_0&uuid=24bb0a32808bcccb80f2698893a37be6&action=deny&origin=https%3A%2F%2Fapi-pre.lazada.vn%3A443%2Frest%2Flogistics%2Fepis%2Fpackages"
></a
>\r\n
<script>
  \r\n
  var host = location.host;\r\n
  var parts = host.split('.');\r\n
  if (parts.length > 2){\r\n
    host = parts.pop();\r\n
    host = "." + parts.pop() + "." + host;\r\n
  }\r\n
  var exp = new Date();\r\n
  var maxAge = -100;\r\n
  exp.setTime(exp.getTime() + maxAge);\r\n
  var cookie = "x5secdata=;maxAge=" + maxAge + ";expires=" + exp.toUTCString() + ";path=/;domain=" + host + ";";\r\n
  document.cookie = cookie;\r\n
  document.cookie = cookie + 'Secure;SameSite=None';\r\n
  document.getElementById("a-link").click();\r\n
  window._config_ = {\r\n
     "action": "deny",\r\n
     "url": "https://bixi.alicdn.com/punish/punish:resource:template:lazadaSpace:exefqahalk_33139279.html?qrcode=JLsKMoCLzMuA8mmIk6N75g|ZfWc8Q|MWrYXQ_0&uuid=24bb0a32808bcccb80f2698893a37be6&action=deny&origin=https%3A%2F%2Fapi-pre.lazada.vn%3A443%2Frest%2Flogistics%2Fepis%2Fpackages"\r\n
  };\r\n
</script>

语言

  • PHP

版本控制


Version 1.0.0

许可

(c) Lazada 越南

支持

=======