Getting Started

Introduction

KIMYUZIN adalah platform OTP (One-Time Password) terpercaya yang menyediakan akses ke 50+ layanan digital melalui 2 server premium.

Satu API, 50+ Layanan

Akses semua layanan melalui satu endpoint. Auto-failover antar server untuk ketersediaan tinggi.

Getting Started

Quick Start

Dapatkan API Key dalam 1 menit dan buat order pertamamu.

Flow Ringkas

  1. Login ke dashboard web KIMYUZIN → menu API Key → klik Generate
  2. Dapatkan daftar layanan dari GET /api/v1/services
  3. Pilih service berdasarkan field code
  4. Buat order dengan POST /api/v1/order
  5. Simpan order_id untuk cek status
  6. Polling status tiap 3 detik dengan GET /api/v1/status/{order_id}
  7. Ambil OTP dengan GET /api/v1/otp/{order_id}
  8. Resend OTP jika diperlukan (maks 5x) atau Cancel jika batal

Contoh Order

curl -X POST https://kimyuzin.store/api/v1/order \
  -H "Authorization: Bearer API_KEY_ANDA" \
  -H "Content-Type: application/json" \
  -d '{"api_key":"API_KEY_ANDA","service":"gojek","server":"auto"}'
Getting Started

Base URL

Seluruh endpoint API menggunakan base URL berikut:

https://kimyuzin.store/api/v1

Contoh: https://kimyuzin.store/api/v1/services

Getting Started

Authentication

KIMYUZIN menggunakan API Key sebagai metode autentikasi. Cara pengiriman API Key BERBEDA tergantung endpoint.

Metode Format Endpoint
Header Authorization: Bearer API_KEY Semua endpoint (kecuali Cancel)
Query Param ?api_key=API_KEY KHUSUS Cancel Order
Body (JSON) {"api_key": "API_KEY"} KHUSUS Create Order

Create Order: API Key WAJIB di Body JSON dan boleh juga di Header.

Cancel Order: API Key WAJIB di Query Parameter (?api_key=...).

Security Best Practices:

  • Jangan membagikan API Key kepada pihak lain.
  • Jangan masukkan API Key ke frontend/client-side code.
  • Simpan API Key di environment variable/server-side.
  • Jika API Key bocor, segera buat/ganti key baru melalui dashboard web KIMYUZIN.
Getting Started

API Keys

API Key digunakan untuk mengautentikasi semua request ke KIMYUZIN API.

🔑 Cara Mendapatkan API Key

  1. Login ke dashboard web app.kimyuzin.store
  2. Buka menu API Key di sidebar
  3. Klik tombol Generate — API Key baru langsung tampil
  4. Salin & simpan (1 akun = 1 API Key aktif)
# Buka di browser
https://app.kimyuzin.store/dashboard/api

🛡️ Best Practices

  • ✅ Simpan API Key di environment variable
  • ✅ Gunakan hanya di server-side
  • ❌ Jangan commit API Key ke GitHub
  • ❌ Jangan bagikan API Key ke orang lain
  • 🔄 Jika key bocor, klik Generate lagi di menu API Key untuk membuat key baru (key lama otomatis nonaktif)

Setiap user bisa generate API Key sendiri — tidak perlu admin!

API Reference

Services

GET /api/v1/services

Dapatkan daftar semua layanan OTP yang tersedia beserta harga terbaru.

Headers

Authorization: Bearer API_KEY_ANDA

Response

{   "success": true,   "server1": [     {       "code": "gojek",       "name": "Gojek",       "price": 1500,       "allow_retry": true     },     {       "code": "slot",       "name": "SLOT",       "price": 1000,       "allow_retry": false     }   ],   "server2": [     {       "code": "gopay",       "name": "Gopay",       "price": 1000,       "allow_retry": true     }   ] }
Field Type Description
code string Kode layanan untuk digunakan saat order
name string Nama layanan
price number Harga jual final KIMYUZIN
allow_retry boolean Apakah layanan support minta ulang OTP

Harga yang ditampilkan oleh API adalah harga resmi KIMYUZIN yang berlaku untuk akun Anda.

Harga dapat berbeda untuk setiap akun tergantung pada level atau status reseller.

allow_retry: true = Support minta ulang OTP, false = Tidak support minta ulang OTP.

API Reference

Create Order

POST /api/v1/order SERVER 1 & 2

Buat order OTP baru untuk layanan tertentu.

Headers

Authorization: Bearer API_KEY_ANDA
Content-Type: application/json

Request Body

{   "api_key": "API_KEY_ANDA",   "service": "gojek",   "server": "auto" }
Parameter Type Required Description
api_key string Yes API Key akun
service string Yes Kode layanan dari /api/v1/services
server string Yes auto, server1, atau server2

