ARNPROXY

패키지 및 충전 견적

POST/account/api/v1/residential/quote

권한 인증

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

매개변수

이름유형설명
mode
body필수
stringnew는 패키지를 만들고 topup은 본인 패키지에 GB를 추가합니다.
time_id
body필수
integer해당 카탈로그/options의 기간/GB 요금제 ID이며 일수나 GB 수량이 아닙니다.
location_id
body조건부
integermode=new에서만 필수이며 topup에서는 금지됩니다.
package_id
body조건부
integermode=topup에서만 필수이며 new에서는 금지됩니다.
promo_code
body선택
string선택적 프로모션 코드, 최대 100바이트. 견적과 구매/갱신에서 동일하게 유지하세요.
기본값: ""

요청 본문

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

request.json
{
    "mode": "topup",
    "package_id": "YOUR_PACKAGE_ID",
    "time_id": "FROM_RESIDENTIAL_CATALOG",
    "promo_code": ""
}

추가 사용 예제

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

Residential: 신규 패키지와 GB 추가의 차이 · mode=new

residential_quote와 residential_purchase 모두 용도 선택이 필요 없습니다. 견적에는 mode, time_id, location_id 또는 package_id와 선택적 promo_code만 사용합니다. 구매 시 견적의 통화, 금액, 선택 해시 및 명시적 동의를 추가합니다.

application/json
{
    "mode": "new",
    "location_id": 20,
    "time_id": 201,
    "promo_code": ""
}

Residential: 신규 패키지와 GB 추가의 차이 · mode=topup

residential_quote와 residential_purchase 모두 용도 선택이 필요 없습니다. 견적에는 mode, time_id, location_id 또는 package_id와 선택적 promo_code만 사용합니다. 구매 시 견적의 통화, 금액, 선택 해시 및 명시적 동의를 추가합니다.

application/json
{
    "mode": "topup",
    "package_id": 10001,
    "time_id": 201,
    "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/residential/quote'

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

응답

200성공 응답
application/json
{
    "ok": true,
    "data": {
        "mode": "topup",
        "product_id": 33,
        "location_id": 20,
        "time_id": 201,
        "gb": 1,
        "days": 30,
        "package_id": 20001,
        "currency": "TRY",
        "base_total": "15.00",
        "quantity_discount_rate": 0,
        "subtotal": "15.00",
        "promotion": {
            "code": "",
            "rate": 0,
            "amount": "0.00"
        },
        "total": "15.00",
        "total_minor": 1500,
        "last_service_date": "2030-02-01",
        "automatic_renewal": false,
        "stock_checked": false,
        "provider_checked": false,
        "selection_hash": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
    },
    "meta": {
        "request_id": "000000000000000000000001",
        "phase": "public_v1",
        "source": "arnproxy_records"
    }
}
응답 필드 및 유형
이름유형설명
okboolean성공 여부. false이면 error.code를 확인하세요.
dataobject작업별 결과이며 예제는 설명용 합성 데이터입니다.
data.modestringmode의 작업별 값입니다. 반환된 유형을 유지하고 동작 설명을 확인하세요.
data.product_idinteger로컬 카탈로그의 위치 또는 제품 유형 ID.
data.location_idinteger로컬 카탈로그의 위치 또는 제품 유형 ID.
data.time_idinteger로컬 기간/GB 요금제 ID이며 일수나 GB 수량이 아닙니다.
data.gbinteger트래픽 양. 목록/설정 작업은 트래픽을 구매하지 않습니다.
data.daysinteger요금제 기간(일). GB 요금제의 트래픽 양과 별개입니다.
data.package_idinteger관련 ARNPROXY 기록 ID. 공급자 내부 ID 대신 사용하세요.
data.currencystring계정 거래 통화: TRY 또는 USD.
data.base_totalstring금액. 정밀도를 위해 반환된 문자열/정수 표현을 유지하세요.
data.quantity_discount_rateintegerquantity discount rate의 작업별 값입니다. 반환된 유형을 유지하고 동작 설명을 확인하세요.
data.subtotalstring금액. 정밀도를 위해 반환된 문자열/정수 표현을 유지하세요.
data.promotionobjectpromotion의 작업별 값입니다. 반환된 유형을 유지하고 동작 설명을 확인하세요.
data.promotion.codestringcode의 작업별 값입니다. 반환된 유형을 유지하고 동작 설명을 확인하세요.
data.promotion.rateintegerrate의 작업별 값입니다. 반환된 유형을 유지하고 동작 설명을 확인하세요.
data.promotion.amountstring금액. 정밀도를 위해 반환된 문자열/정수 표현을 유지하세요.
data.totalstring금액. 정밀도를 위해 반환된 문자열/정수 표현을 유지하세요.
data.total_minorinteger최소 통화 단위 정수: 1000은 10.00 TRY/USD입니다.
data.last_service_datestring마지막 서비스일: 현재, 이전 또는 견적 예상일. 예상만으로 갱신되지는 않습니다.
data.automatic_renewalbooleanautomatic renewal의 작업별 값입니다. 반환된 유형을 유지하고 동작 설명을 확인하세요.
data.stock_checkedboolean가격/로컬 결과만으로 공급자나 재고가 보장되지는 않습니다.
data.provider_checkedboolean가격/로컬 결과만으로 공급자나 재고가 보장되지는 않습니다.
data.selection_hashstring해당 변경/가격 확인에 그대로 반환할 최신성 식별자입니다.
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는 ARNPROXY 기록 ID이며 공급자 키가 아닙니다. 오래된 스냅샷은 접근을 허용하지 않습니다. 필요 시 residential_package_refresh를 사용하세요.
  • mode=new는 패키지 생성, mode=topup은 GB 추가입니다. residential_catalog/quote를 먼저 사용하세요. 잔액 접수와 백그라운드 배송은 별개이며 같은 작업 키로 추적합니다.
  • residential_quote와 residential_purchase 모두 용도 선택이 필요 없습니다. 견적에는 mode, time_id, location_id 또는 package_id와 선택적 promo_code만 사용합니다. 구매 시 견적의 통화, 금액, 선택 해시 및 명시적 동의를 추가합니다.

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