wuunder/connector-php

Wuunder API 的 PHP 连接器

1.1.3 2024-04-22 13:24 UTC

README

Wuunder API 的 PHP 连接器

安装
composer require wuunder/connector-php

设置连接
$connector = new Wuunder\Connector("API_KEY");

创建批量预订草稿

$draftsRequest = $connector->createBulkDrafts();

$draftsConfig = new \Wuunder\Api\Config\DraftConfig();

$booking1 = new \Wuunder\Api\Config\BookingConfig();
$booking1->setWebhookUrl("url");
$booking1->setRedirectUrl("url");

$booking2 = new \Wuunder\Api\Config\BookingConfig();
$booking2->setWebhookUrl("url");
$booking2->setRedirectUrl("url");

$draftsConfig->addBookingConfig(1, $booking1, true);
$draftsConfig->addBookingConfig(2, $booking2, true);

if ($draftsConfig->validate()) {
    $draftsRequest->setConfig($draftsConfig);

    if ($draftsRequest->fire()) {
        var_dump($draftsRequest->getDraftsResponse());
    } else {
        var_dump($draftsRequest->getDraftsResponse()->getError());
    }
} else {
    print("DraftsConfig not valid");
}

创建预订

$booking = $connector->createBooking();

$bookingConfig = new Wuunder\Api\Config\BookingConfig();
$bookingConfig->setWebhookUrl("url");
$bookingConfig->setRedirectUrl("url");

if ($bookingConfig->validate()) {
    $booking->setConfig($bookingConfig);

    if ($booking->fire()) {
        var_dump($booking->getBookingResponse()->getBookingUrl());
    } else {
        var_dump($booking->getBookingResponse()->getError());
    }
} else {
    print("Bookingconfig not valid");
}

创建货运

$shipment = $connector->createShipment();

$shipmentConfig = new \Wuunder\Api\Config\ShipmentConfig();
$shipmentConfig->setDescription("Test");
$shipmentConfig->setKind("package");
$shipmentConfig->setValue(200);
$shipmentConfig->setLength(10);
$shipmentConfig->setWidth(10);
$shipmentConfig->setHeight(10);
$shipmentConfig->setWeight(210);
$shipmentConfig->setPreferredServiceLevel("cheapest");

$deliveryAddress = new \Wuunder\Api\Config\AddressConfig();
$deliveryAddress->setEmailAddress("email");
$deliveryAddress->setFamilyName("Lastname");
$deliveryAddress->setGivenName("Firstname");
$deliveryAddress->setLocality("City");
$deliveryAddress->setStreetName("Street");
$deliveryAddress->setHouseNumber("Number");
$deliveryAddress->setZipCode("Zipcode");
$deliveryAddress->setCountry("NL");

$shipmentConfig->setDeliveryAddress($deliveryAddress);

$pickupAddress = new \Wuunder\Api\Config\AddressConfig();
$pickupAddress->setEmailAddress("email");
$pickupAddress->setFamilyName("Lastname");
$pickupAddress->setGivenName("Firstname");
$pickupAddress->setLocality("City");
$pickupAddress->setStreetName("Street");
$pickupAddress->setHouseNumber("Number");
$pickupAddress->setZipCode("Zipcode");
$pickupAddress->setCountry("NL");

$shipmentConfig->setPickupAddress($pickupAddress);

if ($shipmentConfig->validate()) {
    $shipment->setConfig($shipmentConfig);

    if ($shipment->fire()) {
        var_dump($shipment->getShipmentResponse()->getShipmentData());
    } else {
        var_dump($shipment->getShipmentResponse()->getError());
    }
} else {
    print("ShipmentConfig not valid");
}

通过地址获取邻里的包裹店

$parcelshopsRequest = $connector->getParcelshopsByAddress();

$parcelshopsConfig = new \Wuunder\Api\Config\ParcelshopsConfig();
$parcelshopsConfig->setProviders(array("CARRIERCODE"));
$parcelshopsConfig->setAddress("address");
$parcelshopsConfig->setLimit(40);

if ($parcelshopsConfig->validate()) {
    $parcelshopsRequest->setConfig($parcelshopsConfig);

    if ($parcelshopsRequest->fire()) {
        var_dump(json_encode($parcelshopsRequest->getParcelshopsResponse()->getParcelshopsData()));
    } else {
        var_dump($parcelshopsRequest->getParcelshopsResponse()->getError());
    }
} else {
    print("ParcelshopsConfig not valid");
}

获取特定包裹店的信息

$parcelshopRequest = $connector->getParcelshopById();

$parcelshopConfig = new \Wuunder\Api\Config\ParcelshopConfig();
$parcelshopConfig->setId("id");

if ($parcelshopConfig->validate()) {
    $parcelshopRequest->setConfig($parcelshopConfig);

    if ($parcelshopRequest->fire()) {
        var_dump(json_encode($parcelshopRequest->getParcelshopResponse()->getParcelshopData()));
    } else {
        var_dump($parcelshopRequest->getParcelshopResponse()->getError());
    }
} else {
    print("ParcelshopConfig not valid");
}

Wuunder

Wuunder 提供了一个 API,可以最简单的方式发送和接收您的包裹、托盘和文件。与 DHL、DPD、GLS 和 PostNL 等承运商一起运输。仅限于荷兰境内、从荷兰和到荷兰的运输。

  • 节省准备订单的时间,并将所有订单和运输详情完全自动化地发送到所有承运商;
  • 选择您想要运输文件、包裹和托盘的方式:当天、次日或更慢;
  • 使用 >20 家承运商之一(使用我们的或您自己的承运商合同);
  • 您的运输地址和电话号码将被自动验证,以避免不必要的退货;
  • 一次性打印一个或多个运输标签;
  • 也可以轻松组织退货或转送,您的客户、供应商或仓库员工将通过电子邮件收到标签;
  • 完全自动安排提货(在您的、您的客户或您的供应商的位置)或选择一个或多个承运商的常规提货;
  • 您可以在一个方便的仪表板中跟踪所有运输(来自不同承运商)的运输情况(跟踪和追踪);
  • 通过通知或电子邮件(可选)直接通知接收者。您的产品图片和个人聊天消息用于与接收者的沟通;
  • 您将使用与客户聊天选项(可选)来增加您的收入;
  • 一键安排退货运输,包括提货或包裹店投递;
  • Wuunder 提供了对您运输的主动跟踪。如果出现任何延误、提货问题等,我们将代表您采取行动并联系承运商、接收者或供应商。就这么简单!

我们的运输 API 有一个测试环境和生产环境。这允许您在上线之前测试模块的所有方面。如果您想使用运输 API,请联系 Wuunder,我们将尽快发送 API 密钥: Info@WeAreWuunder.com