Shopify does not provide a built-in way to validate postcodes at the granularity required for Finnish delivery zones. The Delivery Zone API can be called from a Shopify custom app backend or a Shopify Functions delivery customization to enforce postcode-level rules.
Call the API from your custom app backend during checkout, or from a Shopify Functions delivery-customization function. Always server-side — never from a storefront theme file.
// Server-side only — never expose your API key in browser code
async function checkDelivery(postcode, basketValueCents) {
const res = await fetch("https://api.deliveryzone.fi/api/v1/delivery/check", {
method: "POST",
headers: {
"X-Api-Key": process.env.DZ_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify({ destinationPostcode: postcode, basketValueCents }),
});
return res.json();
}
When canDeliver is false (or null), the response includes a reasonCode field. Display this to the customer:
NOT_DELIVERABLE — postcode is outside your delivery zones, or not recognised (the API intentionally uses one generic code for both, to protect zone boundaries)MINIMUM_ORDER_NOT_MET — basket value is below the zone's minimum orderBASKET_VALUE_REQUIRED — a basket value is needed to evaluate this destination's minimum-order or free-delivery ruleAlways handle HTTP errors (5xx, timeout) gracefully. If the API is unreachable, fail safe — either reject the order or allow manual review.
Free plan. No credit card. Real setup help.