Your AI Connector Docs

API punktów wejścia

Punkt wejścia to reguła routingu: „gdy wydarzy się to na tym kanale, przekaż konwersację temu Agentowi”. Podłączenie kanału pozwala na odbieranie wiadomości na koncie, a utworzenie Agenta daje możliwość udzielenia odpowiedzi, ale żadna z tych czynności nie decyduje o tym, kto odpowie na pierwszą wiadomość od nieznajomego. Robią to punkty wejścia. Informacje o samym produkcie znajdują się w przewodniku po punktach wejścia.

Wszystkie poniższe przykłady pokazują formularz zapytania ?apiKey= w cURL oraz nagłówek X-API-Key w JavaScript i Pythonie — oba działają w każdym punkcie końcowym.

W eksploratorze API. Każdy punkt końcowy na tej stronie znajduje się w opublikowanej specyfikacji OpenAPI, dzięki czemu możesz przeglądać jego dokładne pola i uruchamiać zapytania na żywo w eksploratorze API.


Jedno wywołanie, którego potrzebuje większość integracji

Podłącz kanał, utwórz Agenta, a następnie skieruj kanał na Agenta:

curl -X PUT "https://api.youraiconnector.com/v1/entry-points/channel-defaults?apiKey=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "channel": "whatsapp", "agent_id": "ag7HkQ2ZpLxR3mNb" }'

To cała konfiguracja dla scenariusza „ten Agent odpowiada na WhatsApp”. Wszystko inne na tej stronie dotyczy węższych reguł (słowa kluczowe, komentarze, nowi obserwujący), wielu numerów na jednym kanale oraz odczytywania bieżącej konfiguracji.


Jak podejmowana jest decyzja o routingu

Gdy nadejdzie wiadomość, platforma przechodzi przez ustaloną hierarchię, a pierwszy krok, który podejmie decyzję, wygrywa:

  1. Człowiek przejął konwersację — brak AI.
  2. Kontakt jest już przypisany do Agenta, ręcznie lub dlatego, że konwersacja z tym Agentem trwa — ten sam Agent ją kontynuuje. Punkty wejścia nigdy nie przenoszą istniejącej konwersacji; aby przekazać czat innemu Agentowi, przypisz go (w aplikacji lub za pomocą akcji Automatyzacje).
  3. Kontakt odpowiada na transmisję — odpowiada Agent transmisji lub nikt, jeśli transmisja go nie miała.
  4. Dopasowano wąski punkt wejścia. Reguły słów kluczowych wygrywają z regułami komentarzy, które wygrywają z regułami obserwujących. Pomiędzy dwiema regułami tego samego rodzaju wygrywa ta, która została ostatnio zaktualizowana.
  5. Domyślne ustawienie kanału, na który nadeszła wiadomość. Ustawienie domyślne ograniczone do konkretnego numeru, na który napisał kontakt, wygrywa z ustawieniem domyślnym dla całego kanału.
  6. Nic nie pasuje — wiadomość trafia do skrzynki odbiorczej Twojego zespołu i żaden asystent nie odpowiada.

Dwie rzeczy łagodzą krok 6. Konto z dokładnie jednym aktywnym Agentem i bez skonfigurowanego ustawienia domyślnego dla kanału nadal otrzymuje tego Agenta jako odpowiadającego, więc nowe konto, które łączy WhatsApp i wysyła wiadomość testową, nie pozostaje w ciszy. Ta zasada nigdy nie ma zastosowania do kanału, który ma regułę słowa kluczowego (tam wiadomość, która nie pasuje do żadnego słowa kluczowego, jest celowo pozostawiana człowiekowi) i nigdy nie nadpisuje kanału, który ustawiłeś na „nikt” (zobacz Pozostawienie kanału bez odpowiedzi).

To, czy hierarchia jest aktywna dla konta, jest raportowane przez GET /entry-points/routing-status. Obecnie jest ona włączona dla każdego konta; wywołanie istnieje po to, aby integracja mogła to sprawdzić, zamiast zakładać.


