Najszybsza droga do pierwszej przesyłki prowadzi przez oficjalne
SDK PHP . Integrujesz z innego języka? Skorzystaj z
podpisywania żądań (HMAC) i
przykładów cURL — przepływ poniżej
jest ten sam.
1. Uzyskaj dane dostępowe API
Zaloguj się do panelu Apaczka i utwórz aplikację
API w sekcji Ustawienia → API . Otrzymasz app_id oraz app_secret —
sekret trzymaj po stronie serwera.
2. Zainstaluj SDK
composer require alsendo/alsendo-one-sdk guzzlehttp/guzzle guzzlehttp/psr7
3. Wybierz usługę
Pobierz listę usług przewoźników dostępnych na Twoim koncie —
nie hardkoduj ich :
<? php
require __DIR__ . '/vendor/autoload.php' ;
use AlsendoOne\SDK\AlsendoClient ;
$client = new AlsendoClient ( 'your_app_id' , 'your_app_secret' );
foreach ($client -> getServiceStructure () -> getServices () as $service) {
echo $service[ 'service_id' ] . ': ' . $service[ 'name' ] . PHP_EOL ;
}
4. Wyceń i utwórz zamówienie
use AlsendoOne\SDK\DTO\Address ;
use AlsendoOne\SDK\DTO\Request\OrderRequest ;
use AlsendoOne\SDK\DTO\Request\PickupRequest ;
use AlsendoOne\SDK\DTO\Request\ShipmentRequest ;
use AlsendoOne\SDK\Type\Service ;
$order = OrderRequest :: create ()
-> setService ( Service :: from ( Service :: DpdCourier )) // z kroku 3
-> setSenderAddress ( new Address (
'Firma Sp. z o.o.' , 'Jan Kowalski' , '[email protected] ' , '500100200' ,
'Marszalkowska 1/10' , null , '00-001' , 'Warszawa' , 'PL'
))
-> setReceiverAddress ( new Address (
'Anna Nowak' , null , '[email protected] ' , '600300400' ,
'Dluga 15' , null , '80-831' , 'Gdansk' , 'PL'
))
-> addShipment ( new ShipmentRequest ( 'PACZKA' , 2.5 , 40 , 30 , 20 )) // kg, cm
-> setPickup ( new PickupRequest ( 'COURIER' , date ( 'Y-m-d' , strtotime ( '+1 day' )), '10:00' , '16:00' ));
// Najpierw wycena — ceny wracają w groszach (1 PLN = 100 gr)
$valuation = $client -> getValuation ($order);
// Utworzenie zamówienia
$created = $client -> sendOrder ($order);
echo 'Zamówienie ' . $created -> getId () . ', list przewozowy ' . $created -> getWaybillNumber ();
5. Pobierz etykietę
$waybill = $client -> getWaybill ($created -> getId ());
file_put_contents ( 'label.pdf' , base64_decode ($waybill -> getWaybill ()));
Gotowe — przesyłka zamówiona, etykieta na dysku.
Kolejne kroki
Last modified on October 5, 2026