Selamat Datang di Hariku API: Platform yang Aku Bangun dari nol

Halo, InfiFriends!
Selama beberapa waktu, banyak dari kamu mungkin mengenal Hariku sebagai aplikasi kalender desktop yang membantu mengatur jadwal, pengingat, dan mencatat momen-momen penting. Tapi di balik layar, saya selalu punya mimpi yang lebih besar untuknya. Hari ini, saya sangat antusias untuk mengumumkan langkah terbesar dalam evolusi Hariku: peluncuran Hariku API Platform.

Apa Itu Hariku dan Apa Visi Besarnya?

Hariku dimulai sebagai sebuah ide sederhana: bagaimana jika kalender tidak hanya menunjukkan tanggal, tapi juga menceritakan sebuah kisah? Bagaimana jika ia bisa memberikan kutipan inspiratif di pagi hari, atau mengingatkan kita tentang peristiwa bersejarah yang terjadi pada hari itu?
Dari sana, Hariku tumbuh. Tim dan saya mulai mengumpulkan data dengan susah payah: ratusan kutipan dalam berbagai bahasa, hari libur nasional dan internasional, perayaan budaya, hingga sejarah singkat di balik hari-hari penting tersebut, khususnya untuk Indonesia.
Tapi kemudian muncul sebuah pertanyaan: "Kenapa data sekaya ini hanya bisa dinikmati oleh pengguna aplikasi Hariku?"
Inilah visi baru kami: mengubah Hariku dari produk menjadi platform. Kami ingin data yang telah kami kumpulkan bersama ini menjadi sumber daya yang bisa digunakan oleh siapa saja, para developer, kreator, hobiis, atau siapa pun yang ingin membangun sesuatu yang keren. Kami membuka "gudang" data kami agar kamu bisa memakainya untuk proyek-proyekmu sendiri.

Apa Itu Hariku API dan Apa Saja Data Berharga di Dalamnya?