Obiekt punktu wejścia

{
  "id": "ep3KmQ8vTzXr5nWd",
  "type": "keyword",
  "channels": ["whatsapp", "instagram"],
  "agent_id": "ag7HkQ2ZpLxR3mNb",
  "enabled": true,
  "match_config": {
    "keywords": ["pricing", "quote"]
  },
  "first_response_mode": null,
  "first_response_exact_text": null,
  "public_comment_reply_exact_text": null,
  "created_at": 1700000000000,
  "last_modified_at": 1700000000000
}
Pole Opis
id Identyfikator reguły.
type Jeden z channel_default, keyword, instagram_comment, facebook_comment, instagram_follower. Zobacz Typy reguł.
channels Kanały, które obejmuje reguła: whatsapp, whatsapp_web, instagram, instagram_private, messenger, telegram, sms, email, chat_widget, custom_channel, line, viber, tiktok, imessage, linkedin, skool. Reguły komentarzy używają instagram lub facebook.
agent_id Agent, na którego kieruje reguła. Puste w przypadku domyślnego ustawienia kanału, które jest celowo ustawione na „nikt”.
enabled false dla reguły, która została wycofana. Wycofane reguły to historia, a nie aktywne ustawienia, i obie są zwracane przez punkty końcowe listy.
match_config Ustawienia specyficzne dla typu — zobacz Typy reguł. Puste dla zwykłego ustawienia domyślnego kanału.
first_response_mode ai (domyślnie) pozwala Agentowi napisać pierwszą odpowiedź; exact_text wysyła first_response_exact_text dosłownie. Obecnie honorowane w regułach komentarzy; akceptowane i przechowywane w regułach słów kluczowych, ale jeszcze tam nieużywane.
first_response_exact_text Stała pierwsza wiadomość DM, gdy first_response_mode to exact_text. {{first_name}} jest zastępowane imieniem osoby lub „there”, gdy jest ono nieznane.
public_comment_reply_exact_text Tylko reguły komentarzy: stała publiczna odpowiedź pod komentarzem. Puste pole pomija publiczną odpowiedź; wiadomość DM nadal jest wysyłana.
created_at, last_modified_at Milisekundy epoki.

Typy reguł

type Uruchamia się, gdy match_config
channel_default Nowy, nieznany kontakt pisze na jednym z channels. phone_numbers (opcjonalnie) — ogranicz ustawienie domyślne do jednego podłączonego numeru zamiast całego kanału. Zobacz Jeden Agent na numer WhatsApp.
keyword Pierwsza wiadomość nowego kontaktu to jedno z keywords. Dopasowanie ignoruje wielkość liter i spacje, a bliskie dopasowanie („info pls” względem INFO) jest nadal rozwiązywane przez AI, chyba że ustawisz fuzzy_match: false — zrób to dla kodów promocyjnych i SKU, gdzie bliskie dopasowanie nie może się liczyć. Nie dotyczy sms lub imessage. keywords (przynajmniej jedno, wymagane), fuzzy_match (domyślnie true).
instagram_comment / facebook_comment Ktoś komentuje jeden z Twoich postów. channels musi zawierać odpowiednio instagram lub facebook. keywords (puste oznacza, że każdy komentarz pod obserwowanymi postami się liczy), post_ids (puste oznacza wszystkie posty), delay_minutes (czekaj przed wysłaniem DM), reply_instructions (jak Agent powinien sformułować swoją odpowiedź).
instagram_follower Ktoś nowy obserwuje Twoje konto na Instagramie. Wymaga połączenia Instagram (Osobisty) — oficjalne połączenie DM na Instagramie nie widzi obserwujących. reply_instructions (opcjonalnie).

