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

# Panduan Pengembangan

> Integrasikan API ke dalam aplikasi Anda

# Panduan Pengembangan

Panduan ini membantu Anda mengintegrasikan layanan API kami ke dalam aplikasi Anda.

## Pemrosesan Asinkron

API kami menggunakan model pemrosesan asinkron:

1. Kirim tugas: kirim request pembuatan dan terima ID tugas
2. Poll status: periksa status tugas secara berkala
3. Ambil hasil: ambil hasil pembuatan ketika tugas selesai

### Contoh polling

```python theme={null}
import time
import requests

def wait_for_completion(api_key, task_id, max_wait=300):
    """Poll the task until it completes"""
    url = f"https://api.apimart.ai/v1/tasks/{task_id}"
    headers = {"Authorization": f"Bearer {api_key}"}
    start_time = time.time()

    while time.time() - start_time < max_wait:
        data = requests.get(url, headers=headers).json()["data"]
        status = data["status"]

        if status == "completed":
            return data["result"]
        elif status in ("failed", "cancelled"):
            raise Exception(f"Task {status}: {data.get('error')}")

        time.sleep(2)  # wait 2 seconds before polling again

    raise Exception("Task timeout")
```

## Penanganan Error

### Error umum

| Status | Deskripsi                     | Solusi                               |
| ------ | ----------------------------- | ------------------------------------ |
| 400    | Parameter request tidak valid | Periksa parameter dan format request |
| 401    | Autentikasi gagal             | Verifikasi API key Anda              |
| 402    | Saldo tidak mencukupi         | Isi ulang saldo akun Anda            |
| 429    | Rate limit terlampaui         | Kurangi frekuensi request            |
| 500    | Error server                  | Coba lagi nanti                      |

### Contoh

```python theme={null}
import requests

response = requests.post(
    "https://api.apimart.ai/v1/images/generations",
    headers={"Authorization": f"Bearer {api_key}"},
    json={"model": "gpt-4o-image", "prompt": "a cute panda"},
)

if response.status_code != 200:
    error = response.json().get("error", {})
    if response.status_code == 401:
        print("Invalid API key")
    elif response.status_code == 402:
        print("Insufficient account balance")
    else:
        print(f"Error: {error.get('message')}")
```

## Praktik Terbaik

1. Caching: tautan gambar/video yang dihasilkan berlaku selama 24 jam
2. Retry: gunakan exponential backoff untuk error sementara
3. Pemantauan: periksa penggunaan API dan kuota secara berkala
4. Keamanan: jaga API key Anda tetap aman

## Dukungan

Jika Anda mengalami masalah selama pengembangan, Anda dapat memperoleh bantuan melalui:

* Email: [zhihong@apimart.ai](mailto:zhihong@apimart.ai)
* Live chat: kunjungi situs web kami
* Docs: telusuri dokumentasi API lengkap
