ARNPROXY

Sitedeki teslimat kuyruğuna bakiyeli Residential siparişi

POST/account/api/v1/residential/orders/create
İşlemi bilinçli olarak onaylayın

Bu işlem kayıt, bakiye veya hizmet ayarını değiştirebilir. Önce kapsamı ve notları okuyun. Sonuç belirsizse yeni işlem başlatmak yerine aynı işlemi sorgulayın.

Yetkilendirme

AuthorizationBearer YOUR_ARNPROXY_API_KEY
Gerekli izinpurchases
Acceptapplication/json
Content-Typeapplication/json
Idempotency-Key16–100 harf, rakam, _ veya -. Aynı işlem için değeri saklayıp tekrar kullanın.

Parametreler

AdTürAçıklama
Idempotency-Key
headerZorunlu
string16–100 harf/rakam/_/-. Aynı işlem ve durum sorgusunda aynı değer; farklı gövdeyle yeniden kullanmayın.
mode
bodyZorunlu
stringnew: yeni paket; topup: kendi mevcut paketine GB ekleme.
time_id
bodyZorunlu
integerİlgili katalog/options yanıtındaki süre veya GB planı ID’si; doğrudan gün/GB sayısı değildir.
location_id
bodyKoşula bağlı
integerYalnız mode=new için zorunlu; topup ile gönderilmez.
package_id
bodyKoşula bağlı
integerYalnız mode=topup için zorunlu; new ile gönderilmez.
promo_code
bodyİsteğe bağlı
stringİsteğe bağlı promosyon; en fazla 100 bayt. Fiyat ve satın alma/uzatma isteğinde aynı değeri koruyun.
Varsayılan: ""
currency
bodyZorunlu
stringAynı fiyat yanıtındaki TRY veya USD. Hesabın para birimiyle eşleşmeli.
expected_total_minor
bodyZorunlu
integerAynı fiyat yanıtındaki total_minor; küsuratlı tutar veya metin göndermeyin. En az 1.
expected_selection_hash
bodyZorunlu
stringAynı fiyat yanıtındaki selection_hash; 64 küçük harfli onaltılık karakter.
terms
bodyZorunlu
booleanGerçek işlem onayı için tam olarak true; "true" metni kabul edilmez.

İstek gövdesi

YOUR_/FROM_ alanlarını ilgili katalog, fiyat veya kapsam değerleriyle değiştirin. Örneklerde onay false bırakılır; gerçek işlemi yalnız bilinçli olarak onaylayın.

request.json
{
    "mode": "topup",
    "package_id": "YOUR_PACKAGE_ID",
    "time_id": "FROM_RESIDENTIAL_CATALOG",
    "promo_code": "",
    "currency": "FROM_QUOTE",
    "expected_total_minor": "FROM_QUOTE_TOTAL_MINOR",
    "expected_selection_hash": "FROM_QUOTE_SELECTION_HASH",
    "terms": false
}

Ek kullanım örnekleri

Kimlik ve fiyatlar temsilidir; gerçek değerleri katalog ve aynı fiyat yanıtından alın. JSON kimlikleri ve expected_total_minor sayısal olmalıdır. Güvenlik için örneklerde terms=false bırakılmıştır; gerçek ücretli işlem ancak açık müşteri onayıyla terms=true gönderildiğinde başlatılmalıdır.

Residential: yeni paket ve GB ekleme farkı · mode=new

Residential siparişlerinde müşteri kullanım amacı seçmez. Yeni pakette kullanım amacı, web sitesindeki siparişle aynı sabit değerle sunucuda otomatik atanır; purpose_id, subpurpose_id veya other_purpose göndermeniz gerekmez. GB ekleme mevcut paketin kullanım amacını korur.

application/json
{
    "mode": "new",
    "location_id": 20,
    "time_id": 201,
    "promo_code": "",
    "currency": "TRY",
    "expected_total_minor": 1000,
    "expected_selection_hash": "0000000000000000000000000000000000000000000000000000000000000000",
    "terms": false
}

Residential: yeni paket ve GB ekleme farkı · mode=topup

Residential siparişlerinde müşteri kullanım amacı seçmez. Yeni pakette kullanım amacı, web sitesindeki siparişle aynı sabit değerle sunucuda otomatik atanır; purpose_id, subpurpose_id veya other_purpose göndermeniz gerekmez. GB ekleme mevcut paketin kullanım amacını korur.

application/json
{
    "mode": "topup",
    "package_id": 10001,
    "time_id": 201,
    "promo_code": "",
    "currency": "TRY",
    "expected_total_minor": 1000,
    "expected_selection_hash": "0000000000000000000000000000000000000000000000000000000000000000",
    "terms": false
}

İstek örneği

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

Örnekler bu sayfada çalıştırılmaz. API anahtarını sunucu ortam değişkeninde tutun; gerçek anahtarı URL veya tarayıcı koduna yazmayın. POST örnekleri için request.json hazırlayın.

Yanıtlar

