The shopper picks a pickup point, a courier or the post
The widget is embedded in the cart of your site. The shopper sees pickup points on a map, courier delivery and Russian Post with the price and delivery time for their cart, and your store receives the chosen option. The order then goes to our warehouse through the API as usual.
Demo: real ILFF pricesTry it as a shopper
Prices and pickup points are real: the widget calculates at the ILFF base rate. The first calculation for a new city can take up to 15 seconds. The widget itself is shown in Russian, as shoppers in Russia see it.
What the shopper sees
| Tab | What is inside |
|---|---|
| Pickup points | CDEK and 5Post on a map and as a list, filter by carrier, search by address, opening hours, card payment, fitting room |
| Courier | ILFF courier (Moscow and Saint Petersburg), CDEK courier and Russian Post courier, price and delivery time |
| Post | Russian Post offices on a map |
With cash on delivery only the points that accept it remain. Points where the cart does not fit by weight or locker size are hidden.
How to connect
Send your manager the addresses of the sites where the widget will run. We enable them in your client profile: the widget will not work from other sites.
A developer adds the script to the cart page and calls the widget with the weight, dimensions and total of the cart. Your ILFF client code serves as the key.
The store passes the chosen carrier and pickup point into the delivery order through the ILFF API with its own API key.
<script src="https://il-ff.ru/widget/ilff-delivery.js"></script>
<script>
ILFFDelivery.open({
client: "000123", // your ILFF client code
cart: { weight_kg: 1.3, length_cm: 30, width_cm: 20, height_cm: 14,
total: 3800, cod: false },
city: { name: "Москва" }, // optional
profile: "site2", // optional: calculator settings profile from the client account
container: "#delivery", // optional: without it the widget opens as a dialog
onSelect: function (choice) {
// choice.service, choice.price, choice.pvz.code ... save it in the order
}
});
// If delivery is switched off in the client account, it is better to hide the delivery block in the cart:
ILFFDelivery.check({ client: "000123", cart: { weight_kg: 1.3, total: 3800 } })
.then(function (r) { if (!r.available && !r.error) hideDeliveryBlock(); });
</script>
What onSelect receives:
{
"type": "pvz", "service": "cdek", "service_name": "СДЭК",
"price": 288, "days_from": 2, "days_to": 3,
"city": { "name": "Москва", "fias": "0c5b2444-…" },
"pvz": { "code": "MSK123", "name": "…", "address": "…", "type": "pvz" },
"address": null,
"rpo": null
}
The widget key, your client code, is visible in the page source. It can only calculate delivery, it cannot create an order. Do not put the API key into the page code.
CMS modules
The modules add ILFF delivery to the checkout without a developer and pass orders, stock and tracking numbers on their own. If your platform is not on the list, the widget connects to any cart and orders are sent through the API. All modules.