Skip to content

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 order
    • GET /v1/orders/{id} - Get order details
    • GET /v1/shipping/rates - Calculate shipping rates
    • GET /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

VersionStatusEnd of LifeMigration Required
v2.xCurrent-No
v1.xDeprecated2025-01-20Yes
v0.xEnd of Life2024-01-20Yes

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=20

SDK Compatibility Matrix

SDK VersionAPI VersionSupport StatusNotes
3.x2.x✅ ActiveLatest features
2.x1.x⚠️ MaintenanceSecurity fixes only
1.x1.x❌ End of LifeNo 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-run

API 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

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'
  }
});