DocsReferenceAPI Versioning

Untuk menjaga stabilitas sistem sekaligus memungkinkan kita melakukan pembaruan fitur yang signifikan, API di CentriCare menggunakan sistem Path Versioning.

Setiap permintaan ke server harus menyertakan nomor versi API secara eksplisit di dalam URL.

Format Base URL: https://api.centricare.cloud/v{major_version}/

Contoh Permintaan:

curl -X GET "https://api.centricare.com/v1/patients"

Kebijakan Deprecation (Penghentian Versi)

Melakukan pembaruan integrasi pastinya membutuhkan waktu maka ketika versi baru (misalnya v2) dirilis, versi sebelumnya (v1) tidak akan langsung dimatikan. Kita akan memberikan masa transisi (grace period) agar pengguna memiliki waktu yang cukup untuk bermigrasi.

Namun, untuk memastikan pengguna menyadari bahwa sebuah versi sudah usang (deprecated), kita akan menyisipkan HTTP Headers khusus pada setiap respons dari versi yang akan dihentikan.

Header Peringatan

Berikut header yang berkaitan dengan deprecation API.

HeaderContoh NilaiDeskripsi
Deprecationtrue atau Wed, 01 Dec 2026 00:00:00 GMTIndikator standar bahwa versi API yang digunakan sudah berstatus deprecated.
SunsetFri, 01 Jan 2027 23:59:59 GMTTanggal pasti (dalam format HTTP-date) kapan endpoint ini akan dimatikan sepenuhnya dan mulai mengembalikan status 410 Gone atau 404 Not Found.
X-API-Latest-Versionv2Memberitahukan versi API mayor terbaru yang direkomendasikan untuk digunakan saat ini.
Warning299 - "API version v1 is deprecated. Please upgrade to v2."Pesan peringatan yang dapat dibaca manusia (human-readable) untuk memudahkan logging dan debugging.

Contoh Respons pada Versi yang Deprecated

Meskipun versi tersebut sudah berstatus deprecated, permintaan akan tetap diproses dengan sukses hingga tanggal Sunset tiba.

Contoh Respons:

HTTP/1.1 200 OK
Content-Type: application/json
Deprecation: true
Sunset: Fri, 01 Jan 2027 23:59:59 GMT
X-API-Latest-Version: v2
Warning: 299 - "API version v1 is deprecated and will be removed on Jan 1, 2027. Please upgrade to v2."

{
  "data": [
    {
      "_id": "01H9A3XBCDEFG",
      "name": {
        "first": "Budi",
        "last": "Santoso"
      }
    }
  ]
}
Best Practice

Disarankan untuk konfigurasi klien API atau sistem monitoring untuk memantau kehadiran header Deprecation dan Sunset. Dengan cara ini, tim pengembang akan mendapatkan peringatan dini secara otomatis sebelum versi API benar-benar berhenti berfungsi.

Built with LogoFlowershow