Select Package

BigBox mengemas setiap API dalam paket-paket subscription berdasarkan jumlah API yang dapat di-call. Mekanisme yang digunakan dikenal dengan istilah trothling dimana untuk paket subscription tertentu maka user hanya dapat melakukan API call sebanyak jumlah maksimum yang diberlakukan pada paket tersebut. Selebihnya maka API call akan ditolak oleh API gateway BigBox.

Masing-masing API memiliki pilihan paket subscription yang berbeda-beda. Untuk melihat paket apa saja yang tersedia pada suatu API, klik pada Explore API kemudian klik pada salah satu API. Klik pada tab Pricing. Kemudian akan ditampilkan paket subscription untuk API tersebut.

Secara umum terdapat 3 jenis paket subscription yaitu: Paket Berbayar (Paid), Paket Free dengan batasan jumlah call (Free With Trothling), Paket Free dengan syarat dan kondisi (Free with terms and conditions).

Paket Berbayar

Paket ini mengharuskan pengguna untuk untuk mengeluarkan biaya penggunaan. Metoda perhitungan yang digunakan adalah berdasarkan jumlah API call, paket dengan harga yang berbeda hanya berbeda pada jumlah API call. Pengguna dapat memilih paket yang tersedia berdasarkan rencana penggunaan. Apabila jumlah kuota API call habis maka BigBox menyediakan mekanisme topup untuk menambah jumlah kuota API call.

Paket Free dengan Batasan Jumlah Call

Paket ini pengguna tidak dikenakan apapun untuk menggunakannya, hanya saja akan dikenakan aturan trothling atau batasan jumlah API call. Saat ini batasan jumlah API call yang diberlakukan adalah sebanyak 5 call per hari. Apabila dalam satu hari sudah digunakan API call sebanyak 5 kali maka pengguna harus menunggu keesokan hari untuk dapat menggunakan kembali API tersebut.

Paket Free dengan Syarat dan Kondisi

Paket ini tidak ada aturan trothling, tidak ada batasan jumlah penggunaan per harinya, hanya saja untuk menggunakannya secara penuh maka pengguna harus memenuhi syarat dan kondisi dan biasanya adalah berkaitan dengan masalah bisnis. Sebagai contoh adalah API untuk Payment. API ini hanya dapat digunakan apabila pengguna sudah memiliki merchant ID dimana merchant ID ini hanya dapat diperoleh melalui kontrak bisnis dengan payment gateway selaku pemilik API. Untuk setiap application, hanya dapat dipilih satu paket subscription. Untuk berpindah ke paket lain terlebih dahulu harus unsubscribe paket lama kemudian subscribe paket baru.

Subscribe API

Setelah memiliki akun BigBox, tidak secara otomatis dapat menggunakan API yang ada pada portal BigBox. Developer harus memilih satu atau lebih API untuk digunakan. Proses ini disebut dengan Subscribe API.

Setiap API call ke BigBox akan diterima oleh API Gateway BigBox dimana akan selalu dilakukan pengecekan apakah caller memiliki hak untuk memanggil sebuah API. Dengan melakukan subscribe API maka developer mendaftarkan diri untuk menggunakan API tersebut sehingga apabila developer mengirimkan API call ke BigBox maka karena sudah terdaftar sebagai pengguna API tersebut, maka oleh API gateway BigBox API call tersebut akan diterima dan di proses.

Untuk subscribe API ikuti langkah-langkah berikut:

Login ke https://developer.thebigbox.id .

Klik Explore API kemudian klik pada salah satu API yang ingin di-subscribe.

Klik pada tab Pricing. Kemudian akan ditampilkan paket subscription, bila terdapat pilihan lebih dari satu pilih salah satu paket sesuai dengan rencana penggunaan, klik Subscribe.

Untuk paket API yang tidak berbayar maka setelah proses di atas selesai, API dapat langsung digunakan. Sedangkan untuk paket API berbayar maka proses selanjutnya adalah proses pembayaran. Ikuti instruksi yang muncul pada layar. Untuk metoda pembayaran yang berbeda maka prosesnya akan berbeda pula. API hanya akan diaktifkan setelah proses pembayaran selesai.

Create Application

Application dalam konteks portal API BigBox bukanlah mengacu pada sebuah perangkat lunak, namun hanya sekedar klasifikasi penggunaan API. Di dalam manajemen penggunaan API, user dapat mengelompokan sekumpulan API yang dikonsumsi dari BigBox menjadi grup application. Masing-masing application ini memiliki domain API security sendiri-sendiri dimana untuk setiap application yang dibuat terdapat pasangan key dan secret yang terpisah sehingga API-Key juga berbeda. Meng-create application bukan sebuah keharusan, secara default akan disediakan sebuah application bernama default Application. Bila tidak ada application baru yang dibuat maka seluruh API yang digunakan akan masuk ke dalam default Application.

