Your AI Connector Docs

Bilgi Bankası API’si

Bilgi bankanız, yapay zekanın okuduğu kaynaktır. İki bölümden oluşur ve bu sayfa her ikisini de kapsar:

  • Bilgi kaynakları (/kb-sources) — platforma beslediğiniz web sayfaları ve yüklenen belgeler. Her biri okunur, bölümlere ayrılır ve yapay zekanızın yanıt verebileceği SSS’lere dönüştürülür.
  • Bilgi grupları (/kb-groups) — tek bir çağrıda bir Temsilciye veya kampanyaya uygulayabileceğiniz, önceden düzenlediğiniz bir bilgi kümesini oluşturduğunuz bir sonraki Temsilcide yeniden kullanmanıza olanak tanıyan adlandırılmış SSS paketleri.

Bir kaynağın ürettiği SSS’ler, elle yazdıklarınızla aynı kütüphaneye düşer; bu nedenle bir içe aktarma işlemi bittiğinde bunları SSS API’si ile okuyabilir, düzenleyebilir ve bağlayabilirsiniz.

Aşağıdaki tüm uç noktalar https://api.youraiconnector.com/v1 temel URL’sine göredir. Her istek kimlik doğrulamasına tabidir; bkz. API Erişimi ve Kimlik Doğrulama. API erişimi ücretli bir özelliktir; bu özellik olmadan istekler 403 ile reddedilir.

İçe aktarma kredisi tüketir. Bir sayfayı veya belgeyi okumak ve ondan SSS yazmak, içeriğin ne kadar olduğuna bağlı olarak yaklaşık oranda kredi tüketir. Büyük bir tarama işlemi başlatmadan önce İçe aktarmayı tahmin et özelliğini kullanın.


İçe aktarma nasıl çalışır

İçe aktarma, beklerken biten bir işlem değil, arka plan görevidir. Her içe aktarma uç noktası hemen bir source_id ile yanıt verir ve siz de bitene kadar o kaynağı sorgularsınız:

  1. İçe aktarmayı başlatPOST /kb-sources/url (tek sayfa), POST /kb-sources/file (yüklenen belge) veya POST /kb-sources/bulk-import (100 sayfaya kadar). Bir kaynak kimliği ve status: "queued" alırsınız.
  2. Sorgulastatus değeri queued veya processing olana kadar GET /kb-sources/{sourceId} ile sorgulayın.
  3. SSS’leri oku — durum ready olduğunda, ürettiği girdiler SSS kütüphanenizdedir: GET /faqs.

Her kaynak şu durumlardan birini bildirir:

Durum Anlamı
queued Okunmayı bekliyor. Henüz ücretlendirme yapılmadı.
processing Şu anda okunuyor ve SSS’lere dönüştürülüyor.
ready Tamamlandı. SSS’leri kütüphanenizde.
failed İçe aktarılamadı. error_message nedenini belirtir.
cancelled Okunmadan önce durduruldu (bkz. İçe aktarmayı durdur).
paused İçe aktarma sırasında kendi yapay zeka anahtarınız başarısız olduğu için durduruldu (bkz. Duraklatılmış içe aktarmayı sürdür).
deleting Toplu silme işlemi üzerinde çalışıyor.
unknown Kayıt herhangi bir durum taşımıyor. Hazır değil olarak değerlendirin.

İçe aktarırken ekleyin. Herhangi bir içe aktarma uç noktasında autoLinkToAgentId parametresini geçin; kaynak ve ürettiği her SSS, takip eden bir bağlama adımı olmaksızın aynı çağrıda o Temsilcinin bilgisine eklenir. autoLinkToCampaignId, klasik bir kampanya için de aynısını yapar. Bağlama işlemi en iyi çaba esasına dayanır: mevcut olmayan veya başka bir hesaba ait olan bir kimlik sessizce atlanır ve içe aktarma yine de çalışır, bu nedenle Temsilciyi geri okuyarak bağlantıyı doğrulayın.


Bir web sayfasını içe aktarın

POST /kb-sources/url

Bilgi bankanıza bir web sayfası ekler.

İstek alanları

Alan Gerekli Açıklama
url Evet Sayfanın tam http veya https adresi.
autoLinkToAgentId Hayır İçe aktarılan kaynağın ekleneceği bir Yapay Zeka Temsilcisinin (AI Agent) kimliği.
autoLinkToCampaignId Hayır Eski. İçe aktarılan kaynağın ekleneceği bir kampanyanın kimliği.

cURL

curl -X POST "https://api.youraiconnector.com/v1/kb-sources/url?apiKey=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com/pricing",
    "autoLinkToAgentId": "ag7HkQ2ZpLxR3mNb"
  }'