201Başarılı yanıt
application/json
{
    "ok": true,
    "data": {
        "state": "accepted",
        "mode": "topup",
        "delivery_state_at_acceptance": "queued",
        "currency": "TRY",
        "total": "15.00",
        "total_minor": 1500,
        "gb": 1,
        "days": 30,
        "target_package_id": 20001,
        "order": {
            "id": 20002,
            "number": "1000020002",
            "location_id": 20,
            "time_id": 201,
            "last_service_date": "2030-02-01"
        },
        "accepted_at": "2030-01-01T12:00:00+00:00",
        "automatic_renewal": false,
        "source": "existing_website_residential_delivery",
        "replayed": false
    },
    "meta": {
        "request_id": "000000000000000000000001",
        "phase": "public_v1",
        "source": "arnproxy_records"
    }
}
Yanıt alanları ve türleri
AdTürAçıklama
okbooleanBaşarılı istek zarfı; false ise error.code alanını okuyun.
dataobjectİşleme özel sonuç. Örnekler temsili ve sentetiktir.
data.statestringBu kaydın/işlemin durumu. accepted teslimat, completed bağlantı testi anlamına gelmez.
data.modestringmode alanının işleme özel değeri; örnekteki türü ve ilgili davranış notlarını esas alın.
data.delivery_state_at_acceptancestringdelivery state at acceptance alanının işleme özel değeri; örnekteki türü ve ilgili davranış notlarını esas alın.
data.currencystringHesabın işlem para birimi: TRY veya USD.
data.totalstringPara tutarı; hassasiyet için yanıtın metin/tam sayı türünü koruyun.
data.total_minorintegerEn küçük para biriminde tam sayı: 1000 = 10.00 TRY/USD.
data.gbintegerTrafik miktarı; liste/ayar işlemleri kota satın almaz.
data.daysintegerKatalogdaki planın gün sayısı; GB planında kota miktarından ayrıdır.
data.target_package_idintegertarget package id alanının işleme özel değeri; örnekteki türü ve ilgili davranış notlarını esas alın.
data.orderobjectorder alanının işleme özel değeri; örnekteki türü ve ilgili davranış notlarını esas alın.
data.order.idintegerİlgili ARNPROXY kayıt kimliği. Sağlayıcının iç kimliği yerine bunu kullanın.
data.order.numberstringGörünen sipariş numarası; API’de id isteyen alanlarla karıştırmayın.
data.order.location_idintegerYerel katalogdaki lokasyon veya ürün türü kimliği.
data.order.time_idintegerSüre/GB planının yerel kayıt kimliği; gün veya GB sayısı değildir.
data.order.last_service_datestringSon hizmet günü; mevcut, önceki veya fiyatın öngördüğü tarih. Öngörü tek başına uzatma yapmaz.
data.accepted_atstringKodun döndürdüğü zaman değeri; örnekte sentetik tarih kullanılır.
data.automatic_renewalbooleanautomatic renewal alanının işleme özel değeri; örnekteki türü ve ilgili davranış notlarını esas alın.
data.sourcestringBu alanın veri kaynağı; yerel kayıt ile canlı sağlayıcı okuması aynı şey değildir.
data.replayedbooleanAynı işlem kimliğinin kayıtlı sonucu döndü; tek başına yeni ücret/işlem anlamına gelmez.
metaobjectİstek izleme ve veri kaynağı bilgileri.
meta.request_idstringBu HTTP isteğinin kimliği; işlem anahtarı veya sipariş ID’si değildir.
meta.phasestringphase alanının işleme özel değeri; örnekteki türü ve ilgili davranış notlarını esas alın.
meta.sourcestringBu alanın veri kaynağı; yerel kayıt ile canlı sağlayıcı okuması aynı şey değildir.

Hata yanıtı

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

Kimlik doğrulama ve alan denetimleri işlemi başlamadan reddedebilir. Hata rehberini inceleyin; destek için request_id saklayın. Anahtar veya şifre göndermeyin. Hatalar ve limitler →

Davranış ve önemli notlar

  • Paket ve liste kimlikleri ARNPROXY kayıt ID’leridir; sağlayıcının paket anahtarını veya liste ID’sini göndermeyin. Eski paket gözlemi erişim için yeterli değildir; gerekirse residential_package_refresh kullanın.
  • mode=new yeni paket, mode=topup mevcut pakete GB eklemedir. Önce residential_catalog/quote ile fiyatı kontrol edin. Bakiye kabulü ile arka plan teslimatı ayrıdır; aynı işlem anahtarıyla takip edin.
  • Yazma sonucunda zaman aşımı/5xx, başarısızlık kanıtı değildir. Aynı Idempotency-Key ile durum sorgusunu kullanın. Yeni anahtarla tekrar başlatmayın; GET değişikliği tekrar göndermez.
  • Residential siparişlerinde müşteri kullanım amacı seçmez. Yeni pakette kullanım amacı, web sitesindeki siparişle aynı sabit değerle sunucuda otomatik atanır; purpose_id, subpurpose_id veya other_purpose göndermeniz gerekmez. GB ekleme mevcut paketin kullanım amacını korur.
  • Eski entegrasyonlarla uyumluluk için mode=new ile gönderilen geçerli subpurpose_id/other_purpose alanları kabul edilebilir, ancak yeni siparişin otomatik kullanım amacını değiştirmez. Yeni entegrasyonlar bu alanları göndermemelidir. mode=topup ile bu alanlar desteklenmez. Önceden kabul edilmiş işlemler aynı Idempotency-Key ve aynı istekle sorgulanabilir; yeni anahtarla tekrar sipariş vermeyin.
  • Otomatik kullanım amacı yapılandırması uygun değilse RESIDENTIAL_DEFAULT_PURPOSE_UNAVAILABLE (HTTP 503) döner; sipariş oluşturulmaz ve bakiye kesilmez. Bu durumda yönetici yapılandırmayı kontrol etmelidir.
Aynı işlemi takip edinKaydedilmiş ödeme ve güncel Residential teslimat durumu →

Geçerli dilde arar. Kapatmak için Esc