Parameter Server

  • auto — Otomatis pilih server terbaik (recommended)
  • server1 — Menggunakan Server 1
  • server2 — Menggunakan Server 2

Response Sukses

{   "success": true,   "order_id": "KIM-20260901-XXXXX",   "server": "server1",   "phone": "62838XXXXXXX",   "price": 1200,   "status": "waiting" }
Field Type Description
success boolean Status order
order_id string ID order unik
server string Server yang digunakan
phone string Nomor tujuan OTP
price number Harga yang dipotong dari saldo
status string Status order (waiting, processing, completed, expired, cancelled)

Contoh cURL

curl -X POST https://kimyuzin.store/api/v1/order \
  -H "Authorization: Bearer API_KEY_ANDA" \
  -H "Content-Type: application/json" \
  -d '{"api_key":"API_KEY_ANDA","service":"gojek","server":"auto"}'

Contoh Python

import requests

API_KEY = "API_KEY_ANDA"
url = "https://kimyuzin.store/api/v1/order"
headers = {"Authorization": f"Bearer {API_KEY}"}
data = {
  "api_key": API_KEY,
  "service": "gojek",
  "server": "auto"
}
response = requests.post(url, headers=headers, json=data)
print(response.json())

Contoh JavaScript (Node.js)

const axios = require('axios');

const API_KEY = 'API_KEY_ANDA';
const url = 'https://kimyuzin.store/api/v1/order';
const headers = { 'Authorization': `Bearer ${API_KEY}` };
const data = {
  api_key: API_KEY,
  service: 'gojek',
  server: 'auto'
};

axios.post(url, data, { headers })
  .then(response => console.log(response.data));
API Reference

Order Status

GET /api/v1/status/{order_id}

Cek status order. Gunakan endpoint ini untuk polling tiap 3 detik sampai OTP tersedia.

Headers

Authorization: Bearer API_KEY_ANDA

Response

{   "success": true,   "order_id": "KIM-20260901-XXXXX",   "server": "server1",   "status": "completed",   "otp": "123456",   "full_text": "Kode OTP Anda: 123456. Jangan bagikan kepada siapapun.",   "allow_retry": true,   "phone": "62838XXXXXXX",   "price": 1200 }

Status Order

  • waiting — Menunggu nomor dari supplier
  • processing — Sedang menunggu OTP masuk
  • completed — OTP berhasil didapatkan
  • expired — Order kadaluarsa
  • cancelled — Order dibatalkan
API Reference

Get OTP

GET /api/v1/otp/{order_id}

Ambil OTP dari order yang sudah completed.

Headers

Authorization: Bearer API_KEY_ANDA

Response Sukses

{   "success": true,   "order_id": "KIM-20260901-XXXXX",   "otp": "123456",   "full_text": "Kode OTP Anda: 123456. Jangan bagikan kepada siapapun.",   "allow_retry": true,   "phone": "62838XXXXXXX" }

Response Gagal

{   "success": false,   "error": "Status order: waiting",   "error_code": 409 }

Catatan: Gunakan /api/v1/status/{order_id} untuk polling tiap 3 detik sampai status menjadi completed, lalu ambil OTP di sini.

API Reference

Resend OTP

POST /api/v1/order/{order_id}/resend SERVER 1 & 2

Minta ulang OTP untuk order yang sudah completed tetapi OTP tidak masuk atau ingin meminta ulang kode.

Headers

Authorization: Bearer API_KEY_ANDA

Syarat & Ketentuan

  • Order harus dalam status completed
  • Maksimal 5x resend per order
  • Tidak ada potongan saldo tambahan
  • Waktu berlaku diperpanjang +20 menit

Response

{   "success": true,   "order_id": "KIM-20260901-XXXXX",   "server": "server1",   "status": "completed",   "resend_count": 1,   "expires_at": "2026-09-01T12:00:00" }
API Reference

Rebuy (Reaktivasi)

POST /api/v1/order/{order_id}/rebuy SERVER 1

Beli ulang OTP di nomor yang SAMA untuk layanan yang SAMA dari order lama yang sudah sukses. Harga normal, saldo ditahan dan dipotong saat OTP diterima (seperti order biasa).

Cuma Server 1. Server 2 tidak mendukung reaktivasi.

Headers

Authorization: Bearer API_KEY_ANDA

Syarat & Ketentuan

  • Order lama harus completed dan milik akun kamu
  • Order lama harus dari Server 1
  • Nomor belum dipakai buyer lain & masih hidup
  • Membuat order BARU (harga normal, saldo dipotong saat OTP masuk)

Request

curl -X POST "https://kimyuzin.store/api/v1/order/KIM-20261014-8505E9/rebuy" \
  -H "Authorization: Bearer API_KEY_ANDA"