JavaScript

const res = await fetch("https://api.youraiconnector.com/v1/kb-sources/url", {
  method: "POST",
  headers: {
    "X-API-Key": "YOUR_API_KEY",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    url: "https://example.com/pricing",
    autoLinkToAgentId: "ag7HkQ2ZpLxR3mNb",
  }),
});
const { source_id } = await res.json();

Python

import requests

res = requests.post(
    "https://api.youraiconnector.com/v1/kb-sources/url",
    headers={"X-API-Key": "YOUR_API_KEY"},
    json={
        "url": "https://example.com/pricing",
        "autoLinkToAgentId": "ag7HkQ2ZpLxR3mNb",
    },
)
source_id = res.json().get("source_id")

Yanıt202 Accepted

{
  "success": true,
  "source_id": "kb_src_abc123",
  "status": "queued",
  "batch_id": "batch_9f2a"
}

Durum ready veya failed olana kadar Bir kaynağı kontrol et ile source_id sorgulayın.

Aynı sayfa zaten bilgi tabanınızda bulunuyorsa, yeni bir şey sıraya alınmaz ve bunun yerine bir 200 alırsınız; ayrıca otomatik bağlantı istediyseniz, mevcut kaynak sizin için yine de bağlanır:

{
  "success": true,
  "status": "exists",
  "skipped_duplicate": 1
}

Eksik bir url veya geçerli bir http/https adresi olmayan bir değer, 400 döndürür.


Yüklenmiş bir belgeyi içe aktarın

POST /kb-sources/file

Hesabınızın dosya depolama alanında zaten bulunan bir belgeyi bilgi kaynağı olarak ekler. Desteklenen türler: PDF, DOCX, TXT, MD, CSV ve XLSX.

Bu uç nokta dosyayı taşımaz. Çok parçalı yükleme, base64 gövdesi veya bir URL’den indirme yoktur: zaten var olan bir dosyanın depolama konumunu gönderirsiniz ve bu dosya kendi yükleme klasörünüzün altında bulunmalıdır (storage_path, users/{your user id}/uploads/ ile başlamalıdır), aksi takdirde istek 403 ile reddedilir. Kontrol paneli, dosyaları sürükleyip bıraktığınızda oraya yerleştirir. Oraya dosya koymanın bir yolu yoksa, bunun yerine Bir web sayfasını içe aktarın seçeneğini kullanın.

İstek alanları

Alan Gerekli Açıklama
storage_path Evet Yüklenen dosyanın bulunduğu yer. users/{your user id}/uploads/ ile başlamalıdır.
filename Evet Uzantısı dahil orijinal dosya adı — dosya türü bu şekilde algılanır.
mime_type Evet Dosyanın MIME türü, örneğin application/pdf.
autoLinkToAgentId Hayır Belgenin ekleneceği bir Yapay Zeka Temsilcisinin (AI Agent) kimliği.
autoLinkToCampaignId Hayır Eski. Belgenin ekleneceği bir kampanyanın kimliği.

cURL

curl -X POST "https://api.youraiconnector.com/v1/kb-sources/file?apiKey=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "storage_path": "users/abc123uid/uploads/handbook.pdf",
    "filename": "handbook.pdf",
    "mime_type": "application/pdf",
    "autoLinkToAgentId": "ag7HkQ2ZpLxR3mNb"
  }'

Yanıt202 Accepted

{
  "success": true,
  "source_id": "kb_src_abc123",
  "status": "queued"
}
Durum Ne zaman
400 Gerekli bir alan eksik veya dosya okuyabileceğimiz bir türde değil.
403 storage_path, kendi yükleme klasörünüzün dışında.

Bir kaynağı kontrol et

GET /kb-sources/{sourceId}

Her içe aktarma ve yenileme işleminden sonra gelen sorgulama. Durum ready veya failed olana kadar tekrarlayın.

cURL

curl "https://api.youraiconnector.com/v1/kb-sources/kb_src_abc123?apiKey=YOUR_API_KEY"

JavaScript

const res = await fetch(
  "https://api.youraiconnector.com/v1/kb-sources/kb_src_abc123",
  { headers: { "X-API-Key": "YOUR_API_KEY" } }
);
const source = await res.json();

Python

import requests

res = requests.get(
    "https://api.youraiconnector.com/v1/kb-sources/kb_src_abc123",
    headers={"X-API-Key": "YOUR_API_KEY"},
)
source = res.json()

Yanıt

