cURL
curl --request GET \
--url https://api.spellit.ai/api/client/project/{project_id}/item-sets/by-date \
--header 'API-Access-Key: <api-key>'import requests
url = "https://api.spellit.ai/api/client/project/{project_id}/item-sets/by-date"
headers = {"API-Access-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'API-Access-Key': '<api-key>'}};
fetch('https://api.spellit.ai/api/client/project/{project_id}/item-sets/by-date', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.spellit.ai/api/client/project/{project_id}/item-sets/by-date",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"API-Access-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.spellit.ai/api/client/project/{project_id}/item-sets/by-date"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("API-Access-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.spellit.ai/api/client/project/{project_id}/item-sets/by-date")
.header("API-Access-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.spellit.ai/api/client/project/{project_id}/item-sets/by-date")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["API-Access-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"item_sets": [
{
"id": 123,
"name": "item_set_name_abc123",
"created_at": "2024-01-15T10:30:00Z",
"status": "processed",
"status_within_project": "processed"
}
],
"total_count": 1
}{
"detail": "Unauthorized"
}{
"detail": "Forbidden"
}{
"detail": "Project not found"
}{
"detail": "Invalid date format"
}{
"detail": "Internal server error"
}Запросы
Получение item_set по дате/периоду
Получение списка item_set, созданных в указанную дату или за период
GET
/
client
/
project
/
{project_id}
/
item-sets
/
by-date
cURL
curl --request GET \
--url https://api.spellit.ai/api/client/project/{project_id}/item-sets/by-date \
--header 'API-Access-Key: <api-key>'import requests
url = "https://api.spellit.ai/api/client/project/{project_id}/item-sets/by-date"
headers = {"API-Access-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'API-Access-Key': '<api-key>'}};
fetch('https://api.spellit.ai/api/client/project/{project_id}/item-sets/by-date', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.spellit.ai/api/client/project/{project_id}/item-sets/by-date",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"API-Access-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.spellit.ai/api/client/project/{project_id}/item-sets/by-date"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("API-Access-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.spellit.ai/api/client/project/{project_id}/item-sets/by-date")
.header("API-Access-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.spellit.ai/api/client/project/{project_id}/item-sets/by-date")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["API-Access-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"item_sets": [
{
"id": 123,
"name": "item_set_name_abc123",
"created_at": "2024-01-15T10:30:00Z",
"status": "processed",
"status_within_project": "processed"
}
],
"total_count": 1
}{
"detail": "Unauthorized"
}{
"detail": "Forbidden"
}{
"detail": "Project not found"
}{
"detail": "Invalid date format"
}{
"detail": "Internal server error"
}Возвращает список item_set, созданных в указанную дату или за период.
Параметры
project_id(int, path, обязательный) - ID проектаdate_from(date, query, опциональный) - Дата начала периода (YYYY-MM-DD)date_to(date, query, опциональный) - Дата окончания периода (YYYY-MM-DD)page(int, query, опциональный) - Номер страницы для пагинацииper_page(int, query, опциональный) - Количество элементов на странице
Примеры запросов
Пример 1: Получение всех item_set проекта
curl -X GET "https://api.spellit.ai/api/client/project/123/item-sets/by-date" \
-H "API-Access-Key: your access key"
Пример 2: Фильтр с определенной даты
curl -X GET "https://api.spellit.ai/api/client/project/123/item-sets/by-date?date_from=2024-01-15" \
-H "API-Access-Key: your access key"
Пример 3: Фильтр до определенной даты
curl -X GET "https://api.spellit.ai/api/client/project/123/item-sets/by-date?date_to=2024-01-20" \
-H "API-Access-Key: your access key"
Пример 4: Фильтр по периоду
curl -X GET "https://api.spellit.ai/api/client/project/123/item-sets/by-date?date_from=2024-01-15&date_to=2024-01-20" \
-H "API-Access-Key: your access key"
Пример 5: С пагинацией и фильтром по дате
curl -X GET "https://api.spellit.ai/api/client/project/123/item-sets/by-date?date_from=2024-01-15&page=1&per_page=5" \
-H "API-Access-Key: your access key"
Пример 6: За конкретный день
curl -X GET "https://api.spellit.ai/api/client/project/123/item-sets/by-date?date_from=2024-01-15&date_to=2024-01-15" \
-H "API-Access-Key: your access key"
Возможные ошибки
401 Unauthorized- Отсутствует или неверный токен аутентификации403 Forbidden- Проект не принадлежит текущему пользователю404 Not Found- Проект с указанным ID не найден422 Unprocessable Entity- Неверный формат даты в параметрах500 Internal Server Error- Внутренняя ошибка сервера
Логика фильтрации по дате
- Если указан только
date_from- возвращаются item_set с этой даты и позже - Если указан только
date_to- возвращаются item_set до этой даты включительно - Если указаны оба параметра - возвращаются item_set в указанном диапазоне
- Если параметры не указаны - возвращаются все item_set проекта
Статусы и их значения
Статусы item_set:
added- добавлен, ожидает обработкиprocessing- в процессе обработкиprocessed- успешно обработанprocessing_failed- ошибка обработки
Статусы item_set в рамках проекта:
added- добавлен в проектall_items_processed- все элементы обработаныprocessing- в процессе обработкиprocessed- полностью обработанprocessing_failed- ошибка обработки
Дополнительные примеры использования
Примеры обработки ошибок:
Ошибка аутентификации:
# Запрос без токена
curl -X GET "https://api.spellit.ai/api/client/project/123/item-sets/by-date"
# Ответ:
# HTTP/1.1 401 Unauthorized
{
"detail": "Not authenticated"
}
Ошибка доступа к проекту:
# Запрос к проекту, к которому нет доступа
curl -X GET "https://api.spellit.ai/api/client/project/999/item-sets/by-date" \
-H "API-Access-Key: your access key"
# Ответ:
# HTTP/1.1 403 Forbidden
{
"detail": "Project not found or access denied"
}
Ошибка валидации даты:
# Неверный формат даты
curl -X GET "https://api.spellit.ai/api/client/project/123/item-sets/by-date?date_from=invalid-date" \
-H "API-Access-Key: your access key"
# Ответ:
# HTTP/1.1 422 Unprocessable Entity
{
"detail": [
{
"loc": ["query", "date_from"],
"msg": "invalid date format",
"type": "value_error.date"
}
]
}
Authorizations
ApiKeyAuthBearerAuth
API-ключ для доступа к эндпоинтам
Path Parameters
ID проекта
Query Parameters
Дата начала периода (YYYY-MM-DD)
Дата окончания периода (YYYY-MM-DD)
Номер страницы для пагинации
Количество элементов на странице
⌘I