Reguła słowa kluczowego na kanale bez domyślnego ustawienia kanału działa również jako bramka: wiadomości, które nie pasują do żadnego ze słów kluczowych, nie otrzymują automatycznej odpowiedzi i po prostu trafiają do Twojej skrzynki odbiorczej, nawet na koncie z jednym Agentem.


Przypisz kanał do Agenta

PUT /entry-points/channel-defaults — sprawia, że jeden Agent staje się osobą odpowiadającą na nowe kontakty na danym kanale. Każdy inny Agent ustawiony obecnie jako domyślny dla tego kanału jest wycofywany w tym samym wywołaniu, dzięki czemu kanał ma zawsze dokładnie jedną osobę odpowiadającą. Ustawienie Agenta, który już jest domyślny, niczego nie zmienia.

Pole Wymagane Opis
channel Tak Kanał, na przykład whatsapp, whatsapp_web, instagram, messenger, telegram, sms, email, chat_widget lub custom_channel.
agent_id Tak Agent, który powinien odpowiadać. Musi należeć do Twojego konta.
phone_number Nie Ogranicz domyślne ustawienie do jednego z Twoich połączonych numerów na tym kanale (format E.164 z wiodącym +, dokładnie tak, jak jest widoczny w połączonych numerach). Pozostawia domyślne ustawienie dla całego kanału bez zmian. Zobacz Jeden Agent na numer WhatsApp.

cURL

curl -X PUT "https://api.youraiconnector.com/v1/entry-points/channel-defaults?apiKey=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "channel": "instagram", "agent_id": "ag7HkQ2ZpLxR3mNb" }'

JavaScript