Untuk membuat application langkah-langkahnya adalah sebagai berikut:

Login ke https://developer.thebigbox.id

Klik pada username yang ada di bagian kanan atas kemudian klik My Account > Application > Create New Application.

Isi form di atas kemudian klik tombol Create. Application yang baru dibuat akan muncul pada tabel daftar application.

Create Account

Untuk membuat akun BigBox langkah-langkahnya adalah sebagai berikut:

Pada halaman web BigBox klik DONT HAVE AN ACCOUNT.

Isi semua field dengan data yang valid, check kotak “I’m not a robot” Lalu klik tombol “REGISTER”.


BigBox kemudian akan mengirimkan email ke alamat email yang didaftarkan. Email ini berisi activation link. Buka email dan klik tombol “Verify your account” yang ada di bagian pesan email.

Account

API resource di BigBox adalah resource terproteksi sehingga diperlukan pencatatan akses dan transaksi guna kepentingan audit trail dan traffic management. Oleh sebab itu untuk dapat menggunakan API di BigBox maka syarat mandatory yang harus dipenuhi adalah memiliki akun di BigBox. Namun untuk sekedar melakukan eksplorasi API dapat dilakukan tanpa harus memiliki akun. Beberapa benefit yang diperoleh dengan membuat akun di BigBox adalah sebagai berikut:

  • Mendapat hak akses untuk menggunakan API atau hanya sekedar melakukan try out melalui web console di web
    https://developer.thebigbox.id.
  • Dapat mengakses fitur account management dan melakukan segala aktivitas sebagai API consumer seperti create apps, subscribe/unsubscribe, API usage dashboard, billing transaction, update profile, dan lain-lain.
  • Berhak untuk ikut serta dalam program promo dan community event.

Membuat akun BigBox tidak dikenakan biaya apapun alias gratis. Pada saat melakukan registrasi akun di BigBox, sistem akan mengirimkan email yang berisi link aktivasi. Untuk itu perlu diingat bahwa alamat email yang didaftarkan harus valid dan benar-benar dapat diakses, kalau tidak maka akun yang didaftarkan tidak akan pernah aktif.

Header

Setiap request API ke BigBox harus comply dengan standar HTTP dengan mandatory header yang harus disertakan dalam setiap API call adalah sebagai berikut: 

Accept: application/json
Content-Type: application/x-www-form-urlencoded
Authorization: X-API-Key

Dengan kemungkinan response sebagai berikut:

200 – OK

3XX – Redirect

400 – Bad request

401 – Unauthorized to access

403 – Forbidden

404 – Not Found

405 – Method Not Allowed

404 – Request not found

500 – Internal Server Failure

502 – Bad Gateway Error

Authorization

BigBox menggunakan API-Key Authentication sebagai authorization framework. Authorization diberikan dalam bentuk API-Key dimana API-Key diperoleh melalui proses yang di dalamnya menyertakan key dan secret. Pasangan kunci ini diperoleh user pada saat user melakukan registrasi pada website BigBox.

Semua request untuk mengakses API di BigBox harus menyertakan parameter Authorization pada HTTP header dengan format X-API-KEY: Value, bila tidak maka response yang akan diterima adalah 401 Unauthorized atau 403 Forbidden bila API-Keyinvalid.

HTTP REST

REST (Representational State Transfer) adalah seperangkat aturan yang memungkinkan sebuah aplikasi untuk mengakses resources secara terdistribusi. REST dapat mempertukarkan berbagai format penulisan seperti XML maupun JSON dan pada umumnya menggunakan protokol HTTP dalam mekanisme pertukaran datanya.

REST bersifat stateless dalam arti bahwa tidak perlu ada koneksi yang harus dijaga selama komunikasi berlangsung antara server dengan client. Proses komunikasi hanya menggunakan session yang hanya terbentuk ketika client mengirimkan request berdasarkan context tertentu hingga server membalas dengan response sebagai hasil permintaan dari client.

Karena sifatnya yang stateless maka pada setiap request, client perlu menambahkan informasi sebagai indikator status dari client. Informasi tersebut adalah API-Key yang harus di sisipkan pada header HTTP.

Seluruh API yang ada di BigBox hanya dapat diakses menggunakan REST dengan method HTTP yang didukung adalah:

GET: digunakan untuk mengambil resource berdasarkan query dan filter dari client.

PUT: digunakan untuk melakukan update atau memodifikasi resource yang sudah ada.

POST: digunakan untuk membuat resource baru.

DELETE: digunakan untuk menghapus resource.

API Basic Call

