Документация API

Полное руководство по интеграции с API zapros.tech

Быстрый старт

Начните использовать API zapros.tech за 3 простых шага:

1

Зарегистрируйтесь

Создайте аккаунт на zapros.tech/register. Понадобится только email и пароль.

2

Получите API-ключ

В личном кабинете перейдите в раздел API-ключи и создайте новый ключ. Он будет иметь вид zpr_xxx...

3

Сделайте первый запрос

Используйте ваш ключ для вызова API. Пример ниже:

curl
curl -X POST https://zapros.tech/api/v1/chat/completions \
  -H "Authorization: Bearer zpr_xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/gpt-4o",
    "messages": [
      {"role": "user", "content": "Привет!"}
    ]
  }'

Аутентификация

Все запросы к API должны содержать заголовок Authorization с вашим API-ключом:

Authorization: Bearer zpr_ваш_ключ

Важно: Никогда не передавайте ваш API-ключ в клиентском коде. Используйте его только на сервере.

Chat Completions

Основной эндпоинт для генерации текста. Полностью совместим с форматом OpenAI.

Запрос

POST /api/v1/chat/completions
{
  "model": "openai/gpt-4o",       // Обязательно. Идентификатор модели
  "messages": [                    // Обязательно. Массив сообщений
    {
      "role": "system",            // system | user | assistant
      "content": "Ты полезный ассистент"
    },
    {
      "role": "user",
      "content": "Привет!"
    }
  ],
  "stream": false,                 // Потоковый вывод (SSE)
  "temperature": 0.7,              // Креативность (0.0 - 2.0)
  "max_tokens": 1024               // Макс. кол-во токенов в ответе
}

Ответ

200 OK
{
  "id": "chatcmpl-abc123",
  "object": "chat.completion",
  "created": 1719000000,
  "model": "openai/gpt-4o",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Привет! Чем могу помочь?"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 12,
    "completion_tokens": 8,
    "total_tokens": 20
  }
}

Потоковый ответ (SSE)

При "stream": true ответ приходит в формате Server-Sent Events:

SSE stream
data: {"id":"chatcmpl-abc123","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"content":"Привет"},"finish_reason":null}]}

data: {"id":"chatcmpl-abc123","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"content":"!"},"finish_reason":null}]}

data: {"id":"chatcmpl-abc123","object":"chat.completion.chunk","choices":[{"index":0,"delta":{},"finish_reason":"stop"}]}

data: [DONE]

Модели

Список всех доступных моделей и цен смотрите на странице Модели и цены.

Получить список моделей программно:

GET /api/v1/models
curl https://zapros.tech/api/v1/models \
  -H "Authorization: Bearer zpr_ваш_ключ"

Ошибки

API возвращает стандартные HTTP-коды ошибок:

КодОписаниеРешение
401Неверный API-ключПроверьте правильность ключа в заголовке Authorization
402Недостаточно средствПополните баланс в личном кабинете
404Модель не найденаПроверьте идентификатор модели на странице /models
429Превышен лимит запросовСнизьте частоту запросов или обратитесь в поддержку
500Внутренняя ошибкаПовторите запрос позже. Если ошибка повторяется — напишите в поддержку

Примеры кода

curl

curl
curl -X POST https://zapros.tech/api/v1/chat/completions \
  -H "Authorization: Bearer zpr_ваш_ключ" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/gpt-4o",
    "messages": [{"role": "user", "content": "Привет!"}]
  }'

Python (OpenAI SDK)

python
from openai import OpenAI

client = OpenAI(
    api_key="zpr_ваш_ключ",
    base_url="https://zapros.tech/api/v1"
)

response = client.chat.completions.create(
    model="openai/gpt-4o",
    messages=[{"role": "user", "content": "Привет!"}]
)
print(response.choices[0].message.content)

JavaScript (fetch)

javascript
const response = await fetch("https://zapros.tech/api/v1/chat/completions", {
  method: "POST",
  headers: {
    "Authorization": "Bearer zpr_ваш_ключ",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    model: "openai/gpt-4o",
    messages: [{ role: "user", content: "Привет!" }],
  }),
});

const data = await response.json();
console.log(data.choices[0].message.content);

Нужна помощь? Напишите нам в Telegram или на support@zapros.tech