{
  "success": true,
  "source_id": "kb_src_abc123",
  "status": "ready",
  "faq_count": 24,
  "section_count": 31,
  "error_message": null
}
Alan Tür Açıklama
status string Kaynağın işlem hattındaki konumu (bkz. durum tablosu).
faq_count integer Bu kaynaktan şimdiye kadar kaç SSS oluşturulduğu.
section_count integer Kaynağın kaç içerik bölümüne ayrıldığı.
error_message string | null Durum failed olduğunda içe aktarmanın neden başarısız olduğu. Aksi takdirde null.

Bir kaynağı silme

DELETE /kb-sources/{sourceId}

Bir bilgi kaynağını kaldırır. Varsayılan olarak, oluşturduğu SSS’ler korunur — bunları da kaldırmak için delete_faqs=true ekleyin.

Sorgu parametreleri

Parametre Gerekli Açıklama
delete_faqs Hayır Bu kaynağın oluşturduğu her SSS’yi de silmek için true olarak ayarlayın. Varsayılan değer false’dir.

cURL

curl -X DELETE "https://api.youraiconnector.com/v1/kb-sources/kb_src_abc123?delete_faqs=true&apiKey=YOUR_API_KEY"

Yanıt

{
  "success": true,
  "faqs_deleted": 24
}

faqs_deleted, delete_faqs=true istemediğiniz sürece 0’dir.


Aynı anda çok sayıda sayfa içe aktarma

POST /kb-sources/bulk-import

Tek bir çağrıda 100 adede kadar web sayfası ekler — bu, Bir web sitesindeki sayfaları keşfetme veya Bir web sitesinde yeni sayfalar bulma işlemlerinin olağan devamıdır. Bilgi tabanınızda zaten bulunan sayfalar çoğaltılmak yerine atlanır (ve istediğinizde Temsilciye bağlı kalmaya devam ederler).

İstek alanları

Alan Gerekli Açıklama
urls Evet İçe aktarılacak adresler. Çağrı başına en az 1, en fazla 100 adet.
autoLinkToAgentId Hayır İçe aktarılan her sayfayı bağlamak için bir Yapay Zeka Temsilcisinin kimliği.
autoLinkToCampaignId Hayır Eski sürüm. İçe aktarılan her sayfayı bağlamak için bir kampanyanın kimliği.

cURL

curl -X POST "https://api.youraiconnector.com/v1/kb-sources/bulk-import?apiKey=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "urls": ["https://example.com/pricing", "https://example.com/faq"],
    "autoLinkToAgentId": "ag7HkQ2ZpLxR3mNb"
  }'

JavaScript

const res = await fetch("https://api.youraiconnector.com/v1/kb-sources/bulk-import", {
  method: "POST",
  headers: {
    "X-API-Key": "YOUR_API_KEY",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    urls: ["https://example.com/pricing", "https://example.com/faq"],
    autoLinkToAgentId: "ag7HkQ2ZpLxR3mNb",
  }),
});
const { queued_source_ids } = await res.json();

Python

import requests

res = requests.post(
    "https://api.youraiconnector.com/v1/kb-sources/bulk-import",
    headers={"X-API-Key": "YOUR_API_KEY"},
    json={
        "urls": ["https://example.com/pricing", "https://example.com/faq"],
        "autoLinkToAgentId": "ag7HkQ2ZpLxR3mNb",
    },
)
queued_source_ids = res.json()["queued_source_ids"]

Yanıt202 Accepted

{
  "success": true,
  "batch_id": "batch_9f2a",
  "queued": 2,
  "skipped_duplicate": 0,
  "queued_source_ids": ["kb_src_abc123", "kb_src_def456"]
}

queued_source_ids içindeki her kimliği Bir kaynağı kontrol et ile sorgulayın. Boş bir urls dizisi, dize olmayan bir girdi veya 100’den fazla girdi göndermek 400 döndürür.


Aynı anda çok sayıda kaynağı silme

POST /kb-sources/bulk-delete

Tek bir çağrıda 2.000 adede kadar bilgi kaynağını kaldırır. Kaldırma işlemi arka planda çalışır ve tamamlandığında size bir e-posta gönderilir.

Toplu silme işlemi SSS’leri de her zaman kaldırır. Aksi belirtilmedikçe onları tutan Bir kaynağı sil işleminin aksine, bu uç nokta her kaynağı ürettiği SSS’lerle birlikte siler. Bunları tutmak için bir seçenek yoktur.

İstek alanları

Alan Gerekli Açıklama
sourceIds Evet Kaldırılacak kaynakların kimlikleri. Çağrı başına en az 1, en fazla 2.000 adet.
domainLabel Hayır Bu temizlik işlemi için kullanıcı dostu bir ad. Yalnızca tamamlama e-postasında kullanılır.