const res = await fetch("https://api.youraiconnector.com/v1/entry-points/channel-defaults", {
  method: "PUT",
  headers: {
    "X-API-Key": "YOUR_API_KEY",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({ channel: "instagram", agent_id: "ag7HkQ2ZpLxR3mNb" }),
});
const data = await res.json();

Python

import requests

res = requests.put(
    "https://api.youraiconnector.com/v1/entry-points/channel-defaults",
    headers={"X-API-Key": "YOUR_API_KEY"},
    json={"channel": "instagram", "agent_id": "ag7HkQ2ZpLxR3mNb"},
)
data = res.json()

Odpowiedź

{
  "success": true,
  "entry_point_id": "ep3KmQ8vTzXr5nWd",
  "disabled_entry_point_ids": ["epPrevious1234"]
}

entry_point_id to reguła obecnie obowiązująca; disabled_entry_point_ids zawiera listę wszystkich reguł wycofanych, aby zrobić dla niej miejsce (puste, jeśli nie było nic do zastąpienia). Dotyczy to tylko kontaktów, z którymi nigdy nie rozmawiałeś — każdy, kto jest już w trakcie rozmowy z Agentem, zachowuje tego Agenta.

400 oznacza, że brakuje channel lub agent_id, Agent należy do innego konta lub phone_number nie jest jednym z Twoich połączonych numerów.


Zobacz, kto odpowiada na poszczególnych kanałach

GET /entry-points/channel-defaults — domyślne ustawienia każdego kanału na koncie, od najnowszego, w tym wycofane (enabled: false) oraz kanał celowo ustawiony na nikogo (agent_id: ""). Przefiltruj enabled samodzielnie, aby uzyskać aktualny obraz.

cURL

curl "https://api.youraiconnector.com/v1/entry-points/channel-defaults?apiKey=YOUR_API_KEY"

JavaScript

const res = await fetch("https://api.youraiconnector.com/v1/entry-points/channel-defaults", {
  headers: { "X-API-Key": "YOUR_API_KEY" },
});
const data = await res.json();

Python

import requests

res = requests.get(
    "https://api.youraiconnector.com/v1/entry-points/channel-defaults",
    headers={"X-API-Key": "YOUR_API_KEY"},
)
data = res.json()

Odpowiedź

{
  "success": true,
  "entry_points": [
    {
      "id": "ep3KmQ8vTzXr5nWd",
      "type": "channel_default",
      "channels": ["whatsapp"],
      "agent_id": "ag7HkQ2ZpLxR3mNb",
      "enabled": true,
      "match_config": {},
      "created_at": 1700000000000,
      "last_modified_at": 1700000000000
    },
    {
      "id": "epAEnhHoozpoGVze",
      "type": "channel_default",
      "channels": ["whatsapp"],
      "agent_id": "agRotterdamBranch",
      "enabled": true,
      "match_config": { "phone_numbers": ["+31685101091"] },
      "created_at": 1700000000000,
      "last_modified_at": 1700000000000
    }
  ]
}

To jest odczyt dla całego konta. Wyświetlenie reguł jednego Agenta za pomocą GET /agents/{agentId}/entry-points nie może pokazać kanału ustawionego na nikogo, ponieważ ta reguła nie należy do żadnego Agenta.


Opuść kanał, na którym nikt nie odpowiada

DELETE /entry-points/channel-defaults?channel=instagram — wycofuje domyślne ustawienie dla całego kanału. Kanał jest podawany jako parametr zapytania, a nie w treści. Dodaj &phone_number=%2B31685101091, aby wyczyścić tylko domyślne ustawienie dla tego numeru i pozwolić, aby numer wrócił do osoby, która odpowiada na kanale.

cURL

curl -X DELETE "https://api.youraiconnector.com/v1/entry-points/channel-defaults?channel=instagram&apiKey=YOUR_API_KEY"

JavaScript

const res = await fetch(
  "https://api.youraiconnector.com/v1/entry-points/channel-defaults?channel=instagram",
  { method: "DELETE", headers: { "X-API-Key": "YOUR_API_KEY" } }
);
const data = await res.json();

Python

import requests

res = requests.delete(
    "https://api.youraiconnector.com/v1/entry-points/channel-defaults",
    params={"channel": "instagram"},
    headers={"X-API-Key": "YOUR_API_KEY"},
)
data = res.json()

Odpowiedź

{ "success": true, "disabled_entry_point_ids": ["ep3KmQ8vTzXr5nWd"] }

Można bezpiecznie powtarzać: wyczyszczenie kanału, który nie ma ustawienia domyślnego, kończy się 200 z pustą listą. Czyszczenie oznacza brak ustawienia, a nie wyciszenie — na koncie z dokładnie jednym aktywnym Agentem nieskonfigurowany kanał nadal przypada temu Agentowi. Aby całkowicie wyłączyć sztuczną inteligencję na kanale, wybierz Nikt nie odpowiada w panelu aplikacji Kto odpowiada na nowe rozmowy (co zapisuje jawne domyślne ustawienie „nikt”, którego mechanizm rezerwowy nigdy nie nadpisuje) lub wstrzymaj pracę Agenta za pomocą PATCH /agents/{agentId}/active.


Jeden Agent na numer WhatsApp

Domyślnie routing odbywa się według kanału: wszystkie Twoje numery WhatsApp współdzielą jednego odpowiadającego. W przypadku dwóch lub więcej numerów połączonych w WhatsApp Business lub WhatsApp Web, ustawienie domyślne można ograniczyć do pojedynczego numeru, dzięki czemu firma z numerem dla każdego oddziału lub marki może przypisać każdemu z nich własnego Agenta w ramach jednego konta.

Wyślij phone_number wraz z wywołaniem ustawienia:

curl -X PUT "https://api.youraiconnector.com/v1/entry-points/channel-defaults?apiKey=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "channel": "whatsapp_web",
    "agent_id": "agRotterdamBranch",
    "phone_number": "+31685101091"
  }'
  • Numer musi być jednym z Twoich połączonych numerów na tym kanale, zapisanym tak, jak widnieje w sekcji połączonych numerów (E.164 z +); wszystko inne jest 400.
  • Reguła jest zapisywana jako domyślna dla kanału za pomocą match_config.phone_numbers: ["+31685101091"]. Wiadomość, która dotrze na ten numer, trafi do przypisanego mu Agenta; każdy inny numer nadal korzysta z domyślnych ustawień całego kanału.
  • Ustawienie lub usunięcie domyślnych ustawień kanału nie wpływa na reguły przypisane do konkretnych numerów i odwrotnie. Usuń regułę przypisaną do numeru za pomocą DELETE /entry-points/channel-defaults?channel=whatsapp_web&phone_number=%2B31685101091.
  • Odpowiedzi zawsze są wysyłane z numeru, na który napisał kontakt, dzięki czemu kontakt rozmawia z tym samym numerem i tym samym Agentem.

