modellar

claude-3-7-sonnet-20250219-thinking

Markdown · JSON

claude-3-7-sonnet-20250219-thinking

Claude 3.7 Sonnet — Anthropic kompaniyasining gibrid fikrlash modeli bo‘lib, bu yerda kengaytirilgan fikrlash rejimida ishlatiladi. U matnli javob yaratishdan oldin murakkab dasturlash, matematik va tahliliy vazifalarni ko‘rib chiqadi; amaliy dasturiy ta’minot ishlab chiqish va veb-interfeys ishlariga alohida urg‘u beradi.

Model haqida

Bu tavsif model imkoniyatlarini yoritadi. Ailoot da tanlangan usul uchun mavjud kirish, chiqish va parametrlar quyida keltirilgan.

Claude 3.7 Sonnet Thinking bazaviy modelning alohida avlodini emas, Claude 3.7 Sonnet ning kengaytirilgan fikrlash rejimini tavsiflaydi. Anthropic oddiy javoblar va chuqurroq fikrlashni bitta gibrid modelda birlashtiradi. Thinking varianti vazifada o‘zaro ta’sir qiluvchi cheklovlar bo‘lganda va xulosa berishdan oldin ularni ko‘rib chiqish javobga foyda keltirganda qo‘l keladi.

Amaliy muammolar uchun kengaytirilgan fikrlash

Model yakuniy javobini qaytarishdan oldin muammo uchun qo‘shimcha fikrlash tokenlarini sarflaydi. Anthropic matematika, fizika, murakkab ko‘rsatmalarga rioya qilish va dasturlashni ta’kidlaydi, shu bilan birga faqat musobaqa masalalari emas, haqiqiy biznes vazifalariga urg‘u beradi. Ishlab chiqaruvchi fikrlash tokenlari budjeti orqali fikrlash kuchini boshqarishni hujjatlashtiradi; budjet va yakuniy javob mavjud chiqish limitidan birga foydalanadi. Ko‘proq fikrlash qo‘shimcha vaqt talab qiladi, shuning uchun bu rejimni qo‘shimcha tahlil muhim bo‘lgan ishlar uchun tanlang.

Tahliliy vazifada dalillarni, hal qilinadigan savolni va muqobillarni taqqoslash mezonlarini bering. Xulosani, undan keyin uni asoslovchi faktlar, farazlar va hal etilmagan savollarni so‘rang. Bu fikrlash uzunligini xulosa to‘g‘riligining dalili deb qabul qilmasdan, yakuniy javobga foydalanishga yaroqli shakl beradi.

Dasturlash va veb-interfeys ishlab chiqish

Anthropic kod o‘zgartirishlari, murakkab loyihalar bo‘ylab ishlash va veb-interfeyslar yaratishga alohida urg‘u beradi. Foydali topshiriq tegishli kod, kutilgan xatti-harakat, kuzatilgan nosozlik va o‘zgarmay qolishi kerak bo‘lgan qismlarni o‘z ichiga oladi. Izchil patchni va uni qanday tekshirish mumkinligi haqidagi tushuntirishni so‘rang. Interfeys uchun foydalanuvchi amallari, yuklanish va xato holatlari, ekran o‘lchamiga moslashish va kerakli chiqishni, masalan komponent yoki sahifa o‘zgartirishlari to‘plamini belgilang.

Bu misollar modelga beriladigan vazifalarni tavsiflaydi. Buyruqlarni bajarish, repozitoriyni o‘qish va fayllarni tahrirlash modelni o‘rab turgan ilova taqdim etgan vositalarni talab qiladi. Modelning dasturlash qobiliyati va ilovaning kodni ishga tushirishga ruxsati ish jarayonining alohida qismlaridir.

Matn, tasvirlar va yakuniy natija

Claude ning vizual tushunishi yozma ko‘rsatmalar bilan birga ekran tasvirlari, grafiklar va tasvirli hujjatlar kabi material ustida fikrlashni qo‘llab-quvvatlaydi. Aniq ko‘rinadigan tasvirni bering va qaysi tafsilot muhimligini ayting: belgilangan o‘q, joylashuv muammosi yoki obyektlar orasidagi munosabat. Grafikdagi aniq sonlar uchun imkon bo‘lsa, asosiy qiymatlarni kiriting. Natija yaratilgan tasvir emas, matnli tushuntirish, tahlil yoki kod bo‘ladi.