cURL

curl -X POST "https://api.youraiconnector.com/v1/kb-sources/bulk-delete?apiKey=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "sourceIds": ["kb_src_abc123", "kb_src_def456"],
    "domainLabel": "example.com"
  }'

Yanıt202 Accepted

{
  "success": true,
  "batch_id": "del_batch_31a",
  "queued": 2
}

Bir web sitesindeki sayfaları keşfetme

POST /kb-sources/discover-pages

Bir web sitesini başlangıç adresinden itibaren tarar ve aynı alan adında bulunan sayfaları, içe aktarılmaya değer olup olmadıklarına dair bir görüşle birlikte listeler. Hiçbir şey içe aktarılmaz ve sizin adınıza hiçbir şey seçilmez — bu, Birçok sayfayı aynı anda içe aktar kısmına ne göndereceğinize karar vermeden önce çalıştırdığınız “bu sitede neler var” adımıdır.

İstek alanları

Alan Gerekli Açıklama
url Evet Keşfetmeye başlanacak adres, genellikle sitenin ana sayfası.
maxPages Hayır Döndürülecek sayfa sayısı için üst sınır.

cURL

curl -X POST "https://api.youraiconnector.com/v1/kb-sources/discover-pages?apiKey=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "url": "https://example.com", "maxPages": 100 }'

Yanıt

{
  "success": true,
  "source_type": "sitemap",
  "pages": [
    {
      "url": "https://example.com/pricing",
      "title": "Pricing",
      "depth": 1,
      "score": 95,
      "recommendation": "add",
      "reason_key": "core_page"
    }
  ]
}
Alan Tür Açıklama
source_type string Sayfaların nasıl bulunduğu — sitemap (sitenin kendi site haritası) veya link_discovery (bağlantıları takip ederek).
url string Sayfanın tam adresi.
title string | null Okunabildiği durumlarda sayfa başlığı.
depth integer Bu sayfanın başlangıç sayfasından kaç bağlantı uzakta bulunduğu.
score integer Sayfanın bilgi kaynağı olarak ne kadar yararlı göründüğü, 0 ile 100 arası.
recommendation string add (açıkça içe aktarmaya değer, 90 puan veya üzeri), maybe (sınırda) veya skip (asistan için nadiren yardımcı olan içerikler — değişiklik günlükleri, yasal sayfalar, yinelenen çeviriler).
reason_key string Önerinin arkasındaki kararlı, makine tarafından okunabilir bir neden; örneğin core_page, changelog_history, legal_page veya locale_duplicate.

Keşif en iyi çaba esasına dayanır. Site okunamıyorsa yanıt yine de 200 olur; success: false, boş bir pages listesi ve bir error mesajı ile birlikte. pages kısmını okumadan önce success kısmını kontrol edin.

Eksik bir url, 400 döndürür.


Bir içe aktarma işleminin maliyetini tahmin etme

POST /kb-sources/estimate-cost

Önerilen bir içe aktarma işleminin, siz onaylamadan önce kaç kredi tüketeceğini hesaplar. Sayfalar getirilir ve boyutlarını ölçmek için belgeler okunur, ancak hiçbir şey içe aktarılmaz ve tahminin kendisi kredi harcamaz.

İstek alanları

Alan Gerekli Açıklama
urls Hayır İçe aktarmayı düşündüğünüz sayfa adresleri.
files Hayır Zaten yüklenmiş olan ve düşündüğünüz dosyalar. Her giriş storage_path, filename ve mime_type gerektirir.
tier Hayır İçe aktarma işleminin üzerinde çalışacağı yapay zeka kalite düzeyi; böylece tahmin, gerçekte ücretlendirileceğiniz tutarla eşleşir. Standart oran için boş bırakın.

urls, files veya her ikisini birden gönderin.

cURL

curl -X POST "https://api.youraiconnector.com/v1/kb-sources/estimate-cost?apiKey=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "urls": ["https://example.com/pricing"] }'

Yanıt

{
  "success": true,
  "estimates": [
    { "ref": "https://example.com/pricing", "chunks": 7, "credits": 7 }
  ],
  "total_chunks": 7,
  "total_credits": 7
}

Her satır, girişinizle eşleştirebilmeniz için ref içindeki URL’yi veya depolama yolunu geri yansıtır. Okunamayan bir sayfa veya dosya yine de bir satır alır, bir parça olarak sayılır ve üzerinde bir error bulunur.


Bir içe aktarma işlemini durdurun

POST /kb-sources/cancel-import

