ARNPROXY

Kutipan harga pesanan

POST/account/api/v1/quote

Otorisasi

AuthorizationBearer YOUR_ARNPROXY_API_KEY
Izin yang diperlukanread
Acceptapplication/json
Content-Typeapplication/json

Parameter

NamaTipeKeterangan
product_id
bodyWajib
integerID produk dari products; 1–2147483647.
lines
bodyWajib
object[]1–20 baris lokasi berbeda untuk satu produk. location_id tidak boleh ganda; total maksimal 100000 proxy.
lines[].location_id
bodyWajib
integerID lokasi dari katalog produk terpilih.
lines[].time_id
bodyWajib
integerID periode yang ditawarkan untuk lokasi tersebut.
lines[].quantity
bodyWajib
integer1–100000; juga tunduk pada product.minimum_quantity.
promo_code
bodyOpsional
stringPromo opsional, maksimal 100 byte. Pertahankan sama antara harga dan pembelian/perpanjangan.
Nilai bawaan: ""

Isi permintaan

Ganti YOUR_/FROM_ dengan nilai katalog, kutipan harga, atau cakupan terkait. Persetujuan pada contoh tetap false; setujui operasi nyata secara sengaja.

request.json
{
    "product_id": "FROM_PRODUCTS",
    "lines": [
        {
            "location_id": "FROM_CATALOG",
            "time_id": "FROM_CATALOG",
            "quantity": 1
        }
    ],
    "promo_code": ""
}

Contoh penggunaan tambahan

ID dan harga hanya contoh; gunakan nilai nyata dari katalog dan penawaran yang sama. ID JSON dan expected_total_minor harus berupa angka. Contoh sengaja memakai terms=false; kirim terms=true hanya setelah persetujuan jelas pelanggan untuk operasi berbayar.

Satu jenis produk, dua negara

Baris quote tidak memerlukan tujuan: cukup location_id, time_id, dan quantity. Tujuan wajib dikirim pada tahap purchase.

application/json
{
    "product_id": 5,
    "lines": [
        {
            "location_id": 10,
            "time_id": 101,
            "quantity": 1
        },
        {
            "location_id": 11,
            "time_id": 102,
            "quantity": 1
        }
    ],
    "promo_code": ""
}

Contoh permintaan

cURL
printf 'Authorization: Bearer %s\n' "$ARNPROXY_API_KEY" |
  curl --silent --show-error --header @- \
    --header 'Accept: application/json' \
    --connect-timeout 10 --max-time 30 \
    --request POST --header 'Content-Type: application/json' \
    --data-binary @request.json \
    'https://www.arnproxy.com/account/api/v1/quote'

Contoh tidak dijalankan di halaman ini. Simpan kunci API dalam variabel lingkungan server, bukan URL atau kode browser. Siapkan request.json untuk contoh POST.

Respons