Ailoot API loyihasi uchun kutilgan yakuniy natijani ochiq belgilang: dasturiy yechim, ko‘rib chiqilgan dalillash, taqqoslash jadvali yoki tashxis tushuntirishi. Modeldan yetishmayotgan loyiha kontekstini taxmin qilishni so‘rash o‘rniga shu talab bilan birga tegishli materialni bering.

Bilim va tekshirish

Anthropic bu bazaviy modelning ishonchli bilimlari chegarasi sifatida 2024-yil oktabrni ko‘rsatadi. Savolingiz keyingi voqealar yoki o‘zgaruvchan texnik tafsilotlarga bog‘liq bo‘lsa, joriy hujjatlarni bering. Uning tizim kartasida takroriy muvaffaqiyatsiz urinishlar faqat testga mos qisqa yo‘llarga olib kelishi mumkin bo‘lgan dasturlash xatosi namunasi ham qayd etilgan. Umumiy yechimni so‘rang va test o‘zgartirishlarini ilova kodi o‘zgartirishlari kabi sinchiklab tekshiring. Batafsil fikrlash izi javobni tekshirishga yordam berishi mumkin, ammo Anthropic tadqiqoti uni qaror qanday qabul qilinganining to‘liq yoki xatosiz bayoni deb tasdiqlamaydi.

Amaliy vazifa

Amaliy vazifa

Ingliz tilidagi texnik misol

Reason through a batching rule

A packing line must send 42 jars. Each sealed carton holds 6 jars; opened cartons cannot ship. Each pallet holds at most 4 cartons. Determine the minimum cartons and pallets, then explain a valid loading arrangement. Separate the arithmetic from the assumptions, and state whether any jars remain unpacked.

Kutiladigan natija

Carton and pallet counts, a loading arrangement, arithmetic and explicit assumptions.

Natijani tekshirish

Multiply carton capacity back to 42 and verify no pallet exceeds four cartons.
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions claude-3-7-sonnet-20250219-thinking

claude-3-7-sonnet-20250219-thinking

Anthropic /claude-3-7-sonnet-20250219-thinking

Boshlash

Claude 3.7 Sonnet — Anthropic kompaniyasining gibrid fikrlash modeli bo‘lib, bu yerda kengaytirilgan fikrlash rejimida ishlatiladi. U matnli javob yaratishdan oldin murakkab dasturlash, matematik va tahliliy vazifalarni ko‘rib chiqadi; amaliy dasturiy ta’minot ishlab chiqish va veb-interfeys ishlariga alohida urg‘u beradi.

Qabul qilinadigan kirish ma’lumotlari
Matn
Natijalar
Matn

