API Changelog
All notable changes to the Bebas Kirim API will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
Added
- GraphQL API support (beta)
- Real-time order tracking via WebSocket
- Advanced analytics endpoints
- Multi-language support for error messages
Changed
- Improved webhook delivery reliability
- Enhanced rate limiting with burst capacity
- Updated SDK libraries with better TypeScript support
Deprecated
- Legacy v1 endpoints (to be removed in v3.0)
- XML response format support
[1.0.0] - 2025-09-31
Added
Initial API release with core features:
- Order creation and management
- Shipping rate calculation
- Package tracking
- Basic courier integrations (JNE, TIKI, POS Indonesia)
Core endpoints:
POST /v1/orders- Create orderGET /v1/orders/{id}- Get order detailsGET /v1/shipping/rates- Calculate shipping ratesGET /v1/tracking/{tracking_number}- Track package
Authentication:
- API key-based authentication
Basic features:
- Domestic shipping support
- Multiple courier options
- Real-time tracking
- Basic error handling
Deprecation Timeline
| Version | Status | End of Life | Migration Required |
|---|---|---|---|
| v2.x | Current | - | No |
| v1.x | Deprecated | 2025-01-20 | Yes |
| v0.x | End of Life | 2024-01-20 | Yes |
Breaking Changes by Version
v2.0.0 Breaking Changes
Authentication
javascript
// v1 (deprecated)
const response = await fetch('https://api.bebaskirim.com/v1/orders', {
headers: {
'Authorization': 'Basic ' + btoa('username:password')
}
});
// v2 (current)
const response = await fetch('https://api.bebaskirim.com/v2/orders', {
headers: {
'Authorization': 'Bearer bk_your_api_key_here'
}
});Response Format
javascript
// v1 (deprecated)
{
"status": "success",
"data": {
"order": { ... }
}
}
// v2 (current)
{
"success": true,
"data": { ... },
"meta": {
"timestamp": "2024-08-25T10:00:00Z",
"request_id": "req_123456"
}
}Error Format
javascript
// v1 (deprecated)
{
"status": "error",
"message": "Invalid request"
}
// v2 (current)
{
"success": false,
"error": {
"code": "INVALID_REQUEST",
"message": "Invalid request parameters",
"details": {
"field": "shipping_address.postal_code",
"issue": "Invalid postal code format"
}
}
}Pagination
javascript
// v1 (deprecated)
GET /v1/orders?page=1&per_page=20
// v2 (current)
GET /v2/orders?offset=0&limit=20SDK Compatibility Matrix
| SDK Version | API Version | Support Status | Notes |
|---|---|---|---|
| 3.x | 2.x | ✅ Active | Latest features |
| 2.x | 1.x | ⚠️ Maintenance | Security fixes only |
| 1.x | 1.x | ❌ End of Life | No support |
Migration Tools
Automated Migration Script
bash
# Install migration tool
npm install -g @bebas-kirim/migrate
# Run migration check
bebas-kirim-migrate check --api-key your-key
# Generate migration report
bebas-kirim-migrate report --output migration-report.html
# Apply automated fixes
bebas-kirim-migrate apply --dry-runAPI Compatibility Layer
javascript
// Temporary compatibility layer for v1 to v2 migration
const BebasKirimV1Compat = require('@bebas-kirim/v1-compat');
const client = new BebasKirimV1Compat({
apiKey: 'your-v2-api-key',
compatMode: true // Enables v1 compatibility
});Release Schedule
Upcoming Releases
v2.2.0 - October 2024
- GraphQL API (beta)
- Advanced analytics
- Multi-language support
v2.3.0 - December 2024
- Real-time notifications
- Enhanced webhook filtering
- Performance improvements
v3.0.0 - Q1 2025
- Breaking changes (TBD)
- New authentication system
- Enhanced security features
Release Cadence
- Major versions: Every 6-12 months
- Minor versions: Every 2-3 months
- Patch versions: Weekly as needed
Subscribe to Updates
Email Notifications
- API Updates: Subscribe here
- Breaking Changes: Subscribe here
- Security Alerts: Subscribe here
RSS Feeds
- All Updates:
https://docs.bebaskirim.com/feed.xml - Breaking Changes:
https://docs.bebaskirim.com/breaking-changes.xml - SDK Updates:
https://docs.bebaskirim.com/sdk-updates.xml
Webhook Notifications
javascript
// Subscribe to API updates via webhook
await client.webhooks.create({
url: 'https://your-app.com/webhooks/api-updates',
events: ['api.update', 'api.breaking_change', 'api.deprecation'],
headers: {
'X-API-Version': '2.0'
}
});