راهنمای اتصال

اتصال فقط از سرور برنامهٔ شما انجام شود. کلید را در مرورگر قرار ندهید. فهرست خدمات و قیمت، وضعیت واقعی قابل خرید را نشان می‌دهد.

OpenAPI 3.1 JSON
مجوز execute و مجوز گروه خدمت باید صریح باشند. کلید به برنامهٔ شما، IPهای مجاز، انقضا و سقف هزینه محدود است. پس از قطع ارتباط، با همان کلید درخواست وضعیت را بازیابی کنید. برای یک تلاش مبهم کلید جدید نسازید.

curl

curl https://servernet.cloud/api/v1/identity/services \
  -H "Authorization: Bearer $SERVERNET_API_KEY"

curl -X POST https://servernet.cloud/api/v1/identity/inquiries/shahkar-inquiry \
  -H "Authorization: Bearer $SERVERNET_API_KEY" \
  -H "Idempotency-Key: $REQUEST_KEY" \
  -H 'Content-Type: application/json' \
  --data-binary @request.json

{
  "input": {"mobile": "YOUR_AUTHORIZED_MOBILE", "national_code": "YOUR_AUTHORIZED_NATIONAL_CODE"},
  "max_charge_irt": 0,
  "price_version": 0
}

صفرهای مثال را با سقف پذیرفته‌شده و نسخهٔ قیمت از فهرست واقعی جایگزین کنید؛ این مثال تعرفهٔ واقعی نیست.

PHP / Laravel

$response = Http::withToken(env('SERVERNET_API_KEY'))
    ->withHeaders(['Idempotency-Key' => $savedRequestKey])
    ->timeout(40)->post(
        'https://servernet.cloud/api/v1/identity/inquiries/shahkar-inquiry',
        ['input' => $authorizedInput, 'max_charge_irt' => $acceptedQuote,
         'price_version' => $priceVersion]
    );

Python

import os, requests

response = requests.post(
    "https://servernet.cloud/api/v1/identity/inquiries/shahkar-inquiry",
    headers={"Authorization": "Bearer " + os.environ["SERVERNET_API_KEY"],
             "Idempotency-Key": saved_request_key},
    json={"input": authorized_input, "max_charge_irt": accepted_quote,
          "price_version": price_version}, timeout=40)
result = response.json()

JavaScript (Node.js)

const response = await fetch(
  'https://servernet.cloud/api/v1/identity/inquiries/shahkar-inquiry', {
    method: 'POST',
    headers: {'Authorization': `Bearer ${process.env.SERVERNET_API_KEY}`,
      'Idempotency-Key': savedRequestKey, 'Content-Type': 'application/json'},
    body: JSON.stringify({input: authorizedInput,
      max_charge_irt: acceptedQuote, price_version: priceVersion})
  });
const result = await response.json();

وضعیت‌ها

وضعیت پردازش، نتیجهٔ استعلام و وضعیت مالی مستقل‌اند. HTTP 202 می‌تواند به معنی در حال پردازش یا نیازمند رسیدگی باشد. HTTP 402 اعتبار/بودجه، 403 مجوز، 409 تعارض کلید/قیمت و 429 محدودیت نرخ یا هم‌زمانی است.

در نتیجهٔ مبهم، رزرو حداکثر ۱۵ دقیقه از پذیرش نگه داشته می‌شود. بدون مدرک معتبر تا این مهلت، اعتبار آزاد می‌شود و بعداً خودسرانه کسر نمی‌شود. برداشت اشتباه اصلاح می‌شود؛ آزادسازی رزرو برداشت نقدی نیست.

GET /api/v1/identity/requests/{request_id}

کلید درخواست در محدودهٔ برنامه و عملیات یکتاست. همان کلید و ورودی یکسان همان رسید را می‌دهد؛ ورودی متفاوت تعارض دارد. پس از حذف نتیجه نیز کلید مصرف‌شده به درخواست تازه تبدیل نمی‌شود.