VibeFox Loggi for PrestaShop — Help
Requirements
PrestaShop: 8.0 to 9.x.
PHP: 8.0 or later. The module refuses to install on older PHP versions.
Loggi account (for live prices only): the live price uses the Loggi GraphQL API with an API key that Loggi issues for business accounts. Ask your Loggi account manager or Loggi integration support (integracoes@loggi.com), see also the Loggi API documentation at docs.api.loggi.com. You need three values: the e-mail of your Loggi account, the API key and the numeric ID of your shop. If your Loggi account only has credentials for the newer Loggi REST platform API (client ID and secret), the live price is not available and the fixed prices are used. If you only use fixed prices, you do not need a Loggi account.
VibeFox license key: bought on vibefox.net. One key works on one domain.
Installation
1. In the back office go to Modules > Module Manager and click Upload a module. Choose the module ZIP file.
2. When the upload finishes, click Configure, or find VibeFox Loggi in the module list later and click Configure.
3. Paste your VibeFox license key into License key in the license block at the top of the Configure page and click Activate (see License key).
4. Enter the Loggi API e-mail, API key, Shop ID and the pickup address and, if your shop default currency is not BRL, the BRL exchange rate. Add fixed prices as a safety net (see Configuration) and click Save.
5. Add Brazil to the zones of the Loggi carrier in Shipping > Carriers, or turn on Ignore shipping zones and choose countries.
On install the module creates the Loggi carrier with the delivery time text Courier delivery in Brazil. The carrier is assigned to all zones and all customer groups. You can change zones, customer groups, delivery time, logo and size limits in Shipping > Carriers. Do not set prices there: the price always comes from the module.
Configuration
All settings are on the module page: Modules > Module Manager > VibeFox Loggi > Configure. They apply to every zone of the carrier. Each section has its own Save button, which saves the whole page. Every save also clears the cached Loggi prices.
Warnings at the top of the page show an incomplete setup: no API credentials (only fixed prices are used), no API credentials and no fixed prices (the carrier is never shown), no pickup address, no BRL exchange rate, or a shop weight or dimension unit the module does not know (it is then counted as kg or cm; set the units in International > Localization). If a value is invalid, for example a negative number, the page shows an error and nothing is saved.
General
Enable Loggi: turns the carrier on or off. This is the same switch as the carrier status in Shipping > Carriers.
Method title: the carrier name shown to the customer in the cart and at checkout. Default: Loggi. Required, 64 characters max.
Loggi API (live price) (leave the credentials empty to use fixed prices only)
API e-mail: the e-mail of your Loggi account. The API key belongs to it. It must be a valid e-mail address.
API key: your Loggi API key. It is sent only to Loggi and never logged. After saving, the field stays empty and shows Saved — leave empty to keep it; clear the API e-mail to remove it. Type a new value only to change it. If you change API e-mail, enter the API key for the new e-mail as well, otherwise the page shows an error and nothing is saved. To remove the saved key, clear API e-mail and save.
Shop ID: the numeric ID (pk) of your shop in the Loggi dashboard. Only a positive number is accepted. Another value is rejected with an error.
Staging: use the Loggi staging environment with test credentials. Staging and production have different accounts and keys. Default: off.
Pickup address: where Loggi collects the parcels, in one line: street and number, neighbourhood, city, state and CEP, for example Rua Example, 123 - Bairro, São Paulo - SP, 01310-100. Leave it empty to use the shop address from Shop Parameters > Contact > Stores if it is in Brazil and has an address and a city. Without a pickup address Loggi cannot estimate and only fixed prices are used.
BRL exchange rate: Loggi prices are in Brazilian reais. If your shop default currency is BRL, this field is not needed and the page says so. Otherwise enter how much 1 BRL is in your shop currency, for example 0.16. Without it live prices are not used. Only a positive number is accepted. Both a point and a comma are accepted as the decimal separator.
Fixed prices (in your shop default currency, tax excluded)
Fixed prices are used when the Loggi API is not configured, for destinations outside Brazil or without a full CEP, and whenever Loggi returns no price (API down, key rejected, address out of coverage).
Price table: one row per destination country. Click Add country to add a row and the trash icon to remove one. Choose * All other countries for every country without its own row. Each row has a Base price and weight columns: XS ≤1 kg, S ≤2 kg, M ≤3 kg, L ≤5 kg and XL >5 kg. An empty (or 0) weight column uses the base price. Base price 0 means free shipping. Both "9.99" and "9,99" are accepted. Empty rows and a second row for the same country are dropped when you save.
Price for countries not in the table: used when there is no live Loggi price and the table has no row for the destination country (and no * row). Leave it empty to hide the carrier in that case.
Fixed price applies: the way fixed prices are counted. A live Loggi price already covers the whole cart and is never multiplied.
Conditions
Minimum weight: hide the carrier when the cart weighs less, in kg. 0 means no limit.
Maximum weight: hide the carrier when the cart weighs more, in kg. Default: 30. 0 means no limit. Minimum weight cannot be greater than Maximum weight.
Minimum order amount: show the carrier only when the cart subtotal (after discounts, before tax) reaches this amount. Leave empty to always show it.
Free shipping from: the cart subtotal (after discounts, before tax) from which Loggi delivery is free. Leave empty for no free shipping.
Tax: the tax rule of the carrier, or No tax. Choose No tax if your prices and the Loggi price already include taxes.
For the weight limits and the weight columns, a product without a weight counts as 0 kg.
Availability without shipping zones
Ignore shipping zones: offer Loggi for the countries below whatever zone matches. When you save with this option on, the carrier is added to all zones, and zones created later are added too. Switching it off removes those added zones again, so the carrier gets its own zones back.
Countries: the destination countries for that mode. Leave empty to allow all active countries of your shop. This field is used only when Ignore shipping zones is on.
Advanced
Debug log: writes rate calculations and Loggi requests to logs/vfd_lggi_debug.log.php in the module folder. The file cannot be opened from the web. API errors are always logged, even with this option off. The API key and customer addresses are never logged.
Log: shows the size and the latest entries of the debug log. Click Clear log to empty it.
Remove data on uninstall: when on, uninstalling the module deletes the Loggi settings, the carrier, cached prices and logs. When off, everything is kept for a re-install.
How it works at checkout
At the shipping step PrestaShop asks the module for the Loggi price. Only physical products count: virtual products add no weight and are not included in the order amount. The module first checks the conditions: allowed countries (with Ignore shipping zones), cart weight and minimum order amount. If free shipping applies, the price is 0 and no request goes to Loggi.
For an address in Brazil with a full 8-digit CEP, the module builds Loggi packages: each item is turned so that its smallest side is the height, and items are stacked into one package while it stays within 55 × 55 × 55 cm and 20 kg. Products without weight or dimensions count as 1 cm per side, and every package weighs at least 100 g. Loggi accepts 2 packages per estimate, so bigger carts are sent in several requests and the totals are added up. The module sends Loggi your Shop ID, the pickup address, the delivery address and the packages, and converts the Loggi total from BRL to your shop default currency. The price is then shown in the customer's cart currency.
Each Loggi price is cached for 1 hour per cart, address, account and environment, so the same cart does not trigger a new request. A failed estimate is cached for 10 minutes. If Loggi cannot be reached at all, requests pause for 2 minutes, so the checkout does not wait for Loggi on every refresh. The API timeout is 10 seconds.
The fixed prices are used instead when the API is not configured, the address is outside Brazil or has no full CEP yet, the BRL exchange rate is missing, there is no pickup address, a product is larger than a Loggi package, the cart needs more than 10 packages, or Loggi returns an error, a rejected package, an address out of coverage or a zero total. If there is no fixed price either, the carrier is hidden. The customer never sees an API error. The reason is written to the debug log.
If you edit the carrier in Shipping > Carriers after it has orders, PrestaShop saves it as a new carrier version. The module follows the new version automatically.
The module calculates prices only. It does not create Loggi orders or shipments, print labels, track parcels, show the delivery time at checkout or offer pickup points or lockers. Create shipments in the Loggi dashboard. Loggi delivers within Brazil only. Use the fixed prices for other countries.
License key
The module works with a VibeFox license key from vibefox.net. The license block License — VibeFox Loggi is the first block on Modules > Module Manager > VibeFox Loggi > Configure, above the settings. Paste the key into License key and click Activate. After that the block shows the key masked, the status (for example the date the license is active until and your domain) and the buttons Check now to check the status again, Change key to enter another key and Remove key to remove the key from this shop. Below them are the line Product: presta-shipping-loggi and the link Manage licenses and domains in your account, which opens your vibefox.net account. Only employees with the Configure permission for the module can change the key. The texts of the block follow the back office language (English and Russian are included).
If the key is not accepted, the block says why, for example Key not found, This key belongs to another product, Domain limit reached or License expired on a date. After the shop address changes, or after you free a domain slot in your account, click Check now. If the license server cannot be reached, the module keeps working on the last known status.
One key works on one domain: the domain of the main shop, also in a multistore setup. Removing the key from the shop does not free its domain slot. Free the slot in your vibefox.net account.
Without an active key, the Loggi carrier is not shown to customers at checkout and no rate is calculated. The PrestaShop storefront does not know that you are logged in to the back office, so the carrier is hidden for you too: you can set up the module before you buy a key, but not test it at checkout. A reminder appears in Modules > Module Manager on the Alerts tab. Existing orders are not affected.
When a license expires, the module keeps working, but updates and support need a renewal. The status is checked again automatically while you work in the back office: once a day for the first 14 days after the key is entered, then once a week. No cron job is needed. Uninstalling or resetting the module always removes the license key and license status.
Troubleshooting
Loggi does not appear at checkout: check that the license is active and Enable Loggi is on. In Shipping > Carriers check that the carrier covers the zone of the customer's country and the customer's group (or Ignore shipping zones is on and the country is allowed). Check the warnings at the top of the module page, the weight limits and Minimum order amount. If the customer has not entered a full CEP yet or Loggi returns no price, the carrier needs a fixed price: a row for the country, a * row or Price for countries not in the table. Products can also be limited to certain carriers in the product page.
Only fixed prices are shown: look at the Log field on the module page. Errors are always logged. Turn on Debug log for every step and reload the checkout. Typical reasons: missing API e-mail, key or Shop ID, no pickup address, no BRL exchange rate for a shop currency other than BRL, no full 8-digit CEP yet, a product larger than 55 cm or heavier than 20 kg, or an address out of Loggi coverage.
HTTP 401 or 403 in the log: Loggi rejected the API e-mail or key. Check them with Loggi, and check that Staging matches the credentials: staging and production keys are different.
My shop sells in euros or dollars: Loggi answers in BRL. Enter BRL exchange rate (how much 1 BRL is in your shop default currency). Fixed prices are always in your shop default currency.
Prices are not accurate: fill in weight and dimensions for your products. Without them, products count as 1 cm per side and each package as at least 100 g.
Per item does not multiply the Loggi price: this is intended. A live Loggi price covers the whole cart. Per item applies to fixed prices only.
Prices look outdated after a change: click Save on the module page. This clears the cached Loggi prices.
The page says the Loggi carrier was not found: the carrier was deleted in Shipping > Carriers. Reset the module in Modules > Module Manager to create it again.
Uninstall
Go to Modules > Module Manager, open the menu next to VibeFox Loggi and choose Uninstall. The license key and license status are always removed. The cached Loggi prices are always removed. If Remove data on uninstall is on, the carrier is deleted (orders keep their history) and the settings and log are removed. If it is off, the carrier is only disabled and all settings are kept. Installing the module again gives the saved carrier back the status it had before the uninstall.
Loggi is a trademark of its respective owner. This module is not affiliated with or endorsed by Loggi.
