JagoOngkir displays courier services and shipping rates for Indonesian destinations on WooCommerce Cart and Checkout pages. Rates come from your selected API provider and depend on the shipping origin, destination, and package details required by that provider.
The plugin supports api.co.id, RajaOngkir / Komerce, and Biteship. Create an account with your preferred provider, obtain an API key, and connect it in the plugin settings. Only one provider needs to be active to calculate storefront rates.
Each provider keeps its own API connection, origin, request limits, usage counters, and account-specific cache. When you save a provider change, the current origin is matched against the target provider’s locations and saved in that provider’s own profile. The target API key must already be connected. If matching fails or is ambiguous, the active provider and previous origins are retained. Courier, service, and route availability depend on the provider and your account access.
Set your shipping origin, choose the courier services to offer, and enter product weights. A configurable default weight is used per item when its product weight is empty. Customers select a destination through dropdowns or location search, depending on your settings and provider support.
Rate caching reduces repeated API requests during the lifetime you configure. The dashboard shows request usage and estimated costs. Request limits and optional warning emails help monitor usage. Cost estimates are informational; the provider’s billing records determine actual charges.
The Checkout tab controls destination selection, cheapest and fastest badges, and rate sorting by name, price, or delivery time.
JagoOngkir is an independent integration with third-party services. Shipping rates are supplied by the selected API provider. They may differ between providers or from direct courier quotes because of differences in data, calculation methods, rounding, coverage, and rate updates. Final shipping charges are determined by the courier when the parcel is processed.
Registration, API fees, quotas, service terms, and privacy policies are managed by each provider. API usage charges are separate from parcel delivery charges. See External services and Privacy below for request and data details.
The plugin supports stores using Indonesian rupiah (IDR), classic WooCommerce Cart and Checkout, and High-Performance Order Storage (HPOS). Use the [woocommerce_cart] and [woocommerce_checkout] shortcodes.
JagoOngkir calculates shipping rates only. It does not book deliveries, arrange pickups, or track parcels. Biteship services requiring coordinates, including instant delivery, are not supported. The plugin works without installing a permanent local location database.
An account and API key are required for your selected provider. Requests are sent from the WordPress server. API keys are not sent to browser JavaScript or displayed unmasked. After the merchant configures a key, API requests occur when testing a connection, searching locations, validating destinations, preparing location caches, or calculating shipping rates. Storefront requests use the active provider. Administrators can test connections for each configured provider; the rate-checking tool uses the active provider.
The provider receives location names, search terms, and rate parameters needed for its requests, along with the server IP address and standard HTTP request metadata. Saving a provider change may query the target provider’s location API to match the saved origin; this does not request shipping rates. Customer names, email addresses, phone numbers, and street addresses are not sent. Provider account terms and fees apply.
Activating the plugin alone does not start provider requests: a merchant must configure a provider API key first. Connection tests and the admin rate tool make provider requests when used. Configured providers may also receive background requests to prepare location caches and storefront requests when customers select destinations or calculate shipping. Usage warning emails use the site’s configured WordPress mail service.
All plugin JavaScript and CSS is served locally. jQuery comes from WordPress, and SelectWoo and its stylesheet come from the installed WooCommerce plugin. No CDN, remote executable code, analytics, or third-party update checker is loaded. Public AJAX URLs, nonces, and translated labels are passed as non-executable JSON in script data attributes; provider API keys remain on the server. Links to the author website, documentation, and provider policies are ordinary links and are not contacted automatically.
Settings and credentials are stored in non-autoloaded WordPress options. Provider response and location caches are separated by account and stored in expiring WordPress transients rather than a permanent local location database. Verified customer addresses and rate metadata are stored through WooCommerce sessions and customer/order CRUD operations.
Location responses, address search results, and prepared location directories are cached for seven days. The shipping rate cache duration defaults to 24 hours (86,400 seconds) and is configurable in seconds. Existing saved durations are preserved. Daily usage details are retained for 90 days and monthly summaries for the last 13 recorded months per account. The dashboard shows all providers and filters for today, yesterday, this week, this month, and last month, using the site’s timezone and start-of-week setting. Older daily details may be incomplete because earlier versions retained only three days; available monthly summaries are preserved.
Optional usage warning emails are sent to the configured recipient through the WordPress mail service. The local location request limiter stores a keyed hash of the visitor’s IP address in WordPress options. This limiter does not send the visitor’s raw IP address to providers. Counters use one-minute intervals; the stored hash remains until a later request updates the counter state. Describe your store’s use of the selected providers in its privacy policy.