ARNPROXY

Bestellpreis berechnen

POST/account/api/v1/quote

Autorisierung

AuthorizationBearer YOUR_ARNPROXY_API_KEY
Erforderliche Berechtigungread
Acceptapplication/json
Content-Typeapplication/json

Parameter

NameTypBeschreibung
product_id
bodyErforderlich
integerProdukt-ID aus products; 1–2147483647.
lines
bodyErforderlich
object[]1–20 verschiedene Standortzeilen für ein Produkt. location_id nicht doppeln; insgesamt höchstens 100000 Proxys.
lines[].location_id
bodyErforderlich
integerStandort-ID aus dem gewählten Produktkatalog.
lines[].time_id
bodyErforderlich
integerFür diesen Standort angebotene Laufzeit-ID.
lines[].quantity
bodyErforderlich
integer1–100000; zusätzlich gilt product.minimum_quantity.
promo_code
bodyOptional
stringOptionaler Aktionscode, höchstens 100 Bytes. Zwischen Preisabfrage und Kauf/Verlängerung unverändert lassen.
Standardwert: ""

Anfrageinhalt

Ersetzen Sie YOUR_/FROM_ durch Werte aus Katalog, Angebot oder Umfang. Beispiele lassen die Zustimmung auf false; bestätigen Sie echte Vorgänge nur bewusst.

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

Weitere Anwendungsbeispiele

IDs und Preise sind beispielhaft; verwenden Sie echte Werte aus dem Katalog und demselben Angebot. JSON-IDs und expected_total_minor müssen Zahlen sein. Beispiele verwenden bewusst terms=false. Senden Sie terms=true nur nach ausdrücklicher Zustimmung zur kostenpflichtigen Aktion.

Ein Produkttyp, zwei Länder

Für quote enthalten die Positionen keinen Verwendungszweck: location_id, time_id und quantity reichen aus. Die Zweckfelder sind bei purchase erforderlich.

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

Anfragebeispiel

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'

Beispiele werden hier nicht ausgeführt. Speichern Sie den API-Schlüssel in einer serverseitigen Umgebungsvariablen, nie in URLs oder Browsercode. Bereiten Sie request.json für POST vor.

Antworten

