syapi/erp

Erp

v1.0.7 2020-10-28 16:36 UTC

This package is auto-updated.

Last update: 2024-09-29 01:43:09 UTC


README

StyleCI

Erp 库

安装

通过 Courier 安装,只需将其添加到您的 composer.json 文件中

{
    "require": {
        "sylapi/erp": "~1.0"
    }
}

Erp 操作包

用于同步 ERP 系统和外部系统(如在线商店或销售系统)数据的标准方法包。

ERP 系统授权。当需要连接到测试版时,sandbox 方法是可选的。

$courier = new Erp('Nazwa Systemu ERP');
$courier->sandbox(true);

$courier->setLogin('123456');
$courier->setPassword('abc12345def');

在某些系统中,授权时可能需要提供更多参数。在这种情况下,应通过单独的 auth 方法传递它们。

$courier->auth([
    '_key' => '1234abcd5678',
    '_password' => '123asd'
]);

商品操作

  • getItems()
  • getItem()
  • getStock()

getItems() 操作

获取包含最小数据的商品列表:id、type、warehouse、stock、avaliable、number、name、ean、sku

$items = $erp->getItems();
if ($items->isSuccess()) {
     $response = $items->getResponse();
}
else {
     $items->getError();
}

getItem() 操作

获取单个商品的基本数据,返回数据:id、type、warehouse、stock、avaliable、number、name、ean、sku、status

$params = [
    'id' => 123
];
$item = $erp->getItem($params);

getStock() 操作

获取库存和可用状态,返回数据:id、type、warehouse、stock、avaliable、number、name

$stock = $erp->getStock();

创建销售文档

  • createOrder()
  • createInvoice()
  • createAdvance()
  • createPayment()
  • deleteOrder()

createOrder() 操作

创建订单和商品预订

$params = [
    'document_def' => 123,
    'external_id' => 12345,
    'comment' => 'Zamówienie #12345',
    'currency' => 'PLN',
    'buyer' => [
        'name' => 'Jan Kowalski',
        'street' => 'Ulica 2A',
        'city' => 'Warszawa',
        'postcode' => '22-001',
        'country' => 'PL',
        'nip' => '',
        'email' => 'jan@kowalski.pl',
    ],
    'seller' => [
        'name' => 'Firma sp z o.o.',
        'street' => 'Ulica 233',
        'city' => 'Poznań',
        'postcode' => '23-001',
        'country' => 'PL',
        'nip' => '',
        'email' => 'zoo@firma.pl',
    ]
];

$params['items'][] = [
    'model' => 'model1',
    'warehouse_id' => 1,
    'name' => 'Nazwa produktu',
    'tax' => 23,
    'price_gross' => 233.99,
    'quantity' => 2
];
$order = $erp->createOrder($params);

createInvoice() 操作

需要准备与创建订单相同的数据。

$document = $erp->createInvoice($params);

createAdvance() 操作

创建预付款发票

$params = array(
    'order_id' => '123',
    'document_def' => '123456',
    'type' => '',
    'amount' => 100.99,
    'sell_date' => '2020-01-01',
    'date' => '2020-01-01',
    'comment' => 'Zamówienie nr 123',
    'country' => 'PL',
);
$advance = $erp->createAdvance($params);

createPayment() 操作

发送在线支付信息、结算已付款订单和预订

$params = array(
    'order_id' => 123,
    'payment_id' => 'payu',
    'transaction_id' => '123abc',
    'price' => 123.0,
    'date' => '2020-01-01'
);
$items = $erp->createPayment($params);

deleteOrder() 操作

删除订单/商品预订

$params = [
    'order_id' => 12345,
];
$items = $erp->deleteOrder($params);

创建仓库文档

  • createRw()
  • createPw()
  • createRwpw()

createRw() 操作

创建内部出库文档

$params = [
    'warehouse_id' => '1',
    'items' => [
        [
            'code' => 'MODEL1',
            'quantity' => 2,
        ],
    ],
    'comment' => 'Informacja dodatkowa'
];
$document = $erp->createRw($params);

createPw() 操作

创建内部入库文档,参数与创建 RW 文档相同

$document = $erp->createPw($params);

createRwpw 操作

某些 ERP 系统允许在处理商品生产的情况下同时创建 RW 和 PW 文档。

$params = [
    'warehouse_from' => 1,
    'warehouse_to' => 2,
    'order_id' => 12345',
    'items_from' => [
        [
            'code' => 'MODEL1',
            'quantity' => 0.5,
        ],
        [
            'code' => 'MODEL2',
            'quantity' => 0.21,
        ],
    ],
    'items_to' => [
        [
            'code' => 'MODEL4',
            'quantity' => 1,
        ]
    ],
    'comment' => 'Infomacja dodatkowa'
];

$document = $erp->createRwpw($params);