ИИ-ответы и ИИ-выдача
Один Arsenkin ai-serp workflow собирает ответ и источники; purpose определяет, обновлять ли позиционную проекцию.
GET
/projects/{projectId}/ai-answer-collectionsai:readPOST/projects/{projectId}/ai-answer-collectionsai:runGET/projects/{projectId}/ai-answer-collections/{jobId}ai:readGET/projects/{projectId}/ai-answer-collections/{jobId}/resultai:readPOST/projects/{projectId}/ai-answer-collections/{jobId}/cancelai:runСобрать ИИ-ответы и позицию
POST
/projects/{projectId}/ai-answer-collectionsai:runОбычный ИИ-съёмbash
curl -X POST "https://api.seonorita.ru/api/v1/projects/<projectId>/ai-answer-collections" \
-H "Authorization: Bearer $SEO_API_TOKEN" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: ai-answer:batch-42" \
-d '{
"items": [{ "id": "<keywordId>", "version": 7 }],
"searchEngine": "YANDEX",
"regionCode": "213",
"device": "DESKTOP",
"host": "example.ru",
"excludeSubdomains": false,
"brands": [],
"purpose": "POSITION_TRACKING"
}'Собрать конкурентов ИИ
Для конкурентного режима передайте purpose: "COMPETITOR_SERP". В Web-интерфейсе отдельного поля домена нет: он берётся из проекта автоматически. В публичном API host остаётся обязательным, потому что его требует Arsenkin ai-serp; передавайте домен того же проекта.
JSON · ИИ-конкуренты без сохранения позицииjson
{
"items": [{ "id": "<keywordId>", "version": 7 }],
"searchEngine": "GOOGLE",
"regionCode": "1011969",
"device": "DESKTOP",
"host": "example.ru",
"excludeSubdomains": false,
"brands": [],
"purpose": "COMPETITOR_SERP",
"saveProjectPosition": false
}Статус и результат
Polling и постраничный результатbash
curl "https://api.seonorita.ru/api/v1/projects/<projectId>/ai-answer-collections/<jobId>" \
-H "Authorization: Bearer $SEO_API_TOKEN"
curl "https://api.seonorita.ru/api/v1/projects/<projectId>/ai-answer-collections/<jobId>/result?limit=200" \
-H "Authorization: Bearer $SEO_API_TOKEN"Для COMPETITOR_SERP каждая сохранённая строка содержит упорядоченный массив snapshot.sources с позицией, URL, title и description. В обычном результате ИИ-ответов этот массив не передаётся.
200 · Отдельный результат ИИ-конкурентовjson
{
"data": {
"collection": { "purpose": "COMPETITOR_SERP" },
"rows": [{
"keyword": "seo аудит",
"snapshot": {
"sourceCount": 1,
"sources": [{
"position": 1,
"url": "https://competitor.example/audit",
"title": "SEO-аудит",
"description": "Источник ИИ-ответа"
}]
}
}]
}
}