Seluruh API yang ada di BigBox dapat diakses dengan menggunakan API- Key. Authentication adalah proses konfirmasi bahwa pengakses memiliki hak akses untuk menggunakan API. Sebelumnya, untuk melakukan verifikasi hak akses, aplikasi menggunakan cookies yang berisi session ID dan tersimpan pada sisi server. Hal ini mengharuskan developer untuk menyediakan media penyimpanan yang bersifat unik untuk masing-masing server atau dengan kata lain bahwa untuk server yang berbeda maka session management-nya pun berbeda.

Metoda API-Key merupakan metoda yang didisain untuk mengatasi masalah penyimpanan session ID yang tidak dapat dilakukan dengan metoda cookies. Penggunaan API-Key dapat menurunkan beban server, pengelolaan hak akses yang lebih fleksible, dan mendukung sistem terdistribusi atau infrastruktur berbasis cloud.

Mainapi Basic Call

Seperti dapat dilihat pada diagram di atas, API-Key akan dibangkitkan ketika proses verifikasi credential berhasil. API-Key dapat berbasis username-password atau pasangan key-secret, dalam hal ini BigBox mendukung keduanya. Setelah user memperoleh API-Key dari hasil authentication maka API-Key tersebut selanjutnya digunakan untuk memanggil API.

Overview

API (application programming interface) adalah suatu interface, terdiri dari command, function, dan protocol, yang memungkinkan suatu aplikasi dapat berkomunikasi dengan aplikasi lainnya. API mendefinisikan suatu fungsi yang tersedia di dalamnya, bagaimanan cara menggunakannya, format apa yang harus digunakan, input apa yang harus diberikan, dan output apa yang akan didapat.

Gambar di atas memvisualisasikan konsep dari API, di mana API merupakan perantara antara aplikasi yang dijalankan pada desktop atau mobile device, dengan sebuah backend di tempat yang menyediakan fungsi atau kapabilitas tertentu. Antarmuka API akan menerima request dari aplikasi, kemudian meneruskannya ke API backend untuk diproses. Hasil pemrosesan akan dikembalikan ke aplikasi melalui antarmuka API yang sama.

Secara umum dapat dikatakan bahwa setiap kali aplikasi membutuhkan data atau ingin menjalankan suatu fungsi tertentu maka aplikasi tinggal melakukan API call ke penyedia API service.

Developer Problem

  • Kesulitan memperoleh layanan API yang ready to consume
  • Terbatasnya waktu pengembangan aplikasi dan proses integrasi
  • Terbatasnya layanan API yang tersedia secara self service

Mengapa API sangat penting?

Semakin hari aplikasi yang dikembangkan oleh para developer semakin kompleks. Akan menjadi tidak efisien apabila harus membangun keseluruhan fungsi sementara fungsi-fungsi tersebut sudah tersedia baik secara gratis maupun berbayar. Fokus pengembangan aplikasi tetaplah time-to-market sehingga para developer harus dapat berpikir strategis bahwa dalam pengembangan aplikasi fokus pada core function sedangkan fungsi-fungsi pendukung cukup gunakan modul yang sudah tersedia dalam bentuk Open API.

Sebagai jawaban atas permasalahan yang dihadapi oleh para developer maka BigBox hadir sebagai marketplace API atau repository yang memfasilitasi atau mempertemukan para pelaku bisnis, perusahaan, developer, startup untuk dapat menggunakan semua kapabilitas API berdasarkan kebutuhan pengembangan aplikasi, produk atau service, dalam sistem environment yang aman dan scalable.

Keuntungan dan manfaat yang dapat diperoleh oleh para stake holder adalah sebagai berikut: 

API Publisher

API Publisher atau API Producer merupakan pemilik kapabilitas di mana dengan mengekspos kapabilitas yang dimiliki tersebut akan dapat meningkatkan trafik utilisasi dan dapat menjadi revenue stream baru. Mereka juga tidak perlu repot untuk menyiapkan infrastruktur dan platform pengelolaan API karena seluruh urusan API management sudah ditangani oleh BigBox.

API Consumer

API consumer adalah para developer yang menggunakan API di mana mereka dapat lebih fokus mengembangkan aplikasi secara lebih efektif dengan memanfaatkan resource dari API service tanpa perlu membangun sendiri kapabilitas yang dibutuhkan tersebut.

User

User adalah pengguna aplikasi di mana pemanfaatan API service dapat memberikan kemudahan dan kelengkapan fitur suatu aplikasi yang dapat berbentuk aplikasi pada perangkat mobile maupun website. Jika user sudah nyaman menggunakan suatu aplikasi maka pada akhirnya dapat meningkatkan utilisasi trafik dari aplikasi tersebut.