Ailoot da mavjud · kirish ma’lumotlari va usullar

Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
Kirish
text
Chiqish
text
Chiqish formati
json yoki SSE
MaydonTurTalabQiymatlar va cheklovlarStandart
MaydonmodelTurstringTalabMajburiyQiymatlar va cheklovlar
claude-3-7-sonnet-20250219-thinking
Standart—
MaydonmessagesTurmessage[]TalabMajburiyQiymatlar va cheklovlar
Elementlarning eng kam soni: 1
Standart—
Maydonmessages[].roleTurstringTalabMajburiyQiymatlar va cheklovlar
Namunalar: system, user, assistant, tool, function
Shartlar: Bu rollar manba kodining moslik turlarida ochiq ifodalangan; aniq rollar to‘plami har bir modelga xos bo‘lib qoladi.
Modelga bogʻliq
Standart—
Maydonmessages[].contentTurstring|content_part[]|nullTalabIxtiyoriyQiymatlar va cheklovlarStandart—
Maydonmessages[].tool_callsTurtool_call[]TalabIxtiyoriyQiymatlar va cheklovlarStandart—
Maydonmessages[].tool_call_idTurstringTalabIxtiyoriyQiymatlar va cheklovlar
Quyidagi holatda qo‘llanadi: role=tool; haqiqatan qaytarilgan IDdan foydalaning
Standart—
Maydonmessages[].nameTurstringTalabIxtiyoriyQiymatlar va cheklovlarStandart—
Maydonmessages[].reasoning_contentTurstringTalabIxtiyoriyQiymatlar va cheklovlar
Quyidagi holatda qo‘llanadi: Ushbu model foydalanganda, haqiqatan qaytarilgan fikrlash ma’lumotlarini keyingi so‘rovda qayta yuboring
Standart—
Maydonmessages[].reasoning_detailsTurobject|arrayTalabIxtiyoriyQiymatlar va cheklovlar
Modelga bogʻliq
Standart—
Maydonmax_tokensTurintegerTalabIxtiyoriyQiymatlar va cheklovlar
Eng kam: 1
Modelga bogʻliq
Standart—
Maydonmax_completion_tokensTurintegerTalabIxtiyoriyQiymatlar va cheklovlar
Eng kam: 1
Modelga bogʻliq
Standart—
MaydonstreamTurbooleanTalabIxtiyoriyQiymatlar va cheklovlarStandartfalse
Maydonstream_options.include_usageTurbooleanTalabIxtiyoriyQiymatlar va cheklovlar
Modelga bogʻliq
Standart—
MaydontemperatureTurnumberTalabIxtiyoriyQiymatlar va cheklovlar
Modelga bogʻliq
Standart—
Maydontop_pTurnumberTalabIxtiyoriyQiymatlar va cheklovlar
Modelga bogʻliq
Standart—
MaydonstopTurstring|string[]TalabIxtiyoriyQiymatlar va cheklovlar
Modelga bogʻliq
Standart—
MaydontoolsTurfunction_tool[]TalabIxtiyoriyQiymatlar va cheklovlar
Modelga bogʻliq
Standart—
Maydontools[].typeTurstringTalabIxtiyoriyQiymatlar va cheklovlar
function
Modelga bogʻliq
Standart—
Maydontools[].function.nameTurstringTalabMajburiyQiymatlar va cheklovlar
Quyidagi holatda qo‘llanadi: Funksiya vositasi taqdim etilgan
Standart—
Maydontools[].function.descriptionTurstringTalabIxtiyoriyQiymatlar va cheklovlarStandart—
Maydontools[].function.parametersTurJSON_schemaTalabIxtiyoriyQiymatlar va cheklovlarStandart—
Maydontool_choiceTurstring|objectTalabIxtiyoriyQiymatlar va cheklovlar
Modelga bogʻliq
Standart—
Maydonparallel_tool_callsTurbooleanTalabIxtiyoriyQiymatlar va cheklovlar
Modelga bogʻliq
Standart—
Maydonresponse_formatTurobjectTalabIxtiyoriyQiymatlar va cheklovlar
Modelga bogʻliq
Standart—
Maydonreasoning_effortTurstringTalabIxtiyoriyQiymatlar va cheklovlar
Modelga bogʻliq
Standart—
MaydonreasoningTurobjectTalabIxtiyoriyQiymatlar va cheklovlar
Modelga bogʻliq
Standart—
Maydonservice_tierTurstringTalabIxtiyoriyQiymatlar va cheklovlar
Modelga bogʻliq
Standart—
MaydoninstructionsTurstringTalabIxtiyoriyQiymatlar va cheklovlar
Moslik maydoni
Standart—
MaydonfunctionsTurfunction[]TalabIxtiyoriyQiymatlar va cheklovlar
Modelga bogʻliq
Standart—
Maydonfunction_callTurstring|objectTalabIxtiyoriyQiymatlar va cheklovlar
Modelga bogʻliq
Standart—
Maydonprompt_cache_optionsTurobjectTalabIxtiyoriyQiymatlar va cheklovlar
Modelga bogʻliq
Standart—
MaydonmodalitiesTurstring[]TalabIxtiyoriyQiymatlar va cheklovlar
text
Standart—
MaydonproviderTurobjectTalabIxtiyoriyQiymatlar va cheklovlar
Shartlar: Ushbu Ultra matn marshrutida provider.options rad etiladi
Standart—
Maydoncache_control.ttlTurstringTalabIxtiyoriyQiymatlar va cheklovlar
Shartlar: Haqiqiy prompt-kesh joylarida 1h rad etiladi
Standart—
Kirish materiallari birikmalari

Matn · UTF8 matni

messages[].content

Usul parametrlari va hayot sikli
ParametrParametr talablari
Parametrcontent_typeParametr talablariapplication/json
ParametrrequiredParametr talablarimodel, messages
Parametrmaterial_typesParametr talablaritext
ParametrmessagesParametr talablarirole/content tuzilishidagi xabarlar massivi
Parametrfile_materialParametr talablariHaqiqiy UTF-8 hujjati aynan matn sifatida kiritiladi; fayl IDsi faraz qilinmaydi
Parametroptional_controlsParametr talablaristream, temperature, top_p, stop, max_tokens, max_completion_tokens, reasoning, response_format, tools, tool_choice
Parametrcontrol_scopeParametr talablariModelga xos; foydalanuvchi funksiya vositalari hostingdagi vositalardan farq qiladi
Parametroutput_modalitiesParametr talablaritext
Parametrhosted_operationsParametr talablarifalse
Parametrmultimodal_input_bindingParametr talablarinull

