One by Allegro nabízí možnost zasílání stavu formou PUSH - tedy že stavy zásilek jsou zákazníkům reportovany v době jejich vzniku. Odpadá nutnost opakovaného dotazování na stav zásilky. Reportování je možné mnoha způsoby a vždy se přizpůsobuje konkrétnímu zákazníkovi. Ke komunikaci se zákaznickým systémem lze použít RESTAPI, SOAP, XMLRPC, FTP a různé datové typy (CSV, XML, JSON). Tato forma datové výměny se hodí pro větší zákazníky a jejich implementace do systémů.
Pro běžné použití je připraveno PULL rozhraní, kdy každý zákazník dostane přidělenu unikátní URL pro přístup k stavům zásilek (žádost o toto URL provede zákazník přes svého obchodního zástupce). Pomocí HTTP GET požadavku na toto URL dostane zákazník stavy zásilek, které vznikly od posledního dotazu. Data lze získat i historicky / zpětně, max. ale 90 dni nazpět. Zákazník si může vybrat z formátu CSV, XML nebo JSON.
Základní URL ma tvar: https://bridge.intime.cz/states/__ID_ZAKAZNIKA__
__ID_ZAKAZNIKA__
nahradit identifikátorem, obdrženým při registraci
Historická data od určitého data lze získat po přidání parametru "history" do URL: https://bridge.intime.cz/states/__ID_ZAKAZNIKA__/history/YYYY-MM-DD
YYYY
: rok od kdy získat dataMM
: měsíc od kdy získat dataDD
: den od kdy získat dataHistorická data lze získat i v určitém intervalu (OD - DO) a to opět přidáním parametru "history" do URL, následovaným datumy OD:DO: https://bridge.intime.cz/states/__ID_ZAKAZNIKA__/history/YYYY-MM-DD/AAAA-BB-CC
DD: den od kdy získat data
AAAA: rok do kdy získat data
BB: měsíc do kdy získat data
CC: den do kdy získat data
Formát vrácených dat se ovlivňuje přidáním koncovky .csv .xml nebo .json na úplný konec URL (bez uvedení formátu je defaultně použito CSV).
Vrácené stavy:
CANCELED
: zásilka stornovánaDELIVERED
: zásilka doručenaTEMPORARY_FAIL
: nedoručení zásilkyRETURNING
: zásilka směrována zpět odesílateliRETURNED
: zásilka vrácena odesílateliDELIVERING
: doručování zásilkyMANIFESTED
: zásilka založena v systémech One by AllegroSTORED
: pohyb zásilky na depu One by AllegroON_BRANCH
: zásilka připravena k vyzvednutí na výdejním místěPříklady URL:
https://bridge.intime.cz/states/__ID_ZAKAZNIKA__
https://bridge.intime.cz/states/__ID_ZAKAZNIKA__.csv
https://bridge.intime.cz/states/__ID_ZAKAZNIKA__/history/YYYY-MM-DD.json
https://bridge.intime.cz/states/__ID_ZAKAZNIKA__/history/YYYY-MM-DD/AAAA-BB-CC.xml
\n
Obsah každého řádku:
timestamp;order;barcode;reference;status;lat;long
timestamp
: datum a čas vzniku stavu (formát dle ISO 8601)order
: číslo zakázkybarcode
: barkód balíku pro který stav nastalreference
: zákaznická reference zadaná u dané zásilkystatus
: stavlat
: gps souřadnice (zeměpisná šířka) vzniku stavulong
: gps souřadnice (zeměpisná délka) vzniku stavuPříklad:
2016-07-04 21:09:57.00;00100076001;001O00076001*001001;8600282;DELIVERED;0.0;0.0
2016-06-30 16:51:30.00;00100079002;001S00079002*001001;32145;DELIVERED;50.75775448;15.07783541
2016-06-30 17:33:05.00;00100079003;001S00079003*001001;SPOTR_MAT;DELIVERED;49.95927413;14.6836223
2016-06-30 17:35:28.00;00100079004;001-00079004*001001;TRANSIT;TEMPORARY_FAIL;50.02075822;15.65415596
Datový typ objekt s jedním klíčem "data", který má jako hodnotu pole objektů s informacemi o stavech.
barcode
: barkód balíku pro který stav nastal
gps_lat
: gps souřadnice (zeměpisná šířka) vzniku stavu
gps_lng
: gps souřadnice (zeměpisná délka) vzniku stavu
order
: číslo zakázky
reference
: zákaznická reference zadaná u dané zásilky
status
: stav
timestamp
: datum a čas vzniku stavu (formát dle ISO 8601)
Příklad:
{
"data": [
{
"barcode": "001-00079001*001001",
"gps_lat": 50.02100267,
"gps_lng": 15.65398723,
"order": "00100079001",
"reference": "TRANSIT",
"status": "DELIVERED",
"timestamp": "2016-07-04 16:51:42.00"
},
{
"barcode": "001S00079002*001002",
"gps_lat": 0.0,
"gps_lng": 0.0,
"order": "00100079002",
"reference": "30062016",
"status": "TEMPORARY_FAIL",
"timestamp": "2016-07-04 17:11:20.00"
},
{
"barcode": "007S00079003*002002",
"gps_lat": 0.0,
"gps_lng": 0.0,
"order": "00100079003",
"reference": "30062016",
"status": "RETURNED",
"timestamp": "2016-07-04 17:11:23.00"
}
]
}
Příklad:
<data>
<event timestamp="2016-07-04 16:51:42.00" status="DELIVERED">
<order>00100079001</order>
<barcode>001-00079001*001001</barcode>
<reference>TRANSIT</reference>
<gps>
<lat>50.02100267</lat>
<lng>15.65398723</lng>
</gps>
</event>
<event timestamp="2016-07-04 17:11:20.00" status="TEMPORARY_FAIL">
<order>00100079002</order>
<barcode>001S00079002*001002</barcode>
<reference>30062016</reference>
<gps>
<lat>0.0</lat>
<lng>0.0</lng>
</gps>
</event>
<event timestamp="2016-07-04 17:11:23.00" status="RETURNED">
<order>00100079003</order>
<barcode>001S00079003*002002</barcode>
<reference>30062016</reference>
<gps>
<lat>0.0</lat>
<lng>0.0</lng>
</gps>
</event>
</data>