Secara sederhana, API (Application Programming Interface) adalah jembatan yang memungkinkan satu program "berbicara" dengan program lain. Hariku API adalah jembatan yang menghubungkan aplikasi atau proyekmu langsung ke database kami yang akan terus berkembang.
Setiap panggilan API tidak hanya memberikan nama acara, tapi juga konteks yang mendalam di baliknya. Mari kita bedah "harta karun" apa saja yang bisa kamu dapatkan dari API kalender kami:
Struktur Data Setiap Event Kalender:
Setiap objek event yang dikembalikan oleh API akan memiliki field-field berikut:

  • id (integer): ID unik untuk event di database kami.
  • event_name (string): Nama lengkap acara (misal: "Hari Kemerdekaan Republik Indonesia").
  • event_type (string): Kategori acara (misal: "Nasional", "Keagamaan", "Internasional").
  • is_holiday (boolean): Bernilai true jika ini adalah hari libur resmi (tanggal merah), dan false jika tidak. Sangat berguna untuk aplikasi kalender.
  • event_full_date (string | null): Tanggal lengkap YYYY-MM-DD jika ini adalah event dengan tanggal spesifik (seperti Idul Fitri). Akan bernilai null jika event berulang.
  • event_recurring_date (string | null): Tanggal berulang MM-DD jika ini adalah event tahunan (seperti Hari Kemerdekaan). Akan bernilai null jika tanggalnya spesifik.
  • history (string): Inilah fitur andalan kami! Field ini berisi teks naratif yang menjelaskan sejarah, makna, dan konteks di balik acara tersebut. Kamu bisa menggunakan ini untuk membuat fitur "On This Day…" atau memberikan wawasan mendalam kepada pengguna aplikasimu.
    Dengan data ini, kamu bisa membuat:
  • Widget "Quote of the Day": Tampilkan kutipan inspiratif baru setiap hari.
  • Bot Media Sosial: Buat bot untuk telegram atau Discord yang otomatis memposting "Hari ini dalam sejarah…"
  • Aplikasi Niche: Kembangkan aplikasi countdown hari libur atau aplikasi motivasi.
  • Proyek Pribadi: Tampilkan event hari ini di terminal komputermu setiap pagi.

    Endpoint yang Tersedia: "Menu" Lengkap untuk Kamu

    1. Quotes API (/quotes/...)

  • GET /quotes/{lang}/random: Ambil satu kutipan acak (id atau en).
  • GET /quotes/{lang}/id/{id}: Ambil kutipan spesifik berdasarkan ID.
  • GET /quotes/{lang}/all: (Fitur Pro) Ambil semua kutipan.
    2. Calendar API (/calendar/...)
  • GET /calendar/{country}/today: Dapatkan semua event (lengkap dengan history) untuk hari ini.
  • GET /calendar/{country}/date/{YYYY-MM-DD}: Dapatkan event pada tanggal spesifik.
  • GET /calendar/{country}/week/{YYYY-MM-DD}: Dapatkan event selama 7 hari ke depan.
  • GET /calendar/{country}/month/{YYYY-MM}: Ambil semua event dalam satu bulan.
  • GET /calendar/{country}/year/{YYYY}: Dapatkan daftar lengkap semua event dalam satu tahun.
  • GET /calendar/{country}/search?q={keyword}: Cari event berdasarkan nama.

    Cara Memulainya:

  • Daftar dan Dapatkan Kunci API-mu:
    Semua akses diamankan menggunakan Kunci API.

  • Baca Dokumentasinya (Ada "Try It Live"-nya!):
    Kami sudah siapkan halaman dokumentasi lengkap dan interaktif.

  • Mulai Koding!
    Berikut contoh menggunakan Python untuk mengakses fitur history andalan kita:

    import requests
    import textwrap
    
    API_KEY = "ganti_dengan_kunci_api_kamu"
    COUNTRY_CODE = "ID"
    # Mari kita coba ambil data untuk Hari Kartini
    TANGGAL = "2024-04-21"
    
    url = f"https://www.techlabs.lol/hariku/calendar/{COUNTRY_CODE}/date/{TANGGAL}"
    headers = { "Authorization": f"Bearer {API_KEY}" }
    
    try:
        response = requests.get(url, headers=headers)
        response.raise_for_status()
    
        events = response.json()
        print(f"Acara pada tanggal {TANGGAL} di negara {COUNTRY_CODE}:\n")
    
        if not events:
            print("Tidak ada acara spesial pada tanggal ini.")
    
        for event in events:
            print(f"Nama Acara: {event['event_name']}")
            print(f"Tipe: {event['event_type']}")
    
            history_text = event.get('history')
            if history_text:
                print("\n--- Sejarah dan Konteks ---")
                print(textwrap.fill(history_text, width=80))
    
            print("\n" + "="*40 + "\n")
    
    except requests.exceptions.RequestException as e:
        print(f"Terjadi kesalahan saat mengakses API: {e}")
    

Tentang Tingkatan API

Sejujurnya, visi jangka panjang saya adalah menjadikan Hariku sebuah layanan yang berkelanjutan. Ini berarti akses API volume tinggi pada akhirnya akan menjadi fitur berbayar. Tapi, mari kita lewati bagian itu untuk saat ini.

  • Tingkat Gratis (Default): Setiap akun baru mendapatkan kuota yang cukup untuk proyek pribadi dan pengembangan, kira-kira sekitar 500 requests perbulan.
  • Tingkat Pro (Gratis, Berdasarkan Permintaan): Butuh akses tanpa batas? Kirim email ke [email protected] (ceritakan proyekmu dan sertakan username/email akun Hariku), dan saya akan berikan upgrade gratis untuk saat ini.

Platform ini akan menjadi hebat karena kontribusi komunitas. Saat ini, data kami paling lengkap untuk Indonesia. Kami sangat membutuhkan bantuanmu untuk mengisi data kalender untuk negara lain! Jadilah orang pertama yang menambahkan hari libur di negaramu.

Ini adalah babak baru yang sangat menarik bagi Hariku. Saya tidak sabar untuk melihat apa yang akan kamu, para InfiFriends, bangun dengan platform ini.

Selamat berkarya! ♾

1 thought on “Selamat Datang di Hariku API: Platform yang Aku Bangun dari nol”

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.