Integrationsguide
PHP-integration
Delivery Zone API tar emot en JSON POST och returnerar ett JSON-svar. Anropa den med file_get_contents med en stream context, cURL eller wp_remote_post i WordPress.
När API:et ska anropas
Anropa API:et inuti din PHP-kod som hanterar förfrågningar — i en kontroller, ett WordPress-filter eller en API-ändpunkt. Alltid på serversidan.
Viktigt: håll API-nycklar på serversidan: Exponera aldrig API-nyckeln i JavaScript-utdata, HTML-källkod eller i någon fil som är synlig för klienten. Spara den i en konfigurationsfil utanför webbroten, i en miljövariabel eller i WordPress options.
Kodexempel
// PHP — server-side, keep API key out of frontend
$response = wp_remote_post('https://api.deliveryzone.fi/api/v1/delivery/check', [
'headers' => [
'X-Api-Key' => get_option('dz_api_key'),
'Content-Type' => 'application/json',
],
'body' => wp_json_encode([
'destinationPostcode' => $postcode,
'basketValueCents' => $basket_cents,
]),
]);
$data = json_decode(wp_remote_retrieve_body($response), true);
Felhantering
När canDeliver är false (eller null) innehåller svaret ett reasonCode-fält. Visa detta för kunden:
NOT_DELIVERABLE— postnumret ligger utanför dina leveranszoner eller känns inte igen (API:et använder avsiktligt en generell kod för båda för att skydda zongränser)MINIMUM_ORDER_NOT_MET— varukorgens värde understiger zonens minsta ordervärdeBASKET_VALUE_REQUIRED— ett varukorgsvärde krävs för att utvärdera denna destinations regel för minsta order eller fri frakt
Hantera alltid HTTP-fel (5xx, timeout) kontrollerat. Om API:et inte kan nås, använd felsäkert läge — avvisa antingen ordern eller tillåt manuell granskning.
Checklista för implementation
- Spara API-nyckeln i en miljövariabel eller WordPress option
- Validera att postnumret består av 5 siffror innan API:et anropas
- Hantera cURL- eller wp_remote_post-fel och icke-200-svar
- Testa mot en icke-produktionszon först
- Bekräfta avvisningsbeteendet i WooCommerce om du använder WooCommerce
Redo att lägga till postnummervalidering?
Gratis plan. Inget kreditkort. Riktig hjälp med start.