İçe aktarma kuyruğunda bekleyen sayfaları durdurur — beklediğinizden daha büyük olduğu ortaya çıkan bir tarama için “içe aktarmayı durdur” düğmesi. Bekleyen bir sayfayı iptal etmenin hiçbir maliyeti yoktur, çünkü henüz okunmamıştır.

Hali hazırda işlenmekte olan sayfalar durdurulmaz: işlemleri devam etmektedir ve her halükarda ücretlendirilirler, bu yüzden tamamlanırlar. Yanıt, bunlardan kaç tane olduğunu bildirir.

İstek alanları

Alan Gerekli Açıklama
host Hayır Yalnızca bu web sitesindeki bekleyen sayfaları durdurun (örneğin docs.example.com). Hesaptaki tüm bekleyen içe aktarmaları durdurmak için boş bırakın.

cURL

curl -X POST "https://api.youraiconnector.com/v1/kb-sources/cancel-import?apiKey=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "host": "docs.example.com" }'

Yanıt

{
  "success": true,
  "cancelled": 412,
  "in_flight": 3
}

Duraklatılmış bir içe aktarma işlemini devam ettirin

POST /kb-sources/resume-import

Kendi yapay zeka anahtarınızın çalışmayı durdurması nedeniyle duraklatılan bir içe aktarma işlemini yeniden başlatır.

Bunu çağırmak, içe aktarma işlemini o anda aktif olan anahtar üzerinde bitirmeyi kabul ettiğiniz anlamına gelir — bu, kendi anahtarınız hala çalışmıyorsa platform kredisi harcamanız gerekebileceği anlamına gelebilir.

İstek alanları

Alan Gerekli Açıklama
host Hayır Yalnızca bu web sitesinde duraklatılmış sayfaları devam ettirin. Duraklatılan her şeyi devam ettirmek için boş bırakın.

cURL

curl -X POST "https://api.youraiconnector.com/v1/kb-sources/resume-import?apiKey=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'

Yanıt

{
  "success": true,
  "resumed": 58
}

Bir web sitesinde yeni sayfalar bulun

POST /kb-sources/refresh-domain

Daha önce içe aktardığınız bir web sitesini keşfeder ve yalnızca bilgi tabanınızda henüz olmayan sayfaları, her biri sayfa keşfi ile aynı öneriye sahip olacak şekilde bildirir. Hiçbir şey içe aktarılmaz ve hiçbir şey değiştirilmez.

İki takip işlemi kasıtlı olarak ayrı çağrılardır, bu yüzden bundan vazgeçmenin hiçbir maliyeti yoktur:

İstek alanları

Alan Gerekli Açıklama
baseUrl Evet Web sitesindeki herhangi bir adres veya sadece ana bilgisayar adı.
maxPages Hayır Keşfedilecek sayfa sayısı için üst sınır.

cURL

curl -X POST "https://api.youraiconnector.com/v1/kb-sources/refresh-domain?apiKey=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "baseUrl": "https://example.com" }'

Yanıt

{
  "success": true,
  "source_type": "sitemap",
  "discovered": 249,
  "new_pages": [
    {
      "url": "https://example.com/new-guide",
      "score": 95,
      "recommendation": "add",
      "reason_key": "core_page"
    }
  ],
  "new_urls_queued": 0,
  "existing_refresh_queued": 249
}
Alan Tür Açıklama
discovered tamsayı Sitede toplamda kaç sayfa bulundu.
new_pages dizi Henüz bilgi tabanınızda olmayan sayfalar. Sizin için hiçbir şey kuyruğa alınmaz; istediklerinizi içe aktarın.
new_urls_queued tamsayı Her zaman 0. Geriye dönük uyumluluk için tutulmuştur; bu uç nokta hiçbir şeyi kuyruğa almaz.
existing_refresh_queued tamsayı Bu siteden daha önce içe aktardığınız sayfalardan kaç tanesinin yeniden okunmaya hazır olduğu bulundu. Bu çağrı ile hiçbir şey kuyruğa alınmaz.
batch_id dize Yalnızca bir toplu iş oluşturulduğunda mevcuttur.

Keşif gibi, bu da yumuşak bir şekilde başarısız olur: okunamayan bir site yine de 200, success: false, boş bir new_pages ve bir error ile döner. Eksik veya boş bir baseUrl, 400 döndürür.


Bir web sitesindeki her sayfayı yenile

POST /kb-sources/trigger-domain-refresh

Bir web sitesinden daha önce içe aktardığınız her sayfayı yeniden okur, böylece SSS’ler sitenin güncel içeriğini takip eder: değiştirilen bölümler güncellenir, yeni bölümler eklenir ve kaldırılan bölümler silinir.