Dodaj węższą regułę

POST /agents/{agentId}/entry-points — tworzy regułę słowa kluczowego, komentarza lub obserwującego (lub domyślną regułę kanału, chociaż PUT /entry-points/channel-defaults jest do tego lepszym wyborem, ponieważ automatycznie wycofuje poprzedniego odbiorcę). Agent w ścieżce zawsze ma pierwszeństwo: reguła nigdy nie może zostać utworzona dla innego Agenta niż ten wskazany w adresie URL.

Pole Wymagane Opis
type Tak keyword, instagram_comment, facebook_comment, instagram_follower lub channel_default.
channels Tak Niepusta lista kanałów, których dotyczy reguła. Reguła komentarza musi zawierać własny kanał (instagram lub facebook).
match_config Zależnie od typu Zobacz Typy reguł. Reguła słowa kluczowego wymaga co najmniej jednego wpisu w keywords.
enabled Nie Domyślnie true.
first_response_mode, first_response_exact_text, public_comment_reply_exact_text Nie Ustawienia pierwszej odpowiedzi opisane w Obiekt punktu wejścia.

cURL

curl -X POST "https://api.youraiconnector.com/v1/agents/ag7HkQ2ZpLxR3mNb/entry-points?apiKey=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "keyword",
    "channels": ["whatsapp", "instagram"],
    "match_config": { "keywords": ["pricing", "quote"] }
  }'

JavaScript

const res = await fetch(
  "https://api.youraiconnector.com/v1/agents/ag7HkQ2ZpLxR3mNb/entry-points",
  {
    method: "POST",
    headers: {
      "X-API-Key": "YOUR_API_KEY",
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      type: "keyword",
      channels: ["whatsapp", "instagram"],
      match_config: { keywords: ["pricing", "quote"] },
    }),
  }
);
const data = await res.json();

Python

import requests

res = requests.post(
    "https://api.youraiconnector.com/v1/agents/ag7HkQ2ZpLxR3mNb/entry-points",
    headers={"X-API-Key": "YOUR_API_KEY"},
    json={
        "type": "keyword",
        "channels": ["whatsapp", "instagram"],
        "match_config": {"keywords": ["pricing", "quote"]},
    },
)
data = res.json()

Odpowiedź (201)

{ "success": true, "entry_point_id": "ep3KmQ8vTzXr5nWd" }

Reguła komentarza do wiadomości prywatnej (DM), która reaguje tylko na komentarze zawierające słowo „LINK” pod dwoma konkretnymi postami, czeka dwie minuty i wysyła ustaloną pierwszą wiadomość:

{
  "type": "instagram_comment",
  "channels": ["instagram"],
  "match_config": {
    "keywords": ["LINK"],
    "post_ids": ["17895695668004550", "17841400008460056"],
    "delay_minutes": 2
  },
  "first_response_mode": "exact_text",
  "first_response_exact_text": "Hi {{first_name}}, here is the link you asked for: https://example.com/guide",
  "public_comment_reply_exact_text": "Sent you a DM!"
}

Pozostaw keywords puste, aby wysłać DM do każdego, kto skomentuje monitorowane posty, oraz post_ids puste, aby monitorować każdy post. 400 wskazuje, co jest nie tak: nieznany type, puste channels, reguła słowa kluczowego bez słów kluczowych lub reguła komentarza, która nie wymienia własnego kanału.


