kiriminaja / kiriminaja-php
PHP clients for KiriminAja API
1.3.4
2026-04-14 06:24 UTC
Requires
- php: >=8.1
- ext-json: *
- blakvghost/php-validator: ^2.3
- guzzlehttp/guzzle: >=6.0
Requires (Dev)
- mockery/mockery: ^1.6
- phpunit/phpunit: ^10.5||^11.0
This package is auto-updated.
Last update: 2026-04-14 08:52:15 UTC
README
Official PHP SDK for the KiriminAja logistics API.
Requirements
- PHP 8.0+
- ext-json
Installation
composer require kiriminaja/kiriminaja-php
Quick Start
Call KiriminAjaConfig once at app startup, then call any service method on the KiriminAja facade.
use KiriminAja\Base\Config\KiriminAjaConfig; use KiriminAja\Base\Config\Cache\Mode; use KiriminAja\Services\KiriminAja; KiriminAjaConfig::setMode(Mode::Staging)::setApiTokenKey('YOUR_API_KEY'); // Use any service $provinces = KiriminAja::getProvince();
Config Options
| Method | Description |
|---|---|
KiriminAjaConfig::setMode($mode) |
Mode::Staging or Mode::Production |
KiriminAjaConfig::setApiTokenKey($key) |
Your KiriminAja API key |
KiriminAjaConfig::setCacheDirectory($path) |
Custom cache directory (useful if /tmp is not writable) |
KiriminAjaConfig::disableCache() |
Disable file-based caching entirely |
// Custom cache directory KiriminAjaConfig::setCacheDirectory(__DIR__ . '/kiriminaja-cache'); // Or disable caching entirely KiriminAjaConfig::disableCache(); KiriminAjaConfig::setMode(Mode::Production)::setApiTokenKey('YOUR_API_KEY');
Services
Address
// List all provinces KiriminAja::getProvince(); // Cities in a province (province_id) KiriminAja::getCity(5); // Districts in a city (city_id) KiriminAja::getDistrict(12); // Search districts by name KiriminAja::getDistrictByName("jakarta");
Coverage Area & Pricing
use KiriminAja\Models\ShippingPriceData; use KiriminAja\Models\ShippingPriceInstantData; // Express shipping rates KiriminAja::getPrice(new ShippingPriceData( origin: 1, destination: 2, weight: 1000, // grams itemValue: 50000, insurance: 0, courier: ["jne", "jnt"], )); // Instant (same-day) rates KiriminAja::getPriceInstant(new ShippingPriceInstantData( service: ["instant"], itemPrice: 10000, originLat: -6.2, originLong: 106.8, originAddress: "Jl. Sudirman No.1", destinationLat: -6.21, destinationLong: 106.81, destinationAddress: "Jl. Thamrin No.5", weight: 1000, vehicle: "motor", timezone: "Asia/Jakarta", )); // Full shipping price KiriminAja::fullShippingPrice(new ShippingFullPriceData(...));
Shipping — Express
// Track by order ID KiriminAja::getTracking("ORDER123"); // Cancel by AWB KiriminAja::cancelShipment("AWB123456", "Customer request"); // Request pickup KiriminAja::requestPickup(new RequestPickupData(...)); // Pickup schedules KiriminAja::getSchedules();
Shipping — Instant
// Request instant pickup KiriminAja::requestPickupInstant($data, ...$packages); // Find a new driver for an existing order KiriminAja::findNewDriver("ORDER123"); // Cancel instant order KiriminAja::cancelShipment("ORDER123", "reason", isInstant: true);
Courier / Preference
// Set whitelist expeditions KiriminAja::setWhiteListExpedition(["jne_reg", "jne_yes"]); // Set callback URL KiriminAja::setCallback("https://example.com/webhook");
Payment
// Get payment details KiriminAja::getPayment("PAY123"); // Get instant payment details KiriminAja::getPayment("PAY123", isInstant: true);
Contributing
For any requests, bugs, or comments, please open an issue or submit a pull request.
Development
composer install # install dependencies vendor/bin/phpunit tests # run tests