WEDO / InTime API - Import balíků - PHP skript
PHP knihovna vychází z WeDo API dokumentace.
- Vkládání/úprava zásilek
- Tisk štítků a protokolu
- Rezervace/zrušení svozu zásilek
- a všechny další funkce popsané v dokumentaci
Díky této knihovně už se nemusíte pracně přihlašovat se do WeDo / InTime a dělat balíky ručně, abyste mohli tisknout štítky!
O všechno se postará API.
Funguje PHP 5.3+, PHP 7
Součástí skriptů je knihovna RESTAPI, knihovna XML-SERVER a vzorový CSV pro import balíků.
Příklad použití
<?php
/**
* WEDO REST API - Příklad použití
*/
require 'class_wedo.php';
// přístupy jsou stejné jako k webovému rozhrání
$W = new WEDO($uzivatel, $heslo);
// WEDO::Set('Transaction', true); // požadavek musí uspět jako celek
// WEDO::Set('Auto-Complete', true); // vytvářené zásilky jsou rovnou odeslány v nové dávce ke zpracovaní
// WEDO::Set('Customer', 'XXX'); // kód zákazníka, pokud ma uživatel přiřazeno více zákazníků
// WEDO::Set('Department', true); // kód svozového místa, pokud ma uživatel přiřazeno více svozových místa
// $receiver = WEDO::AddressFromId(10); // ID adresy z Aplikace Zásilky
$receiver = WEDO::Address(
'Mateusz Bartczak',
'Grzybowska 99',
'Warszawa',
'00-844',
'PL',
'mateusz@company.pl',
'603123456'
);
// odesílatele lze zadat úplně stejně jako příjemce
// zadáním NULL se použije výchozí odesílatel
$sender = null;
$s = WEDO::Shipment();
$s->receiver = $receiver;
$s->sender = $sender;
$s->reference_number = ''; // referenční číslo zásilky
$s->reference_number2 = ''; // druhé referenční číslo zásilky
$s->package_count = 1; // počet balíků v zásilce
$s->package_number = ''; // volitelné číslo balíku zákazníka -> pokud je více jak jeden PackageCount, tak je nutno zadat ARRAY a více těchto čísel
$s->weight = 10.2; // celková váha zásilky v kg
$s->value = 500; // celková hodnota zásilky v CZK
$s->comment = ''; // poznámka
$s->additive = true; // toto umožní i v budoucnu přidávat nebo odebírat balíky k této zásilce
// IN TIME produkt, který má být použit při doručení zásilky; v případě, že element není vyplněn, je vybrán automaticky produkt odpovídající parametrům zásilky; seznam možných produktů lze vyžádat na obchodním oddělení IN TIME
$s->product = '';
// Kód výdejního místa; povinné pole, pokud je produktem doručení na výdejní místo
$s->pup_branch = '';
// české mobilní telefon příjemce zásilky doručené na výdejní místo; povinné pole, pokud je produktem doručení na výdejní místo
$s->pup_contact = WEDO::standardizePhoneNumber('732848164', 'CZ');
//---------- DOPLŇKOVÉ SLUŽBY
// ve výchozím nastavení je vše VYPNUTO
$s->cash_on_delivery = 500.5; // hodnota dobírky v CZK
$s->reverse_order = true; // bool ne požadavek na službu „zpětná zásilka“
$s->direct_order = true; // bool ne požadavek na službu „přímá zásilka“
$s->exchange_order = true; // bool ne požadavek na službu „výměnná zásilka“
$s->exchange_order_note = ''; // string(255) ne poznámka ke službě výměnná zásilka
$s->document_back = true; // bool ne požadavek na službu „dokumenty zpět“
$s->dokument_back_note = ''; // string(255) ne poznámka ke službě „dokumenty zpět“
$s->insurance = true; // bool ne požadavek na službu „připojištění“
$s->phone_notification = false; // bool ne požadavek na službu „telefonické potvrzení doručení zásilky“
$s->phone_notification_number = $receiver->phone; // string(15) ne telefonní číslo pro „telefonické potvrzení doručení zásilky“ příjemci v mezinárodním formátu (např. 00420123456789)
$s->phone_notification_number_direct = $receiver->phone; // string(15) ne telefonní číslo pro „telefonické potvrzení vyzvednutí zásilky u odesílatele“ v mezinárodním formátu (např. 00420123456789); využívá se pouze v případě přímé zásilky (direct_order)
$s->phone_notification_note = ''; // string(255) ne poznámka ke službě „telefonické potvrzení doručení zásilky“
$s->sms_notification = false; // bool ne požadavek na službu „SMS potvrzení doručení zásilky“
$s->sms_notification_number = $receiver->phone; // string(15) ne telefonní číslo pro „SMS potvrzení doručení zásilky“ příjemci v mezinárodním formátu (např. 00420123456789)
$s->sms_notification_number_direct = $receiver->phone; // string(15) ne telefonní číslo pro „SMS potvrzení vyzvednutí zásilky u odesílatele“ v mezinárodním formátu (např. 00420123456789); využívá se pouze v případě přímé zásilky (direct_order)
$s->email_notification = false; // bool ne požadavek na službu „emailové potvrzení doručení zásilky“
$s->email_notification_address = $receiver->email; // string(50) ne adresa pro „emailové potvrzení doručení zásilky“ příjemci
$s->email_notification_address_direct = $receiver->email; // string(50) ne adresa pro „emailové potvrzení vyzvednutí zásilky u odesílatele“; využívá se pouze v případě přímé zásilky (direct_order)
$s->carry = false; // bool ne požadavek na službu „donos“
$s->loss = false; // bool ne požadavek na službu odnos
$s->pay_by_receiver = false; // bool ne požadavek na službu „dopravu platí příjemce“
$s->authentication = false; // bool ne požadavek na službu „ověření totožnosti příjemce“
$s->authentication_note = ''; // string(255) ne poznámka ke službě „ověření totožnosti příjemce“
$s->takeover = false; // bool ne požadavek na službu „osobní odběr“
$s->takeover_place = 0; // integer ne identifikátor požadovaného místa pro osobní odběr
/**
* Přidání zásilky do InTime
*/
$shipmentInfo = $WEDO->add($s);
$shipmentNumber = $shipmentInfo->order_number;
/**
* Úprava zásilku - zadáme parametry ke změně
*/
$s = WEDO::Shipment();
$s->reference_number = '5555'; // referenční číslo zásilky
$s->value = 1500; // celková hodnota zásilky v CZK
$WEDO->edit($s);
/**
* Smazání zásilky
*/
$WEDO->delete($shipmentNumber);
/**
* Přidání nebo odebrání balíků u zásilky
*/
$WEDO->packageCountAdd($shipmentNumber, 3); // přidá 3 balíky k dané zásilce
$WEDO->packageCountRemove($shipmentNumber, 3); // odebere 3 balíky u dané zásiky
/**
* VYTISKNUTÍ JEDNOHO ŠTÍTKU PRO ZÁSILKU
* @param (int) číslo zásilky
* @param (int) počet přeskočení políček
* @param (string) určuje formát, možnosti: label, a4_2x2, a4, a6
* @param (bool) pokud TRUE, tak rovnou vrátí hlavičku i obsah s PDF dokumentem
*/
$WEDO->getShipmentPdf($shipmentNumber, 0, 'a4_2x2', true);
/**
* ODEŠLE VŠECHNY ZÁSILKY KE ZPRACOVÁNÍ
*/
$batch = $WEDO->confirm(array($shipmentNumber, $shipmentNumber2, $shipmentNumber3_etc));
$batchNumber = 0;
// získá informace o dávce (všechny zásilky)
$WEDO->getBatchInfo($batchNumber);
// Vytisknutí svozového protokolu (PDF)
$WEDO->getPickupListPdf($batchNumber, true);
/**
* VYTISKNUTÍ VŠECH ŠTÍTKŮ V DÁVCE
* @param (int) číslo dávky
* @param (int) počet přeskočení políček
* @param (string) určuje formát, možnosti: label, a4_2x2, a4, a6
* @param (bool) pokud TRUE, tak rovnou vrátí hlavičku i obsah s PDF dokumentem
*/
$WEDO->getBatchPdf($batchNumber, 0, 'a4_2x2', true);
Historie změn
22.07.2020 - Přidáno