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şlat — POST /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. Sorgula — status 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ıt — 202 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ıt — 202 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. Hesabınızda aynı anda içe aktarılmayı bekleyen 5.000 sayfaya kadar (hesabınızın içe aktarma sınırı) sayfa bulunabilir; buna halihazırda kuyrukta olan veya okunmakta olan sayfalar da dahildir. Bu sınırı aşacak bir çağrı 400 ve error_code: kb_import_page_limit ile reddedilir ve bu çağrıdan hiçbir şey kuyruğa alınmaz. 5.000 sayfadan fazla içe aktarma işlemleri onay gerektirir, bu nedenle sınırı yükseltmek için destek ekibiyle iletişime geçin. 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 yine de Temsilciye bağlanırlar).

Hesabınızın ödeme yapamayacağı bir içe aktarma işlemi, hiçbir şey kuyruğa alınmadan önce 402 ve error_code: kb_import_insufficient_credits ile reddedilir (yanıt ayrıca required_credits, available_credits ve waiting_pages içerir). Her sayfa bu kontrol için en az bir parça (chunk) olarak sayılır ve halihazırda içe aktarılmayı bekleyen sayfalarınız da sayılır, çünkü bunlar yalnızca işlendiklerinde ücretlendirilirler. Otomatik yükleme ayarı yapılmış hesaplar bakiyeleri nedeniyle reddedilmez. Kendi yapay zeka anahtarını kullanan hesaplar da, kredilerle ücretlendirilen Max katmanında çalışmadıkları sürece reddedilmez. Bir alt hesap için available_credits, null değerindedir.

100’den fazla sayfa içe aktarmak birkaç çağrı anlamına gelir. İlk çağrıda tüm seçimin boyutunu plannedTotal olarak gönderin. Sayfa sınırı ve kredi kontrolü bu çağrıda tüm seçimi kapsar, böylece tamamlanamayacak bir içe aktarma işlemi yarıda kesilmek yerine hiçbir sayfa kuyruğa alınmadan reddedilir. İlk çağrı kabul edildiğinde, yanıt bir import_session içerir: bunu aynı seçimin sonraki her çağrısında importSession olarak geri gönderin. Bu çağrılar daha sonra bir saat boyunca onaylanan sayfa sayısına kadar ön kredi kontrolünü atlar. Sayfa sınırı hala geçerlidir ve her sayfa işlendiğinde ücretlendirilir.

İstek alanları

Alan Gerekli Açıklama
urls Evet İçe aktarılacak adresler. Çağrı başına en az 1, en fazla 100.
autoLinkToAgentId Hayır İçe aktarılan her sayfayı bağlamak için bir Yapay Zeka Temsilcisinin kimliği.
autoLinkToCampaignId Hayır Eski. İçe aktarılan her sayfayı bağlamak için bir kampanyanın kimliği.
plannedTotal Hayır Birkaç çağrıya bölünmüş bir seçimin ilk çağrısı: tüm seçimin kaç sayfadan oluştuğu.
importSession Hayır İlk çağrı tarafından döndürülen import_session. Bunu ikinci ve sonraki çağrılarda gönderin. Bu olmadan (veya süresi dolduğunda ya da onaylanan sayfalar kullanıldığında) her çağrı normal kredi kontrolüne tabi tutulur. Eski continuesImport bayrağı yoksayılır.

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ıt — 202 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ıt — 202 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şlamak için adres, genellikle sitenin ana sayfası.
maxPages Hayır Döndürülecek sayfa sayısı için üst sınır. Varsayılan olarak hesabınızın içe aktarma sınırıdır (5.000 sayfa) ve daha yüksek olamaz. Daha yüksek bir değer 400 ve error_code: kb_import_page_limit ile reddedilir. Keşif asla 10.000 sayfayı geçmez.

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).
max_pages integer Hesabınızın içe aktarma sınırı: aynı anda içe aktarılmayı bekleyebilecek en fazla sayfa sayısı.
limit_reached boolean Site max_pages değerinden daha fazla sayfaya sahip olduğunda true olur. Yalnızca ilk max_pages sayfa döndürülür.
limit_notice string Yalnızca limit_reached değeri true olduğunda mevcut olan, sade dille bir açıklama.
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 olarak ne kadar yararlı göründüğü, 0 ile 100 arası.
recommendation string add (içe aktarmaya kesinlikle değer, 90 puan veya üzeri), maybe (sınırda) veya skip (bir asistana nadiren yardımcı olan içerik — 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 Düşündüğünüz halihazırda yüklenmiş dosyalar. Her giriş storage_path, filename ve mime_type gerektirir.
tier Hayır İçe aktarmanın çalışacağı yapay zeka kalite katmanı, böylece tahmin gerçekte ücretlendirileceğiniz tutarla eşleşir. Standart oran için boş bırakın.
prior_chunks Hayır Bir seçimi birkaç çağrıda tahmin ettiğinizde, önceki çağrılarınızın ulaştığı parçalar. Bunlar yalnızca affordable için eklenir, böylece yanıt tüm seçimi kapsar.

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,
  "affordable": true,
  "required_credits": 7,
  "available_credits": 120,
  "checked_chunks": 7,
  "waiting_pages": 0,
  "max_affordable_chunks": 120
}

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.

affordable, halihazırda içe aktarılmayı bekleyen sayfalarınızı (waiting_pages) sayarak hesabınızın bu tahmin için ödeme yapıp yapamayacağını belirtir. max_affordable_chunks, ödeyebileceği en fazla ek parça sayısıdır, böylece birkaç çağrıda büyük bir seçimi tahmin ederken toplamı karşılaştırabilirsiniz. Bakiyeniz sizi sınırlamadığında (otomatik yükleme ayarlı veya Max katmanının altında kendi yapay zeka anahtarınız varsa) null değerindedir ve yalnızca affordable alan (tüm seçimi kapsaması için prior_chunks gönderin) ve null available_credits değerine sahip alt hesaplar için her zaman null değerindedir.


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 (host).
maxPages Hayır Keşfedilecek sayfa sayısı için üst sınır. Varsayılan olarak hesabınızın içe aktarma sınırıdır (5.000 sayfa) ve daha yüksek olamaz. Daha yüksek bir değer 400 ve error_code: kb_import_page_limit ile reddedilir. Keşif asla 10.000 sayfayı geçmez.

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 integer Sitede toplamda kaç sayfa bulunduğu.
new_pages array 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 integer Her zaman 0. Geriye dönük uyumluluk için tutulmuştur; bu uç nokta hiçbir şeyi kuyruğa almaz.
existing_refresh_queued integer Bu siteden daha önce içe aktardığınız kaç sayfanın yeniden okunmaya hazır bulunduğu. Bu çağrı tarafından hiçbir şey kuyruğa alınmaz.
batch_id string Yalnızca bir toplu işlem oluşturulduğunda mevcuttur.
max_pages, limit_reached, limit_notice Sayfa keşfi ile aynı: limit_reached değeri true olduğunda site içe aktarma sınırınızdan daha fazla sayfaya sahipti.

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ıt — 202 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ıt — 201 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