Partner API sedang nonaktif sementara. Hubungi admin untuk info lebih lanjut.

Partner API Submitin.id

Oper order cek plagiasi, cek AI, dan DrillBit ke Submitin.id lewat REST API. White-label: pelanggan Anda tidak melihat nama kami.

Cek plagiasi Cek AI DrillBit Webhook Refund otomatis

Cara kerja

1
Daftar via adminAdmin membuatkan akun partner. Anda menerima API key, API secret, dan webhook secret.
2
Top-up saldoSaldo prepaid. Setiap order memotong saldo sesuai harga partner Anda. Order gagal otomatis di-refund.
3
Submit orderPOST dokumen ke API, langsung dapat kode order dan sisa saldo. Proses berjalan otomatis.
4
Terima hasilWebhook atau polling status memberi tahu saat selesai. Download PDF laporan langsung dari API.

Pantau saldo, riwayat, dan pengaturan akun di dashboard partner.

Endpoint

Base URL: https://submitin.id/api/v1. Semua respons JSON, kecuali download PDF.

MethodPathFungsi
GET/meInfo akun (saldo, layanan, rate limit)
GET/balanceSaldo saat ini
GET/pricingHarga per layanan
POST/count-wordsHitung kata/karakter + estimasi harga (gratis, tanpa charge)
POST/ordersSubmit order (multipart: service, file, opsional external_id)
GET/orders/{order_code}Status order
GET/orders/by-external/{external_id}Status via ID Anda
GET/orders/{order_code}/reportDownload PDF (?file=0, DrillBit AI: &report=ai)

Autentikasi (HMAC)

Setiap request wajib membawa 3 header. Signature memakai HMAC-SHA256 dengan API secret Anda:

X-Api-Key: pk_live_xxxx X-Timestamp: 1760000000 (unix detik, toleransi 5 menit) X-Signature: hex( HMAC_SHA256( timestamp + "\n" + METHOD + "\n" + PATH, api_secret ) )

Contoh PHP membuat signature:

$ts = (string) time(); $path = '/api/v1/orders'; // path saja, tanpa query string $sig = hash_hmac('sha256', $ts . "\n" . 'POST' . "\n" . $path, $apiSecret);

Contoh submit order

curl -X POST 'https://submitin.id/api/v1/orders' \ -H "X-Api-Key: $API_KEY" \ -H "X-Timestamp: $TS" \ -H "X-Signature: $SIG" \ -F 'service=plagiarism' \ -F 'external_id=INV-12345' \ -F 'exclude_bibliography=1' \ -F 'exclude_quotes=1' \ -F 'file=@skripsi.docx'

Respons 201:

{ "ok": true, "order": { "order_code": "SC-XXXXXXXX", "status": "processing", ... }, "charged": 5000, "balance": 495000 }

Webhook

Jika Anda memasang webhook URL, kami POST JSON saat order selesai (order.done) atau gagal (order.failed, saldo sudah di-refund otomatis). Verifikasi signature-nya:

// Header: X-Timestamp, X-Signature, X-Submitin-Event $expected = hash_hmac('sha256', $timestamp . '.' . $rawBody, $webhookSecret); if (!hash_equals($expected, $signature)) { http_response_code(401); exit; }

Balas HTTP 2xx. Kalau gagal, kami retry otomatis dengan backoff sampai 8 kali (1 menit sampai 12 jam). Tanpa webhook juga bisa: cukup polling GET /orders/{order_code}.

Ketentuan partner