200Respons berhasil
application/json
{
    "ok": true,
    "data": {
        "product": {
            "id": 5,
            "name": "IPv4 Proxy",
            "minimum_quantity": 1
        },
        "currency": "TRY",
        "quantity": 1,
        "base_total": "10.00",
        "quantity_discount_amount": "0.00",
        "subtotal": "10.00",
        "promotion": {
            "code": "",
            "rate": "0.00",
            "amount": "0.00"
        },
        "total": "10.00",
        "total_minor": 1000,
        "lines": [
            {
                "location_id": 10,
                "country": "Example country",
                "time_id": 101,
                "period": "7 days",
                "days": 7,
                "quantity": 1,
                "base_unit_price": "10.0000",
                "quantity_discount_rate": "0.00",
                "unit_price": "10.0000",
                "base_total": "10.00",
                "subtotal": "10.00",
                "promotion_amount": "0.00",
                "total": "10.00",
                "total_minor": 1000
            }
        ],
        "discount_scope": "country",
        "estimate_only": true,
        "stock_checked": false,
        "purchase_available": false,
        "calculated_at": "2030-01-01T12:00:00+00:00"
    },
    "meta": {
        "request_id": "000000000000000000000001",
        "phase": "public_v1",
        "source": "arnproxy_records"
    }
}
Kolom dan tipe respons
NamaTipeKeterangan
okbooleanPenanda berhasil; jika false, periksa error.code.
dataobjectHasil khusus operasi; contoh bersifat ilustratif dan sintetis.
data.productobjectNilai khusus operasi untuk product. Pertahankan tipe yang dikembalikan dan baca catatan perilaku.
data.product.idintegerID catatan ARNPROXY terkait; gunakan alih-alih ID internal penyedia.
data.product.namestringNilai khusus operasi untuk name. Pertahankan tipe yang dikembalikan dan baca catatan perilaku.
data.product.minimum_quantityintegerJumlah minimum per baris pesanan produk ini.
data.currencystringMata uang transaksi akun: TRY atau USD.
data.quantityintegerJumlah proxy terpilih atau dipesan.
data.base_totalstringNominal uang; pertahankan representasi string/integer untuk presisi.
data.quantity_discount_amountstringNilai khusus operasi untuk quantity discount amount. Pertahankan tipe yang dikembalikan dan baca catatan perilaku.
data.subtotalstringNominal uang; pertahankan representasi string/integer untuk presisi.
data.promotionobjectNilai khusus operasi untuk promotion. Pertahankan tipe yang dikembalikan dan baca catatan perilaku.
data.promotion.codestringNilai khusus operasi untuk code. Pertahankan tipe yang dikembalikan dan baca catatan perilaku.
data.promotion.ratestringNilai khusus operasi untuk rate. Pertahankan tipe yang dikembalikan dan baca catatan perilaku.
data.promotion.amountstringNominal uang; pertahankan representasi string/integer untuk presisi.
data.totalstringNominal uang; pertahankan representasi string/integer untuk presisi.
data.total_minorintegerInteger satuan uang terkecil: 1000 berarti 10.00 TRY/USD.
data.linesarrayNilai khusus operasi untuk lines. Pertahankan tipe yang dikembalikan dan baca catatan perilaku.
data.lines[]objectNilai khusus operasi untuk lines. Pertahankan tipe yang dikembalikan dan baca catatan perilaku.
data.lines[].location_idintegerID lokasi atau tipe produk katalog lokal.
data.lines[].countrystringNilai khusus operasi untuk country. Pertahankan tipe yang dikembalikan dan baca catatan perilaku.
data.lines[].time_idintegerID periode/paket GB lokal, bukan jumlah hari atau GB.
data.lines[].periodstringNama periode katalog yang mudah dibaca.
data.lines[].daysintegerDurasi paket dalam hari, terpisah dari jumlah trafik paket GB.
data.lines[].quantityintegerJumlah proxy terpilih atau dipesan.
data.lines[].base_unit_pricestringNilai khusus operasi untuk base unit price. Pertahankan tipe yang dikembalikan dan baca catatan perilaku.
data.lines[].quantity_discount_ratestringNilai khusus operasi untuk quantity discount rate. Pertahankan tipe yang dikembalikan dan baca catatan perilaku.
data.lines[].unit_pricestringNilai khusus operasi untuk unit price. Pertahankan tipe yang dikembalikan dan baca catatan perilaku.
data.lines[].base_totalstringNominal uang; pertahankan representasi string/integer untuk presisi.
data.lines[].subtotalstringNominal uang; pertahankan representasi string/integer untuk presisi.
data.lines[].promotion_amountstringNilai khusus operasi untuk promotion amount. Pertahankan tipe yang dikembalikan dan baca catatan perilaku.
data.lines[].totalstringNominal uang; pertahankan representasi string/integer untuk presisi.
data.lines[].total_minorintegerInteger satuan uang terkecil: 1000 berarti 10.00 TRY/USD.
data.discount_scopestringNilai khusus operasi untuk discount scope. Pertahankan tipe yang dikembalikan dan baca catatan perilaku.
data.estimate_onlybooleanNilai khusus operasi untuk estimate only. Pertahankan tipe yang dikembalikan dan baca catatan perilaku.
data.stock_checkedbooleanHarga/hasil lokal sendiri bukan jaminan penyedia atau stok.
data.purchase_availablebooleanKetersediaan sesuai syarat/izin, bukan jaminan stok atau penyedia.
data.calculated_atstringStempel waktu sesuai representasi API; tanggal contoh sintetis.
metaobjectMetadata korelasi permintaan dan sumber data.
meta.request_idstringID korelasi permintaan HTTP ini, bukan kunci operasi atau ID pesanan.
meta.phasestringNilai khusus operasi untuk phase. Pertahankan tipe yang dikembalikan dan baca catatan perilaku.
meta.sourcestringSumber data; catatan lokal dan kueri penyedia langsung merupakan bukti berbeda.

Respons kesalahan

HTTP 401 · INVALID_API_KEY
{
  "ok": false,
  "error": { "code": "INVALID_API_KEY" },
  "meta": { "request_id": "000000000000000000000001" }
}

Autentikasi dan validasi dapat menolak permintaan sebelum dijalankan. Lihat referensi kesalahan dan simpan request_id untuk dukungan. Jangan kirim kunci atau kata sandi. Kesalahan & batas →

Perilaku & catatan penting

  • Ambil ID dari products/catalog. Baris quote hanya location_id, time_id, quantity. Baris purchase juga wajib purpose_id=201 dan subpurpose_id terpilih.
  • Baris quote tidak memerlukan tujuan: cukup location_id, time_id, dan quantity. Tujuan wajib dikirim pada tahap purchase.
  • Gunakan maksimal 20 location_id berbeda dalam satu product_id. Setiap negara menjadi pesanan terpisah; checkout yang terhubung diproses dalam satu faktur. Diskon jumlah dihitung terpisah per negara.

Cari dalam bahasa saat ini. Tutup dengan Esc