Bu, işi kuyruğa alır ve hemen döner. Ardından Bir web sitesi yenilemesini takip et ile takip edin ve Bir web sitesi yenilemesini durdur ile durdurun.

İstek alanları

Alan Gerekli Açıklama
baseUrl Evet Web sitesindeki herhangi bir adres veya sadece ana bilgisayar adı.

cURL

curl -X POST "https://api.youraiconnector.com/v1/kb-sources/trigger-domain-refresh?apiKey=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "baseUrl": "https://example.com" }'

Yanıt

{
  "success": true,
  "queued": 249
}

Bir web sitesi yenilemesini takip et

GET /kb-sources/domain-refresh-status

Bir web sitesi yenilemesinin ne kadar ilerlediğini gösterir, böylece “249’un 221’i” gibi bir ilerleme durumu gösterebilirsiniz.

Sorgu parametreleri

Parametre Gerekli Açıklama
baseUrl Evet Web sitesindeki herhangi bir adres veya sadece ana bilgisayar adı.

cURL

curl "https://api.youraiconnector.com/v1/kb-sources/domain-refresh-status?baseUrl=https://example.com&apiKey=YOUR_API_KEY"

Yanıt

{
  "success": true,
  "job": {
    "domainBatchId": "job_7c1e",
    "host": "example.com",
    "total": 249,
    "pending": 28,
    "succeeded": 219,
    "failed": 2,
    "skippedDuplicate": 0,
    "status": "refreshing",
    "startedAtIso": "2026-06-15T09:00:00.000Z"
  }
}

O web sitesi için hiçbir yenileme çalışmadığında job, null değerindedir. Şimdiye kadar tamamlanan sayfalar total eksi pending’tür. status işi; refreshing (sayfalar üzerinde çalışılıyor), deduplicating (sonundaki temizleme geçişi) veya nihai completed, failed ve cancelled durumlarından biridir. domainBatchId değerini saklayın; iptal uç noktasına ileteceğiniz değer budur.

Eksik veya boş bir baseUrl, 400 döndürür.


Bir web sitesi yenilemesini durdurun

POST /kb-sources/refresh-domain/cancel

Hâlâ sayfaları üzerinde işlem yapan bir web sitesi yenilemesini durdurur. Zaten tamamlanmış sayfalar güncellenmiş içeriklerini korur; henüz başlanmamış sayfalar bırakılır ve yeniden okunmakta olan sayfalar önceki durumlarına geri döner.

İstek alanları

Alan Gerekli Açıklama
jobId Evet Bir web sitesi yenilemesini takip et tarafından döndürülen domainBatchId.

cURL

curl -X POST "https://api.youraiconnector.com/v1/kb-sources/refresh-domain/cancel?apiKey=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "jobId": "job_7c1e" }'

Yanıt

{
  "success": true,
  "status": "cancelled",
  "cancelled_units": 28,
  "sources_reset": 3,
  "sources_cancelled": 25
}
Alan Tür Açıklama
status string Bu çağrıdan sonra yenilemenin durumu: cancelled, deduplicating, completed veya failed.
cancelled_units integer İptal gerçekleştiğinde hâlâ bekleyen iş miktarı. Tekrarlanan bir iptalde 0.
sources_reset integer İşlemden geri alınan ve ready durumuna döndürülen sayfalar.
sources_cancelled integer Bu yenilemenin henüz kuyrukta olan ve şimdi iptal edilen yepyeni sayfaları.

İki kez iptal etmek zararsızdır; ikinci çağrı aynı nihai durumu bildirir. Yenileme temizleme aşamasına geçtikten sonra artık durdurulamaz ve yanıt success: false ve reason: "already_finalizing" ile döner. Eksik bir jobId, 400 döndürür ve hesabınızda bulunmayan bir iş 404 döndürür.


Tek bir kaynağı yenileyin

POST /kb-sources/{sourceId}/refresh

Daha önce içe aktardığınız bir web sayfasını yeniden okur ve SSS’lerini sayfanın mevcut içeriğiyle uyumlu hale getirir: değiştirilen bölümler güncellenir, yenileri eklenir, kaldırılanlar çıkarılır.

cURL

curl -X POST "https://api.youraiconnector.com/v1/kb-sources/kb_src_abc123/refresh?apiKey=YOUR_API_KEY"

Yanıt202 Accepted

{
  "success": true,
  "source_id": "kb_src_abc123",
  "status": "queued"
}

Durumu queued ve processing değerlerinden çıkana kadar kaynağı sorgulayın. Hesabınızda bulunmayan bir kaynak kimliği 404 döndürür.


En alakalı sayfaları seçin

POST /kb-sources/select-relevant-pages

