Version 1.0.0
H2H

Documentation API odzreshop

Selamat datang di dokumentasi integrasi API odzreshop. Panduan ini akan membantu Anda memahami cara mengintegrasikan layanan kami dengan mudah dan efisien.


Getting Started

Untuk memulai integrasi, tersedia satu metode yaitu melalui API menggunakan metode POST. Anda akan membutuhkan API Key serta IP Whitelist untuk dapat mengakses layanan ini.

Authorization

- API Key otomatis dibuat saat registrasi. Lihat di Dashboard → Account Settings.

- IP Whitelist wajib diisi di Dashboard → Account Settings sebelum bisa mengakses API.

- Kirim api_key di setiap Request Body.


API

Endpoint
/api/v1/profile
Headers
Content-Type: application/json
Request Body
{
    "api_key": "your-api-key"
}
Request
curl -X POST "https://noetopup.com/api/v1/profile" \
  -H "Content-Type: application/json" \
  -d '{"api_key": "your-api-key"}'
Response (200)
{
    "success": true,
    "message": "Profile retrieved successfully",
    "data": {
        "name": "John Doe",
        "email": "john@example.com",
        "username": "johndoe",
        "tier": "gold",
        "balance": 500000
    }
}
Endpoint
/api/v1/services
Headers
Content-Type: application/json
Request Body
{
    "api_key": "your-api-key",
    "slug": "mobile-legends"  // required, slug kategori
}
Request
curl -X POST "https://noetopup.com/api/v1/services" \
  -H "Content-Type: application/json" \
  -d '{"api_key": "your-api-key", "slug": "mobile-legends"}'
Response (200)
{
    "success": true,
    "message": "Services retrieved successfully",
    "data": [
        {
            "sku": "ml-86",
            "name": "Mobile Legends 86 Diamonds",
            "category": "Mobile Legends",
            "brand": "MOBILELEGEND",
            "price": 18500,
            "price_formatted": "Rp 18.500",
            "status": "active"
        }
    ]
}
Endpoint
/api/v1/order
Headers
Content-Type: application/json
Request Body
{
    "api_key": "your-api-key",
    "sku": "string",     // required
    "target": "string",  // required
    "ref_id": "string"   // optional
}
Request
curl -X POST "https://noetopup.com/api/v1/order" \
  -H "Content-Type: application/json" \
  -d '{"api_key": "your-api-key", "sku": "ml-86", "target": "123456789"}'
Response (200)
{
    "success": true,
    "message": "Order processed successfully",
    "data": {
        "invoice": "INV-A1B2C3D4-1708300000",
        "ref_id": "myref-001",
        "sku": "ml-86",
        "product_name": "Mobile Legends 86 Diamonds",
        "target": "123456789",
        "price": 18500,
        "status": "pending",
        "sn": null,
        "message": "Transaksi sedang diproses",
        "balance_before": 500000,
        "balance_after": 481500
    }
}
Endpoint
/api/v1/status
Headers
Content-Type: application/json
Request Body
{
    "api_key": "your-api-key",
    "invoice": "string"  // required
}
Request
curl -X POST "https://noetopup.com/api/v1/status" \
  -H "Content-Type: application/json" \
  -d '{"api_key": "your-api-key", "invoice": "INV-xxxx"}'
Response (200)
{
    "success": true,
    "message": "Transaction found",
    "data": {
        "invoice": "INV-A1B2C3D4-1708300000",
        "sku": "ml-86",
        "product_name": "Mobile Legends 86 Diamonds",
        "target": "123456789",
        "price": 18500,
        "status": "success",
        "sn": "SN123456789",
        "message": "Transaksi berhasil",
        "created_at": "2026-02-19T15:00:00+07:00",
        "updated_at": "2026-02-19T15:00:05+07:00"
    }
}
Code Message
400 Insufficient balance / Missing fields
401 API key is required / Invalid API key
403 IP whitelist is required / Unknown IP
404 Category not found / Transaction not found
405 Method not supported
429 Too Many Requests
503 Vendor balance depleted
Customer Service