tea-eagle/iiko-transport

0.8.0 2023-08-20 13:59 UTC

This package is auto-updated.

Last update: 2024-09-21 02:29:57 UTC


README

logo

初始化

use TeaEagle\IikoTransport\App AS IikoTransport;

$app = new IikoTransport('<API login>');

为请求安装组织

$app->setOrganization('ce81fbf7-e09b-4fa7-8c61-0e8d4d0e080a');

已安装组织不会发送到所有请求。在请求中发送

  • 客户端
  • 订单
  • 商品目录(菜单)

获取新的授权令牌

令牌有效期 60 分钟

$token = $app->token->update();

组织

组织列表的完整响应

$organizations = $app->organization->result();

列表中第一个组织的 ID。

如果已通过 setOrganization 函数设置组织,则具有更高的优先级。

$organizations = $app->organization->update();

组织列表

$organizations = $app->organization->list();

组织标识符列表

$organizations = $app->organization->getOrganizationIds();

终端

所有终端的完整响应

$terminals = $app->terminal->result();

终端列表

$terminals = $app->terminal->list();

城市

城市列表的完整响应

$cities = $app->city->result();

城市列表

$cities = $app->city->list();

街道

所有城市的街道列表

$streets = $app->street->list();

客户端

按电话号码搜索客户

掩码: +79999999999

$customer = $app->customer->info('<Номер телефона>');

按客户 ID 获取余额

$balance = $app->customer->balance('13c2653e-df48-4618-a733-ac6045b635a0');

创建或更新客户

名称是可选参数。将返回客户 ID。

$customerId = $app->customer->createOrUpdate('+70000000000', 'UserName');

更新客户名称和电话号码

将返回客户 ID。

$customerId = $app->customer->update('13c2653e-df48-4618-a733-ac6045b635a0', '+70000000000', 'UserName');

配送类型

配送类型列表的完整响应

$deliveryTypes = $app->deliveryType->result();

配送类型列表

$deliveryTypes = $app->deliveryType->list();

支付类型

支付类型列表的完整响应

$paymentTypes = $app->paymentType->result();

支付类型列表

$paymentTypes = $app->paymentType->list();

商品

商品列表的完整响应

$products = $app->product->result();

商品列表

$products = $app->product->list();

组列表

$products = $app->product->groups();

类别列表

$products = $app->product->categories();

尺寸列表

$products = $app->product->sizes();

限制

限制列表的完整响应

$restrictions = $app->restrictions->result();

限制列表

$restrictions = $app->restrictions->list();

配送区域列表

$restrictions = $app->restrictions->deliveryZones();

检查配送

$checkDelivery = $app->newCheckDelivery();
// Список товаров
$checkDelivery->setProducts([
    [
        'id' => '8f3c6904-fa9b-4e6a-ba5e-cf02767a4efc',
        'amount' => 1,
        'product' => 'Латте',
        'modifiers' => [
            [
                'id' => '67b3ff12-1284-4410-9cda-ed2e39e18938',
                'amount' => 1,
                'product' => 'Мёд',
            ],
        ],
    ],
    [
        'id' => '66c6bc33-2360-4e49-98bb-baa821820882',
        'amount' => 3,
        'product' => 'Трубочка со сгущенкой',
    ],
]);

// Адрес
$checkDelivery->setCity('Хабаровск');
$checkDelivery->setStreet('Волочаевская');
$checkDelivery->setHouse('25');

// Координаты
$checkDelivery->setLatitude('48.470296');
$checkDelivery->setLongitude('135.079202');

// Сумма заказа
$checkDelivery->setSum(1055.55);

// Время заказа
$checkDelivery->setDeliveryDate('2023-01-01 10:00:00.000');

// Вернёт массив готовый к запросу
$array = $checkDelivery->toArray();

// Сделать запрос - можно ли осуществить доставку
$result = $checkDelivery->send();

传递的坐标比地址具有更高的优先级 订单时间以 yyyy-MM-dd HH:mm:ss.fff 格式传递

订单

$order = $app->newOrder();
$order->setRealOrderId('121');
$order->setPhone('+70000000000');
// Для доставки терминал обязательно
$order->setTerminal('19301deb-b7b5-43ce-92ef-1ecd24edab2a');
$order->setCustomer('UserName', '13c2653e-df48-4618-a733-ac6045b635a0');
$order->setComment('Комментарий');

// Количество персон
$order->setCountGuests(2);

// Список товаров
foreach ($items as $key => $item) {
    // Товар
    $product = $app->newProduct();
    $product->setAmount($item->count);
    $product->setId($item->uuid);

    // Модификаторы
    if (!empty($item->modifiers) && is_array($item->modifiers)) {
        foreach ($item->modifiers as $keyChild => $modItem) {
            $modifier = $app->newModifier();
            $modifier->setId($modItem->uuid);
            $modifier->setAmount($modItem->count);
            $modifier->setGroup($modItem->group);
            $product->setModifier($modifier);
        }
    }

    $order->setProduct($product);
}

// Доставка
if ($isPickup === false) {
    // Доставка
    $order->isDelivery(true);

    // Адрес доставки
    $address = $app->newAddress();
    $address->setCity('Хабаровск');
    $address->setStreet('Волочаевская');
    $address->setHouse('25');
    $address->setEntrance('1');
    $address->setFlat('5');
    $address->setFloor('3');
    $address->setDoorphone('Yes');

    $order->setAddress($address);
}

// Оплата бонусами
if ($bonuses) {
    $payment = $app->newPayment();
    $payment->setIsIikoCard();
    $payment->setPaymentTypeId('43259388-c317-4bd5-a81a-d7ccb7c0b892');
    $payment->setSum(100);
    $payment->setPhone('+70000000000');

    $order->setPayment($payment);
}

// Оплата картой
$payment = $app->newPayment();
$payment->setIsCard();
$payment->setPaymentTypeId('faa09787-9403-467e-829a-1bb6de306e6f');
$payment->setSum('330');
$payment->setIsProcessedExternally();
$order->setPayment($payment);

// Оплата наличными
$payment = $app->newPayment();
$payment->setIsCash();
$payment->setPaymentTypeId('3955270a-f681-48db-9b95-dbdbc3e4da5f');
$payment->setSum('330');
$order->setPayment($payment);

// Тип заказа
$order->setOrderType('31feba48-6eaf-43c4-80b3-a34e2f7d393b');

// Вернёт массив готовый к запросу
$array = $order->toArray();

$doOrder = $order->send();

许可证

MIT