Hayot sikli: synchronous_or_streamed

Aniq model IDsini messages bilan yuboring.

Kontekst uzunligi chiqishning yuqori chegarasi emas.

Matn fayli aynan matnni taqdim etishi mumkin; tasvir, audio va fayl obyekti kirishlari aniq bog‘lashni talab qiladi.

Tariflar

Tarif ma’lumotlari so‘rov imkoniyatlarini qo‘shmaydi. Qo‘llab-quvvatlanadigan parametrlar tanlangan usulda ko‘rsatilgan.

Tezkor rejim
Ko‘rsatilmagan Tezkor rejim tanlanganda
Flex rejimi
Ko‘rsatilmagan flex rejimi tanlanganda
Maksimal fikrlash darajasi
Ko‘rsatilmagan Maksimal fikrlash darajasi uchun standart (default) tuzatish qo‘llanganda

Ailoot tariflari

Sozlamalar bo‘yicha narxlar

SozlamaTariflar jadvaliTo‘lov
SozlamaTokenlar uchun bazaviy tariflarTariflar jadvaliAsosiy tarifTo‘lov
Kirish · Kirish tokenlari $0.006 / 1K token
Chiqish · Chiqish tokenlari $0.03 / 1K token
Kirish · Keshdan o‘qish $0.0006 / 1K token
Kirish · Keshga yozish $0.0075 / 1K token
Kirish · Keshga yozish, 1 soat — / 1K token

Ailoot so‘rovdan oldin taxminiy summani band qiladi. Natijadan keyin o‘lchangan sarf asosidagi yakuniy to‘lovni yechadi. Oqimli javob bo‘yicha yakuniy hisob-kitob yakuniy sarf yozuviga asoslanadi. Summani band qilish va to‘lovni hisoblash tartibi →

So‘rov namunalari

Ailoot Ultra · OpenAI Chat

curlPython SDKPython oqimi
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "claude-3-7-sonnet-20250219-thinking", "messages": [{"role": "user", "content": "Explain the difference between an observation and a hypothesis in three sentences."}]}')

Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
for x in r.get("choices",[]):
    if x.get("message",{}).get("content"): print(x["message"]["content"])
PY_RESULT
from openai import OpenAI
import os

if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.chat.completions.create(model='claude-3-7-sonnet-20250219-thinking',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}])
import base64, json
from pathlib import Path

def save_result(data, stem="result"):
    # Keep every field, including usage, IDs, reasoning and tool requests.
    Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
    print(json.dumps(data, ensure_ascii=False, indent=2))
    def save_blob(encoded, suffix, label):
        raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
        ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
        file = Path(stem + "-" + label + "." + ext)
        file.write_bytes(raw)
        print("Saved", file)
    for index, block in enumerate(data.get("content") or []):
        print("Content", index, json.dumps(block, ensure_ascii=False))
    for choice in data.get("choices") or []:
        print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
    for index, item in enumerate(data.get("output") or []):
        print("Output", index, json.dumps(item, ensure_ascii=False))
        if item.get("type") == "image_generation_call" and item.get("result"):
            save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
    for ci, candidate in enumerate(data.get("candidates") or []):
        for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
            print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
            blob = part.get("inlineData") or part.get("inline_data")
            if blob and blob.get("data"):
                mime = blob.get("mimeType") or blob.get("mime_type")
                suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
                save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))

save_result(result.to_dict(mode="json"))
from openai import OpenAI
import os
from pathlib import Path

if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
import base64, json
from pathlib import Path

def save_result(data, stem="result"):
    # Keep every field, including usage, IDs, reasoning and tool requests.
    Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
    print(json.dumps(data, ensure_ascii=False, indent=2))
    def save_blob(encoded, suffix, label):
        raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
        ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
        file = Path(stem + "-" + label + "." + ext)
        file.write_bytes(raw)
        print("Saved", file)
    for index, block in enumerate(data.get("content") or []):
        print("Content", index, json.dumps(block, ensure_ascii=False))
    for choice in data.get("choices") or []:
        print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
    for index, item in enumerate(data.get("output") or []):
        print("Output", index, json.dumps(item, ensure_ascii=False))
        if item.get("type") == "image_generation_call" and item.get("result"):
            save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
    for ci, candidate in enumerate(data.get("candidates") or []):
        for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
            print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
            blob = part.get("inlineData") or part.get("inline_data")
            if blob and blob.get("data"):
                mime = blob.get("mimeType") or blob.get("mime_type")
                suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
                save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))