Yapay zekadan, bir aday listesinden bir işletmeyi en iyi tanımlayan beş sayfayı seçmesini ister; bu, bir web sitesinden kampanya kılavuzu oluştururken kullanılır. Bu işlem kredi tüketir.

İstek alanları

Alan Gerekli Açıklama
urls Evet Genellikle sayfa keşfinden elde edilen, seçim yapılacak aday sayfa adresleri.
homeUrl Evet Seçim için bağlam olarak kullanılan sitenin ana sayfası.

cURL

curl -X POST "https://api.youraiconnector.com/v1/kb-sources/select-relevant-pages?apiKey=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "homeUrl": "https://example.com",
    "urls": ["https://example.com/about", "https://example.com/pricing"]
  }'

Yanıt

{
  "success": true,
  "pages": [
    { "url": "https://example.com/pricing", "title": "Pricing", "type": "pricing" }
  ]
}

Bu bir yardımcıdır, kaynak değildir: hata durumunda yine de 200, success: false, boş bir pages listesi ve bir error mesajı ile yanıt verir.


Bilgi grupları

Bir bilgi grubu, tek bir çağrıda bir Temsilciye veya kampanyaya uygulayabileceğiniz, “Gönderim ve iadeler”, “İşe alım” gibi SSS’lerden oluşan adlandırılmış bir pakettir. Grup, kopyaları değil referansları tutar: SSS’lerin kendisi tek bir kütüphanenizde kalır, bu nedenle birini FAQs API ile düzenlemek, kullanıldığı her yerde güncellenmesini sağlar.

Bir grubu uygulamak yalnızca eksik olanı ekler, bu nedenle aynı grubu iki kez uygulamak zararsızdır ve ikinci seferde added_count, 0 olarak döner.


Bilgi grubu oluşturma

POST /kb-groups

Bir grup oluşturur. Boş başlar; Bir gruba SSS ekle ile gruba SSS ekleyebilirsiniz.

İstek alanları

Alan Gerekli Açıklama
name Evet Grubun adı.

cURL

curl -X POST "https://api.youraiconnector.com/v1/kb-groups?apiKey=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "name": "Shipping and returns" }'

JavaScript