200Erfolgsantwort
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"
    }
}
Antwortfelder und Typen
NameTypBeschreibung
okbooleanErfolgskennzeichen; bei false error.code prüfen.
dataobjectVorgangsspezifisches Ergebnis; Beispiele sind synthetisch und dienen der Veranschaulichung.
data.productobjectVorgangsspezifischer Wert für product. Rückgabetyp beibehalten und Verhaltenshinweise beachten.
data.product.idintegerZugehörige ARNPROXY-Datensatz-ID statt interner Anbieter-ID verwenden.
data.product.namestringVorgangsspezifischer Wert für name. Rückgabetyp beibehalten und Verhaltenshinweise beachten.
data.product.minimum_quantityintegerMindestmenge je Bestellzeile dieses Produkts.
data.currencystringKontowährung der Transaktion: TRY oder USD.
data.quantityintegerGewählte oder bestellte Proxyanzahl.
data.base_totalstringGeldbetrag; Text-/Ganzzahldarstellung für Genauigkeit beibehalten.
data.quantity_discount_amountstringVorgangsspezifischer Wert für quantity discount amount. Rückgabetyp beibehalten und Verhaltenshinweise beachten.
data.subtotalstringGeldbetrag; Text-/Ganzzahldarstellung für Genauigkeit beibehalten.
data.promotionobjectVorgangsspezifischer Wert für promotion. Rückgabetyp beibehalten und Verhaltenshinweise beachten.
data.promotion.codestringVorgangsspezifischer Wert für code. Rückgabetyp beibehalten und Verhaltenshinweise beachten.
data.promotion.ratestringVorgangsspezifischer Wert für rate. Rückgabetyp beibehalten und Verhaltenshinweise beachten.
data.promotion.amountstringGeldbetrag; Text-/Ganzzahldarstellung für Genauigkeit beibehalten.
data.totalstringGeldbetrag; Text-/Ganzzahldarstellung für Genauigkeit beibehalten.
data.total_minorintegerGanzzahl in kleinster Währungseinheit: 1000 bedeutet 10.00 TRY/USD.
data.linesarrayVorgangsspezifischer Wert für lines. Rückgabetyp beibehalten und Verhaltenshinweise beachten.
data.lines[]objectVorgangsspezifischer Wert für lines. Rückgabetyp beibehalten und Verhaltenshinweise beachten.
data.lines[].location_idintegerLokale Katalog-ID für Standort oder Produkttyp.
data.lines[].countrystringVorgangsspezifischer Wert für country. Rückgabetyp beibehalten und Verhaltenshinweise beachten.
data.lines[].time_idintegerLokale Laufzeit-/GB-Plan-ID, keine Anzahl von Tagen oder GB.
data.lines[].periodstringLesbare Laufzeitbezeichnung aus dem Katalog.
data.lines[].daysintegerLaufzeit in Tagen, getrennt vom Trafficvolumen des GB-Plans.
data.lines[].quantityintegerGewählte oder bestellte Proxyanzahl.
data.lines[].base_unit_pricestringVorgangsspezifischer Wert für base unit price. Rückgabetyp beibehalten und Verhaltenshinweise beachten.
data.lines[].quantity_discount_ratestringVorgangsspezifischer Wert für quantity discount rate. Rückgabetyp beibehalten und Verhaltenshinweise beachten.
data.lines[].unit_pricestringVorgangsspezifischer Wert für unit price. Rückgabetyp beibehalten und Verhaltenshinweise beachten.
data.lines[].base_totalstringGeldbetrag; Text-/Ganzzahldarstellung für Genauigkeit beibehalten.
data.lines[].subtotalstringGeldbetrag; Text-/Ganzzahldarstellung für Genauigkeit beibehalten.
data.lines[].promotion_amountstringVorgangsspezifischer Wert für promotion amount. Rückgabetyp beibehalten und Verhaltenshinweise beachten.
data.lines[].totalstringGeldbetrag; Text-/Ganzzahldarstellung für Genauigkeit beibehalten.
data.lines[].total_minorintegerGanzzahl in kleinster Währungseinheit: 1000 bedeutet 10.00 TRY/USD.
data.discount_scopestringVorgangsspezifischer Wert für discount scope. Rückgabetyp beibehalten und Verhaltenshinweise beachten.
data.estimate_onlybooleanVorgangsspezifischer Wert für estimate only. Rückgabetyp beibehalten und Verhaltenshinweise beachten.
data.stock_checkedbooleanPreis/lokales Ergebnis allein garantiert weder Anbieter noch Bestand.
data.purchase_availablebooleanVerfügbarkeit nach Bedingungen/Berechtigungen; keine Bestands- oder Anbietergarantie.
data.calculated_atstringZeitstempel im vom API gelieferten Format; Beispieldaten sind synthetisch.
metaobjectMetadaten zu Anfragezuordnung und Datenquelle.
meta.request_idstringKennung dieser HTTP-Anfrage, kein Vorgangsschlüssel oder Bestell-ID.
meta.phasestringVorgangsspezifischer Wert für phase. Rückgabetyp beibehalten und Verhaltenshinweise beachten.
meta.sourcestringDatenquelle; lokale Datensätze und Live-Anbieterabfragen sind unterschiedliche Nachweise.

Fehlerantwort

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

Authentifizierung und Validierung können eine Anfrage vor der Ausführung ablehnen. Beachten Sie die Fehlerreferenz und bewahren Sie request_id für den Support auf. Senden Sie niemals Schlüssel oder Passwörter. Fehler & Limits →

Verhalten & wichtige Hinweise

  • IDs aus products/catalog übernehmen. quote-Zeilen enthalten nur location_id, time_id, quantity. purchase erfordert zusätzlich purpose_id=201 und gewählte subpurpose_id.
  • Für quote enthalten die Positionen keinen Verwendungszweck: location_id, time_id und quantity reichen aus. Die Zweckfelder sind bei purchase erforderlich.
  • Verwenden Sie bis zu 20 verschiedene location_id unter einem product_id. Jedes Land erzeugt eine eigene Bestellung; der verknüpfte Einkauf wird in einer Rechnung behandelt. Mengenrabatte werden pro Land berechnet.

Suche in der aktuellen Sprache. Schließen mit Esc