with client.chat.completions.stream(model='claude-3-7-sonnet-20250219-thinking',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}]) as stream:
    with Path("stream-events.jsonl").open("w",encoding="utf-8") as log:
        for event in stream:
            payload=event.to_dict(mode="json")
            log.write(json.dumps(payload,ensure_ascii=False)+"\n"); log.flush()
            print(json.dumps(payload,ensure_ascii=False))
    final=stream.get_final_completion()
    save_result(final.to_dict(mode="json"),"stream-result")

Natijalarni olish va saqlash

Ailoot Ultra · OpenAI Chat

json yoki SSE

Barcha tayyor natijalarni saqlash

Qaytarilgan har bir to‘liq javob, fayl va kontent qismini saqlang.

Har bir javob variantini va uning kontenti, vosita chaqiruvlari hamda fikrlash ma’lumotlarini saqlang. SSEda o‘zgarish qismlarini variant va vosita indeksi bo‘yicha yig‘ing, yakuniy tugash sababi va sarf ma’lumotlarini saqlang.

Asl javobni tekshirish kerak bo‘lsa

So‘rov va javob IDlari hamda sarlavhalarini saqlang. Matn vazifasini olish uchun umumiy URL taqdim etilmagan.

Javob maydonlari
MaydonTur
Maydonchoices[].indexTurinteger
Maydonchoices[].message.contentTurstring|null
Maydonchoices[].message.tool_callsTurtool_call[]
Maydonchoices[].message.reasoning_contentTurstring
Maydonchoices[].message.reasoning_detailsTurobject|array
Maydonchoices[].finish_reasonTurstring|null
MaydonusageTurobject
Xatolar va keyingi qadamlar
JavobShartKeyingi qadam
Javob400 · invalid_request_errorShartMajburiy maydonlar, material ifodasi yoki parametr qiymati noto‘g‘riKeyingi qadamYangi yaratish so‘rovidan oldin ko‘rsatilgan maydonlarni tuzating.

Taxalluslar

Model taxalluslari

Ailoot Ultra claude-3-7-sonnet-20250219-thinking

Usul yo‘llari taxalluslari

Yuqorida ko‘rsatilgan usul yo‘llaridan foydalaning.

Chaqirish uchun tegishli ID lar

claude-3-7-sonnet-20250219-thinking

FAQ · claude-3-7-sonnet-20250219-thinking
Qanday kirish ma’lumotlari va natijalar mavjud?

POST /v1/chat/completions · claude-3-7-sonnet-20250219-thinking: text → text

So‘rov qaysi maydonlardan foydalanadi?

POST /v1/chat/completions · claude-3-7-sonnet-20250219-thinking: model, messages, stream, modalities, provider

Qanday cheklovlar amal qiladi?

POST /v1/chat/completions · claude-3-7-sonnet-20250219-thinking: messages.min_items: 1

Batafsil

Ailoot’ni Claude Code, OpenCode, Hermes yoki ilovangizga ulang.

Kompaniya va uning loyihalar portfeli

Kompaniya va uning loyihalar portfeli: millionlab mijozlar; oylik sotuvlar hajmi milliardlarda.

Tokenlarni chegirma bilan xarid qiling.

Muntazam ish uchun obuna chegirmasi. Token xaridiga promokodlar — 50% gacha.

Obuna
Muntazam so‘rovlaringiz uchun chegirmali tarif tanlang.
50% gacha promokod
Xaridda kod kiriting. Narx amaldagi aksiya bilan qayta hisoblanadi.
Tarixdagi xarajatlar
Har so‘rov uchun model, token va summa saqlanadi.

Obuna tanlash · Model narxlarini ko‘rish

API’ni sotadigan mahsulotingizga ulang.

SaaS, ilova va botlar Ailoot ofertasi hamda litsenziya shartnomasiga muvofiq. Qayta sotishga reseller litsenziyasi so‘rang.

Tijorat ilovasi
Xizmatingizning pullik funksiyalariga matn, rasm, video va ovoz yaratishni qo‘shing.
Reseller litsenziyasi
Loyiha tavsifi va kirish sxemasini yuboring. Foydalanish va qayta sotishga yozma shartlarni so‘rang.
Saytdagi hujjatlar
Oferta, litsenziya shartnomasi va ma’lumotlar siyosati ulashdan oldin ochiq.

Reseller litsenziyasini so‘rash · Oferta va litsenziya shartnomasi