ARNPROXY

주문 견적

POST/account/api/v1/quote

권한 인증

AuthorizationBearer YOUR_ARNPROXY_API_KEY
필요한 권한read
Acceptapplication/json
Content-Typeapplication/json

매개변수

이름유형설명
product_id
body필수
integerproducts의 제품 ID, 1~2147483647.
lines
body필수
object[]한 제품의 서로 다른 위치 행 1~20개. location_id는 중복 불가하며 총 프록시는 최대 100000개입니다.
lines[].location_id
body필수
integer선택한 제품 카탈로그의 위치 ID.
lines[].time_id
body필수
integer해당 위치에서 제공하는 기간 ID.
lines[].quantity
body필수
integer1~100000이며 product.minimum_quantity도 적용됩니다.
promo_code
body선택
string선택적 프로모션 코드, 최대 100바이트. 견적과 구매/갱신에서 동일하게 유지하세요.
기본값: ""

요청 본문

YOUR_/FROM_을 해당 카탈로그, 견적 또는 범위의 값으로 바꾸세요. 예제의 동의 값은 false입니다. 실제 작업에 동의할 때만 승인하세요.

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

추가 사용 예제

ID와 가격은 예시입니다. 카탈로그와 동일 견적의 실제 값을 사용하고 JSON ID 및 expected_total_minor는 숫자로 보내세요. 예제의 terms=false는 안전을 위한 값입니다. 실제 유료 작업에 대한 고객의 명시적 동의 후에만 terms=true를 보내세요.

동일 유형으로 두 국가 주문

quote의 주문 항목에는 목적을 보내지 않습니다. location_id, time_id, quantity만 필요하며 목적은 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": ""
}

요청 예제

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'

이 페이지에서는 예제를 실행하지 않습니다. API 키는 서버 환경 변수에 보관하고 URL이나 브라우저 코드에 넣지 마세요. POST 예제에는 request.json을 준비하세요.

응답