Wyświetl reguły Agenta

GET /agents/{agentId}/entry-points — reguły, które kierują konwersacje do tego Agenta, od najnowszych: domyślne ustawienia kanału, reguły słów kluczowych, reguły komentarzy i reguły obserwujących. Wycofane reguły również powracają za pomocą enabled: false.

cURL

curl "https://api.youraiconnector.com/v1/agents/ag7HkQ2ZpLxR3mNb/entry-points?apiKey=YOUR_API_KEY"

JavaScript

const res = await fetch(
  "https://api.youraiconnector.com/v1/agents/ag7HkQ2ZpLxR3mNb/entry-points",
  { headers: { "X-API-Key": "YOUR_API_KEY" } }
);
const data = await res.json();

Python

import requests

res = requests.get(
    "https://api.youraiconnector.com/v1/agents/ag7HkQ2ZpLxR3mNb/entry-points",
    headers={"X-API-Key": "YOUR_API_KEY"},
)
data = res.json()

Odpowiedź

{
  "success": true,
  "entry_points": [
    {
      "id": "ep3KmQ8vTzXr5nWd",
      "type": "keyword",
      "channels": ["whatsapp", "instagram"],
      "agent_id": "ag7HkQ2ZpLxR3mNb",
      "enabled": true,
      "match_config": { "keywords": ["pricing", "quote"] },
      "created_at": 1700000000000,
      "last_modified_at": 1700000000000
    }
  ]
}

Zmień regułę

PUT /entry-points/{entryPointId} — zmienia jedną regułę. Wyślij tylko te pola, które zmieniasz; zagnieżdżone ustawienia można adresować element po elemencie za pomocą klucza z kropką, takiego jak "match_config.keywords". Ilekroć zmiana dotyczy type, channels lub match_config, cała reguła jest sprawdzana ponownie, więc częściowa edycja nigdy nie pozostawi bezużytecznej reguły (przełączenie type na keyword bez podania słów kluczowych zostanie odrzucone). Wysłanie agent_id przekazuje regułę innemu Twojemu Agentowi; pusta wartość zostanie odrzucona. Pola własności i tożsamości są ignorowane.

cURL

curl -X PUT "https://api.youraiconnector.com/v1/entry-points/ep3KmQ8vTzXr5nWd?apiKey=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "match_config": { "keywords": ["pricing", "quote", "demo"] } }'

JavaScript

