Česká pošta API (B2B, Podání online) – PHP skript

Česká pošta

API České pošty umožňuje firmám vytvářet zásilky, tisknout štítky a sledovat stavy zásilek.

Aktualizace 03/2022 - Knihovna je upravena pro novou API České pošty (dokumentace zde); nově už nevyžaduje zakoupení SSL certifikátu, import zásilek by měl být rychlejší, a jsou k dispozici testovací přístupy 👍

PHP knihovna implementuje všechny dostupné funkce oficiální API:

  • Import zásilek (synchronně i asynchronně) - DR, NP, NB (Do Balíkovny), RR, všechny typy, co pošta nabízí

  • Tisk štítků (formát PDF, ZEBRA ZPL a další dle dokumentace)

  • Zjištění stavu zásilek

  • Statistika podání

class_ceskaposta.php
Objednávka
(pro vlastní použití; zákaz samostatně dále šířit nebo prodávat; aktualizace dle dohody)

Fakturu zasílám obratem a skript po uhrazení, GDPR a obchodní podmínky zde.

Děkuji za zájem a věřím, že budete spokojeni.

Bezpečný nákup

Recenze je možno psát na firmy.cz a v případě dotazů mě kontaktujte.

Příklad použití

<?php
require 'class_ceskaposta.php';

// ID klienta, apiToken, secretKey, a zda jde o testovací provoz
$CP = new CeskaPosta(256712001,
   
'b79b16c2-2f77-450f-91a5-868c3c698a82',
   
'dOJWwjp+BWqUcof3K+3OW6XGTnEpmWerx64TCNk0+0pZnonHdN99NFRIGaJSX0/HTtiu6AGYpKp0mjguzqp+wg==',
   
true);

// (názvy funkcí jsou pod stejným názvem jako v dokumentaci ČP)

// podá jednu i více zásilek a vrátí $idTransaction (tzn. asynchronní import)
$CP->sendParcels(...);

// vrátí výsledek zpracování podaných zásilek a jejich podací kódy (např. DR0109964000X)
$CP->sendParcelsGet($idTransaction);

// statistické informace o podáních
$CP->stats($dateBegin, $dateEnd);

// podání jedné zásilky až o 5-ti balících (podobně jako sendParcels),
// ale vrací rovnou podací číslo (tzn. synchronní import) včetně PDF štítku
$CP->parcelService(...);

// vrátí PDF štítek nebo štítky
$CP->parcelPrinting(...);

// vrací stav 1 až 10 zásilek (např. DR0109964000X, track & trace)
$CP->parcelStatus($idParcels, $language = 'cs');

// historie konkrétní zásilky
$CP->parcelDataHistory(...);

// podání listovní zásilky
$CP->letterWithCN22(...);
$CP->letterWithCN22Get($idTransaction);

// Vypíše seznam podacích míst uložená pro daného zákazníka
$CP->getLocation();
$CP->deleteLocation(7); // smaže
$CP->postLocation(...); // přidá nové podací místo


// Historie podaných zásilek (včetně zásilek, které se nepodaly přes API)
$CP->submittedConsignments(...);
$CP->parcelStatuses(...);

Kompletní příklady pro každou funkci budou dodány ke knihovně.

Historie změn

31.03.2023 - Přidány nové funkce pro podané zásilky
20.04.2022 - Nová verze
04.03.2022 - Česká pošta má novou API (dokumentace)
07.07.2020 - Drobné změny, aktualizace dokumentace
18.01.2020 - Nový certifikát PostSignum Public CA 5
01.12.2019 - Přidáno

Archív: Starší dokumentace - Česká Pošta B2B