200성공 응답
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"
    }
}
응답 필드 및 유형
이름유형설명
okboolean성공 여부. false이면 error.code를 확인하세요.
dataobject작업별 결과이며 예제는 설명용 합성 데이터입니다.
data.productobjectproduct의 작업별 값입니다. 반환된 유형을 유지하고 동작 설명을 확인하세요.
data.product.idinteger관련 ARNPROXY 기록 ID. 공급자 내부 ID 대신 사용하세요.
data.product.namestringname의 작업별 값입니다. 반환된 유형을 유지하고 동작 설명을 확인하세요.
data.product.minimum_quantityinteger해당 제품의 주문 행별 최소 수량.
data.currencystring계정 거래 통화: TRY 또는 USD.
data.quantityinteger선택 또는 주문한 프록시 수량.
data.base_totalstring금액. 정밀도를 위해 반환된 문자열/정수 표현을 유지하세요.
data.quantity_discount_amountstringquantity discount amount의 작업별 값입니다. 반환된 유형을 유지하고 동작 설명을 확인하세요.
data.subtotalstring금액. 정밀도를 위해 반환된 문자열/정수 표현을 유지하세요.
data.promotionobjectpromotion의 작업별 값입니다. 반환된 유형을 유지하고 동작 설명을 확인하세요.
data.promotion.codestringcode의 작업별 값입니다. 반환된 유형을 유지하고 동작 설명을 확인하세요.
data.promotion.ratestringrate의 작업별 값입니다. 반환된 유형을 유지하고 동작 설명을 확인하세요.
data.promotion.amountstring금액. 정밀도를 위해 반환된 문자열/정수 표현을 유지하세요.
data.totalstring금액. 정밀도를 위해 반환된 문자열/정수 표현을 유지하세요.
data.total_minorinteger최소 통화 단위 정수: 1000은 10.00 TRY/USD입니다.
data.linesarraylines의 작업별 값입니다. 반환된 유형을 유지하고 동작 설명을 확인하세요.
data.lines[]objectlines의 작업별 값입니다. 반환된 유형을 유지하고 동작 설명을 확인하세요.
data.lines[].location_idinteger로컬 카탈로그의 위치 또는 제품 유형 ID.
data.lines[].countrystringcountry의 작업별 값입니다. 반환된 유형을 유지하고 동작 설명을 확인하세요.
data.lines[].time_idinteger로컬 기간/GB 요금제 ID이며 일수나 GB 수량이 아닙니다.
data.lines[].periodstring읽기 쉬운 카탈로그 기간 이름.
data.lines[].daysinteger요금제 기간(일). GB 요금제의 트래픽 양과 별개입니다.
data.lines[].quantityinteger선택 또는 주문한 프록시 수량.
data.lines[].base_unit_pricestringbase unit price의 작업별 값입니다. 반환된 유형을 유지하고 동작 설명을 확인하세요.
data.lines[].quantity_discount_ratestringquantity discount rate의 작업별 값입니다. 반환된 유형을 유지하고 동작 설명을 확인하세요.
data.lines[].unit_pricestringunit price의 작업별 값입니다. 반환된 유형을 유지하고 동작 설명을 확인하세요.
data.lines[].base_totalstring금액. 정밀도를 위해 반환된 문자열/정수 표현을 유지하세요.
data.lines[].subtotalstring금액. 정밀도를 위해 반환된 문자열/정수 표현을 유지하세요.
data.lines[].promotion_amountstringpromotion amount의 작업별 값입니다. 반환된 유형을 유지하고 동작 설명을 확인하세요.
data.lines[].totalstring금액. 정밀도를 위해 반환된 문자열/정수 표현을 유지하세요.
data.lines[].total_minorinteger최소 통화 단위 정수: 1000은 10.00 TRY/USD입니다.
data.discount_scopestringdiscount scope의 작업별 값입니다. 반환된 유형을 유지하고 동작 설명을 확인하세요.
data.estimate_onlybooleanestimate only의 작업별 값입니다. 반환된 유형을 유지하고 동작 설명을 확인하세요.
data.stock_checkedboolean가격/로컬 결과만으로 공급자나 재고가 보장되지는 않습니다.
data.purchase_availableboolean조건/권한에 따른 사용 가능 여부이며 재고나 공급자 보장은 아닙니다.
data.calculated_atstringAPI가 반환하는 형식의 타임스탬프. 예제 날짜는 합성값입니다.
metaobject요청 추적 및 데이터 출처 메타데이터.
meta.request_idstring이 HTTP 요청의 추적 ID이며 작업 키나 주문 ID가 아닙니다.
meta.phasestringphase의 작업별 값입니다. 반환된 유형을 유지하고 동작 설명을 확인하세요.
meta.sourcestring데이터 출처. 로컬 기록과 실시간 공급자 조회는 서로 다른 근거입니다.

오류 응답

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

인증 및 검증 단계에서 실행 전에 요청이 거부될 수 있습니다. 오류 문서를 확인하고 지원 문의용 request_id를 보관하세요. 키나 비밀번호를 보내지 마세요. 오류 및 제한 →

동작 및 주요 참고 사항

  • ID는 products/catalog에서 가져오세요. quote 행에는 location_id, time_id, quantity만 포함합니다. purchase 행에는 purpose_id=201 및 선택한 subpurpose_id가 추가로 필요합니다.
  • quote의 주문 항목에는 목적을 보내지 않습니다. location_id, time_id, quantity만 필요하며 목적은 purchase 단계에서 필수입니다.
  • 하나의 product_id에 서로 다른 location_id를 최대 20개 사용할 수 있습니다. 국가별로 별도 주문이 생성되며 연결된 결제는 하나의 청구서로 처리됩니다. 수량 할인은 국가별 수량으로 계산합니다.

현재 언어로 검색합니다. 닫기: Esc