const res = await fetch("https://api.youraiconnector.com/v1/entry-points/ep3KmQ8vTzXr5nWd", {
  method: "PUT",
  headers: {
    "X-API-Key": "YOUR_API_KEY",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({ match_config: { keywords: ["pricing", "quote", "demo"] } }),
});
const data = await res.json();

Python

import requests

res = requests.put(
    "https://api.youraiconnector.com/v1/entry-points/ep3KmQ8vTzXr5nWd",
    headers={"X-API-Key": "YOUR_API_KEY"},
    json={"match_config": {"keywords": ["pricing", "quote", "demo"]}},
)
data = res.json()

Odpowiedź

{ "success": true, "entry_point_id": "ep3KmQ8vTzXr5nWd" }

Inne typowe edycje: { "enabled": false } wycofuje regułę bez jej usuwania, a { "agent_id": "agOtherAgent" } przenosi ją do innego Agenta. Puste ciało żądania zwraca 400 wraz z "No fields to update".


Usuń regułę

DELETE /entry-points/{entryPointId} — usuwa regułę na stałe. Nic innego nie odwołuje się do punktu wejścia, więc nie ma nic do odłączania w pierwszej kolejności.

cURL

curl -X DELETE "https://api.youraiconnector.com/v1/entry-points/ep3KmQ8vTzXr5nWd?apiKey=YOUR_API_KEY"

JavaScript

const res = await fetch("https://api.youraiconnector.com/v1/entry-points/ep3KmQ8vTzXr5nWd", {
  method: "DELETE",
  headers: { "X-API-Key": "YOUR_API_KEY" },
});
const data = await res.json();

Python

import requests

res = requests.delete(
    "https://api.youraiconnector.com/v1/entry-points/ep3KmQ8vTzXr5nWd",
    headers={"X-API-Key": "YOUR_API_KEY"},
)
data = res.json()

Odpowiedź

{ "success": true, "entry_point_id": "ep3KmQ8vTzXr5nWd" }

Aby zatrzymać działanie reguły, ale zachować ją w systemie, ustaw enabled na false. W szczególności domyślne ustawienia kanału są zazwyczaj wycofywane, a nie usuwane, co właśnie robi DELETE /entry-points/channel-defaults.


Sprawdź, czy routing działa

GET /entry-points/routing-status — zwraca informację, czy drabinka punktów wejścia (Entry Points) decyduje o tym, kto odpowiada na tym koncie. Dostępne do odczytu z uprawnieniami podglądu, dzięki czemu członek zespołu widzi tę samą odpowiedź co właściciel.

curl "https://api.youraiconnector.com/v1/entry-points/routing-status?apiKey=YOUR_API_KEY"
{ "success": true, "cutover_enabled": true }

Obecnie na każdym koncie jest to true. Wywołanie jest zachowywane, aby integracja mogła zweryfikować zmianę przed poinformowaniem kogoś, że zmiana routingu jest aktywna, zamiast zakładać to z góry.


Starsze wywołania oparte na kampaniach

Dwa punkty końcowe sprzed wprowadzenia Agentów nadal działają dla kont zorganizowanych wokół kampanii. Nowe integracje powinny korzystać z powyższych wywołań domyślnych kanałów.

  • PUT /channel-routing/{channel} z { "campaignId": "cp5NbV8xQrT2wYzA" } — nazywa kampanię, a Agent tej kampanii staje się osobą odpowiadającą na kanale. { "campaignId": null } czyści kanał. Kampania tylko wychodząca jest odrzucana, ponieważ nie oferuje żadnego zachowania przychodzącego.
  • POST /channel-routing/clear z { "channels": ["whatsapp", "instagram"] } — zwalnia kilka kanałów z przypisanego do nich Agenta w jednym wywołaniu, zazwyczaj przed skierowaniem ich w inne miejsce. Odpowiedź zawiera listę released_channels, czyli tych, które faktycznie miały osobę odpowiadającą.

Oba ustawienia oznaczają raczej brak ustawienia niż wyciszenie: na koncie z dokładnie jednym aktywnym Agentem zwolniony kanał nadal wraca do tego Agenta.


Błędy API punktów wejścia (Entry Points)

Punkty końcowe Entry Point zwracają standardową kopertę błędu:

{
  "success": false,
  "error": "Entry point not found"
}
Status Kiedy występuje w punkcie końcowym Entry Point
400 Brakuje pola lub reguła byłaby bezużyteczna: brak channel lub agent_id w wywołaniu ustawienia, nieznany type, pusty channels, reguła słów kluczowych bez słów kluczowych, reguła komentarza, która nie wymienia własnego kanału, puste agent_id przy aktualizacji, pusta treść aktualizacji lub phone_number, który nie jest jednym z Twoich połączonych numerów.
403 Klucz lub członek zespołu może nie mieć uprawnień do edycji routingu. Zapisy wymagają uprawnień do edycji kampanii; odczyty listy i statusu wymagają uprawnień do podglądu.
404 Punkt wejścia lub Agent nie został znaleziony — albo nie istnieje, albo należy do innego konta.

Wspólne kody, które może zwrócić każdy punkt końcowy — 401, 403 (Twój plan nie obejmuje dostępu do API), 429 (limit szybkości) oraz 500 — zostały wymienione wraz ze wskazówkami dotyczącymi ponawiania prób w sekcji Błędy i stronicowanie.


Następne kroki