const res = await fetch("https://api.youraiconnector.com/v1/kb-groups", {
  method: "POST",
  headers: {
    "X-API-Key": "YOUR_API_KEY",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({ name: "Shipping and returns" }),
});
const { group_id } = await res.json();

Python

import requests

res = requests.post(
    "https://api.youraiconnector.com/v1/kb-groups",
    headers={"X-API-Key": "YOUR_API_KEY"},
    json={"name": "Shipping and returns"},
)
group_id = res.json()["group_id"]

Yanıt201 Created

{
  "success": true,
  "group_id": "kbg_abc123"
}

Bilgi grubunu yeniden adlandırma

PUT /kb-groups/{groupId}

Bir grubun adını değiştirir. İçindeki SSS’lere dokunulmaz.

İstek alanları

Alan Gerekli Açıklama
name Evet Grubun yeni adı.

cURL

curl -X PUT "https://api.youraiconnector.com/v1/kb-groups/kbg_abc123?apiKey=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "name": "Shipping, returns and refunds" }'

Yanıt

{
  "success": true,
  "group_id": "kbg_abc123",
  "name": "Shipping, returns and refunds"
}

Bilgi grubunu silme

DELETE /kb-groups/{groupId}

Grubu siler. Yalnızca paket kaldırılır; içindeki SSS’ler kütüphanenizde kalır ve grubun daha önce uygulandığı her şey bu SSS’leri korumaya devam eder.

cURL

curl -X DELETE "https://api.youraiconnector.com/v1/kb-groups/kbg_abc123?apiKey=YOUR_API_KEY"

Yanıt

{
  "success": true
}

Bir gruba SSS ekleme

POST /kb-groups/{groupId}/faqs

Mevcut bir SSS’yi bir gruba dahil eder. Bu işlem yalnızca paketi değiştirir; SSS’yi tek başına herhangi bir Temsilciye (Agent) bağlamaz; bunun için grubu uygulamanız gerekir.

İstek alanları

Alan Gerekli Açıklama
faq_id Evet Eklenecek SSS’nin kimliği (ID).

cURL

curl -X POST "https://api.youraiconnector.com/v1/kb-groups/kbg_abc123/faqs?apiKey=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "faq_id": "aBcD1234eFgH5678" }'

Yanıt

{
  "success": true,
  "group_id": "kbg_abc123",
  "faq_id": "aBcD1234eFgH5678"
}

Bir gruptan SSS kaldırma

DELETE /kb-groups/{groupId}/faqs/{faqId}

Bir SSS’yi gruptan çıkarır. SSS’nin kendisi silinmez ve grubun daha önce uygulandığı Temsilciler (Agent) SSS’yi tutmaya devam eder.

cURL

curl -X DELETE "https://api.youraiconnector.com/v1/kb-groups/kbg_abc123/faqs/aBcD1234eFgH5678?apiKey=YOUR_API_KEY"

Yanıt

{
  "success": true,
  "group_id": "kbg_abc123",
  "faq_id": "aBcD1234eFgH5678"
}

Bir Temsilciye (Agent) grup uygulama

POST /kb-groups/{groupId}/apply-to-agent

Gruptaki her SSS’yi tek bir çağrıda bir Yapay Zeka Temsilcisinin (AI Agent) bilgisine ekler; bu, yeni bir Temsilciye halihazırda düzenlediğiniz bir bilgi kümesini vermenin hızlı yoludur.

İstek alanları

Alan Gerekli Açıklama
agent_id Evet Grubun uygulanacağı Yapay Zeka Temsilcisinin (AI Agent) kimliği (ID).

cURL

curl -X POST "https://api.youraiconnector.com/v1/kb-groups/kbg_abc123/apply-to-agent?apiKey=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "agent_id": "ag7HkQ2ZpLxR3mNb" }'

JavaScript

const res = await fetch(
  "https://api.youraiconnector.com/v1/kb-groups/kbg_abc123/apply-to-agent",
  {
    method: "POST",
    headers: {
      "X-API-Key": "YOUR_API_KEY",
      "Content-Type": "application/json",
    },
    body: JSON.stringify({ agent_id: "ag7HkQ2ZpLxR3mNb" }),
  }
);
const { added_count } = await res.json();

Python

import requests

res = requests.post(
    "https://api.youraiconnector.com/v1/kb-groups/kbg_abc123/apply-to-agent",
    headers={"X-API-Key": "YOUR_API_KEY"},
    json={"agent_id": "ag7HkQ2ZpLxR3mNb"},
)
added_count = res.json()["added_count"]

Yanıt

{
  "success": true,
  "group_id": "kbg_abc123",
  "agent_id": "ag7HkQ2ZpLxR3mNb",
  "added_count": 12
}

added_count, aslında kaç SSS’nin eklendiğini gösterir; grup boş olduğunda veya zaten uygulandığında 0 değerini döndürür.


Bir kampanyaya grup uygulama

POST /kb-groups/{groupId}/apply-to-campaign

Yukarıdaki çağrının klasik kampanya sürümüdür. Temsilci (Agent) tabanlı bir hesapta bunun yerine Bir Temsilciye grup uygulama seçeneğini kullanın.

İstek alanları

Alan Gerekli Açıklama
campaign_id Evet Grubun uygulanacağı kampanyanın kimliği (ID).

cURL

curl -X POST "https://api.youraiconnector.com/v1/kb-groups/kbg_abc123/apply-to-campaign?apiKey=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "campaign_id": "campaign123" }'

Yanıt

{
  "success": true,
  "group_id": "kbg_abc123",
  "campaign_id": "campaign123",
  "added_count": 12
}

Bilgi Bankası API hataları

Bu uç noktalar standart hata zarfını döndürür:

{
  "success": false,
  "error": "Knowledge base source not found."
}
Durum Bir bilgi bankası uç noktasında gerçekleştiğinde
400 Gerekli bir alan eksik veya geçersiz — boş bir url, eksik bir baseUrl veya jobId, toplu içe aktarmada 100’den fazla URL, toplu silmede 2.000’den fazla kimlik veya okuyamadığımız bir dosya türü.
402 İçe aktarma işlemini çalıştırmak için yeterli kredi yok. Kredi yükleyin ve tekrar deneyin.
403 Kendi yükleme klasörünüzün dışında bir storage_path — veya planınız API erişimini içermiyor.
404 Kaynak, grup, SSS, Temsilci, kampanya veya yenileme işi bulunamadı — ya mevcut değil ya da başka bir hesaba ait.

Hafif hatalar hata değildir. Keşif (discover-pages, refresh-domain) ve sayfa seçme yardımcısı, web sitesi okunamadığında isteği başarısız kılmak yerine success: false ve bir error mesajı ile 200 yanıtını verir. Verileri okumadan önce her zaman success kontrol edin.

Her uç noktanın döndürebileceği ortak kodlar — 401, 403 (planınız API erişimini içermiyor), 429 (hız sınırı) ve 500 — yeniden deneme rehberliği ile birlikte Hatalar ve Sayfalandırma bölümünde listelenmiştir.


İlgili