> ## Documentation Index
> Fetch the complete documentation index at: https://api.sosmednext.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create Order

> Melakukan pemesanan layanan dan sistem akan memotong saldo dari akun Anda otomatis.

Gunakan Endpoint ini ketika pelanggan pada Panel/Platform Anda menekan tombol "Buat Pesanan Baru".
Sistem kami di *backend* akan secara cerdas memvalidasi id layanan, mengecek batasan server *minimal rate* dan *maksimal order*, serta akan memotong saldo Anda secara otomatis sesuai harga API terbaik yang ditawarkan.

## Body Parameters (JSON)

Endpoint ini membutuhkan tipe metode POST. Anda juga wajib memastikan *Request Header* Anda memuat properti spesifik yakni `Content-Type: application/json`.

<ParamField body="service" type="integer atau string" required>
  ID Layanan yang ingin dipotong/dipesan (ID layanan ini Anda sinkronisasikan atau dapatkan dari respons endpoint GET `/api/v1/services`).
</ParamField>

<ParamField body="link" type="string" required>
  Target / URL / Destinasi pesanan pelanggan Anda (misalnya: `@username` Instagram, URL Link postingan TikTok videonya secara penuh, dll).
</ParamField>

<ParamField body="quantity" type="integer" required>
  Jumlah besaran pesanan yang Anda butuhkan (Harap cek, jumlah angka ini harus berada di dalam batas rentang `min` dan `max` dari informasi detail layanannya terkait).
</ParamField>

## Contoh Implementasi Request

### Contoh Data Payload JSON

```json Format Body Type JSON theme={null}
{
  "service": 12,
  "link": "https://instagram.com/user_client_1",
  "quantity": 1000
}
```

```bash Request Terminal (cURL) theme={null}
curl -X POST \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"service":12, "link":"https://instagram.com/user_client_1","quantity":1000}' \
  "https://app.sosmednext.com/api/v1/order"
```

## Hasil Response Data Format

Jika validasi lolos dan sukses, saldo Anda akan terpotong secara otomatis oleh *mutasi debit*.

> **DOKUMENTASI PENTING:** Anda wajib menangkap (parsing) hasil properti `order` (ID transaksi internal API layanan kami) dan menyimpannya pada MySQL/database sisi Anda! Karena properti ID ini esensial - akan Anda perlukan untuk melakukan pelacakan sinkronisasi di masa mendatang melalui endpoint `Check Status`!

```json Response Operasional Sukses (200 OK) theme={null}
{
  "order": 9210,
  "invoice": "API1024322",
  "service": 12,
  "link": "https://instagram.com/user_client_1",
  "quantity": 1000,
  "charge": 15000.0,
  "status": "pending",
  "currency": "IDR",
  "remains": 135000.0
}
```

### Penjelasan Komplit Field Payload:

| Field      | Tipe Data | Keterangan Fundamental                                                                                                                                                                             |
| :--------- | :-------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `order`    | Integer   | **SUPER PENTING!** Simpan tangkapan ID ini di tabel dalam database sistem/panel Anda, hal ini adalah *ID Pesanan Provider* unik yang Anda perlukan untuk mengecek Check Status kronologis pesanan. |
| `invoice`  | String    | Nomor unik referensi/invoice pelacakan internal di billing Provider.                                                                                                                               |
| `service`  | Integer   | Referensi ID layanan pada provider yang dicantumkan dan berhasil tereksekusi potong dari server.                                                                                                   |
| `link`     | String    | Target dari pesanan awal.                                                                                                                                                                          |
| `quantity` | Integer   | Angka jumlah volume pesanan dikonfirmasi.                                                                                                                                                          |
| `charge`   | Number    | Biaya utuh yang *sudah resmi dikenakan/dipotong* dari balance Anda.                                                                                                                                |
| `status`   | String    | Status tahap pesanan saat baru dibuat (pada umumnya akan bertuliskan *`pending`* pada proses inisiasi).                                                                                            |
| `remains`  | Number    | Mutasi saldo: Sisa *balance* dana API final Anda setelah order ini selesai masuk tercatat tagihannya.                                                                                              |

### Pemecahan Masalah (Troubleshooting / Pesan Error Jika Order Gagal)

```json Response Saldo Anda Cekak (400 Bad Request) theme={null}
{
  "error": "Insufficient balance. Required: 8500.00, Available: 5000.00"
}
```

```json Response Melebihi Batas Min/Max Limit Order (400 Bad Request) theme={null}
{
  "error": "Quantity must be between 100 and 50000"
}
```