Response Sukses

{   "success": true,   "order_id": "KIM-20261014-ABCDEF",   "rebuy_of": "KIM-20261014-8505E9",   "phone": "628315520227",   "server": "server1",   "price": 1200,   "status": "waiting" }

Error

  • 402 — Saldo kurang
  • 404 — Order lama tidak ditemukan
  • 409 — Bukan Server 1 / status bukan completed / nomor dijual / offline
API Reference

Cancel Order

POST /api/v1/order/{order_id}/cancel SERVER 1 & 2

⚠️ Penting: Endpoint ini menggunakan Query Parameter untuk API Key, BUKAN Header!

Batalkan order yang masih aktif. Saldo akan otomatis dikembalikan (refund).

Request

curl -X POST "https://kimyuzin.store/api/v1/order/KIM-20260907-BBDEFA/cancel?api_key=API_KEY_ANDA"

Response Sukses

{   "success": true,   "message": "Order KIM-20260907-BBDEFA berhasil dibatalkan",   "order_id": "KIM-20260907-BBDEFA" }

Response Gagal

{   "success": false,   "error": "Order sudah selesai",   "error_code": 409 }

Syarat Cancel

  • Status harus waiting atau processing
  • Order belum completed
  • Saldo otomatis refund ke user jika cancel berhasil
API Reference

Balance

GET /api/v1/balance

Cek saldo akun API Anda.

Headers

Authorization: Bearer API_KEY_ANDA
{   "success": true,   "balance": 50000 }
Resources

Error Codes

Semua error response mengikuti format:

{   "success": false,   "error": "Pesan error",   "error_code": XXX }
400 Bad Request

Parameter yang dikirim tidak lengkap atau format salah. Cek request body Anda.

401 Unauthorized

API Key tidak valid atau sudah expired. Generate API Key baru lewat dashboard web KIMYUZIN.

402 Insufficient Balance

Saldo tidak cukup untuk melakukan order. Silakan isi saldo melalui deposit QRIS.

403 Forbidden

Anda tidak memiliki akses ke resource ini. Cek role atau izin akun Anda.

404 Not Found

Endpoint atau order_id tidak ditemukan. Cek kembali URL atau ID order Anda.

409 Order Conflict

Order sudah selesai atau tidak bisa di-cancel. Cek status order terlebih dahulu.

410 Order Expired

Order sudah kadaluarsa. Silakan buat order baru.

422 Unprocessable Entity

Service tidak tersedia di server yang dipilih. Coba gunakan server: "auto".

429 Rate Limit Exceeded

Terlalu banyak order aktif. Maksimal 20 order per API Key. Tunggu order selesai/kadaluarsa.

500 Internal Server Error

Terjadi kesalahan pada server kami. Tim sedang menangani. Coba lagi nanti.

503 Server Maintenance

Server yang dipilih sedang dalam maintenance. Gunakan "server": "auto" untuk failover otomatis ke server yang tersedia.

503 All Servers Down

Kedua server sedang offline. Kami sedang melakukan perbaikan. Silakan coba lagi nanti. Pantau status di dashboard web KIMYUZIN.

Resources

Rate Limits

20 Order Aktif

Maksimal 20 order aktif per API Key. Order yang sudah completed, expired, atau cancelled tidak dihitung.

Auto-Failover

Otomatis pindah ke server cadangan jika server utama bermasalah (hanya saat menggunakan server: "auto").

Resend OTP

Maksimal 5x resend per order. Tidak memotong saldo tambahan.

Resources

API Flow

Visual alur penggunaan API KIMYUZIN dari awal sampai selesai.

1 GET /api/v1/services → Dapatkan daftar layanan
↓
2 Pilih service berdasarkan field code
↓
3 POST /api/v1/order → Buat order, dapatkan order_id
↓
4 GET /api/v1/status/{order_id} → Polling tiap 3 detik sampai status completed
↓
5 GET /api/v1/otp/{order_id} → Ambil OTP atau POST /api/v1/order/{order_id}/resend → Minta ulang OTP atau POST /api/v1/order/{order_id}/cancel → Batalkan order

Tips: Gunakan server: "auto" untuk auto-failover. Simpan order_id untuk tracking order.

Resources

Changelog

v1.0.0 1 September 2026
  • Rilis perdana KIMYUZIN API
  • Support 50+ layanan OTP dari 2 server (Server 1 & Server 2)
  • Autentikasi API Key dengan 3 metode (Header, Query, Body)
  • Endpoint: Services, Create Order, Status, Get OTP, Resend OTP, Cancel Order, Balance
  • Auto-failover antar server
  • Resend OTP maksimal 5x per order
  • Cancel order dengan refund otomatis