meanbee / royalmail-php-library

此包已被弃用,不再维护。没有建议替代包。

Royal Mail 快递方式 PHP 库


README

image

此仓库包含 Meanbee Royal Mail PHP 库的源代码。它接受国家代码、包裹价值和包裹重量,然后输出一个包含可用快递方式的对象数组。

使用库

要使用此库,请用您的国家代码(ISO 3166 格式)、包裹价值和包裹重量调用 getMethods 方法。

示例用法

$calculateMethodClass = new CalculateMethodClass();

$calculateMethodClass->getMethods('GB', 20, 0.050);

这将返回一个对象数组,其中每个对象包含快递方式名称、最小重量、最大重量、方式价格、最大保险价值和正确的快递方式名称。

单元测试

此程序使用 phpunit 和 travis 自动进行单元测试。

CSV 数据格式

此库使用六个 CSV 文件来确定哪些快递方式可用

  1. 1_countryCodeToZone.csv

    • 国家代码
    • 世界区域。每个国家,由其国家代码定义,可以位于多个区域。例如,代表大不列颠的代码 "GB" 在欧盟和 GB 世界区域中。有四个世界区域
      • WORLD_ZONE_GB
      • WORLD_ZONE_EU
      • WORLD_ZONE_ONE
      • WORLD_ZONE_TWO
  2. 2_zoneToDeliveryMethod.csv

    • 世界区域
    • 快递区域。

    每个快递方式的名称以它所链接的世界区域开头,因为区域之间的价格不同。

  3. 3_deliveryMethodMeta.csv

    • 快递方式
    • 方式的最小价格
    • 方式可用的最大价格(此方式适用的最大价格购物车价格)
    • 方式可用的最大保险
    • 人性化的方式名称
    • 快递组
  4. 4_deliveryToPrice.csv

    • 方式名称
    • 最小重量
    • 最大重量
    • 方式价格
    • 最大保险价值
    • 对于重量不超过 2kg 的小型或中型包裹,“SMALL”或“MEDIUM”,否则为空

方式名称按照 WORLDZONE_NAME_WITH_UNDERSCORES 格式构建,每种格式都有一个单独的方式。这些示例可以在多个 CSV 文件中看到。如果物品上有额外的保险,则必须创建另一个方式。示例可以在 3_deliveryMethodMeta.csv 中看到。