Pāriet uz saturu
Sursa Developers

Zapier, Make un n8n

Integrāciju platformas bez koda savieno Sursu ar simtiem citu rīku. Tām nav vajadzīga atsevišķa Sursas lietotne: to universālie HTTP pieprasījuma un webhook soļi darbojas ar API tieši. Šajā ceļvedī aprakstītas trīs biežākās receptes:

RecepteVirziensKas vajadzīgs
Ierakstu nosūtīšana no cita rīka uz Sursu kā kartītesUz SursuPielāgots avots un tā kbsrc_ atslēga
Jautājuma uzdošana Sursai darbplūsmāUz Sursu un atpakaļAPI atslēga ar tvērumu ask
Darbplūsmas sākšana, kad Sursā kaut kas notiekNo SursasWebhook galapunkts, kas norāda uz platformu

Lai kuru platformu izmantojat, glabājiet atslēgu tās akreditācijas datu vai savienojumu krātuvē, nevis pašā solī, lai tā netiktu kopēta katrā scenārijā un izpildes žurnālā.

Ierakstu nosūtīšana kā kartītes

Izveidojiet Sursā pielāgotu avotu: Sources → New source → Custom source (avoti, jauns avots, pielāgots avots). Pēc tam avota lapā daļā API keys izveidojiet tam atslēgu. Atslēga sākas ar kbsrc_ un var tikai rakstīt dokumentus šajā avotā, tāpēc tā ir īstā atslēga, ko glabāt trešās puses platformā.

Parastais iestatījums ir „kad rīkā X tiek izveidots vai mainīts ieraksts, nosūtīt to uz Sursu“:

IestatījumsVērtība
MetodePOST
URLhttps://api.example.com/v1/push/sources/42/documents
Galvene AuthorizationBearer kbsrc_…
Galvene Content-Typeapplication/json
SatursTālāk redzamais JSON ar laukiem, kas piesaistīti no trigera
{
  "external_id": "{{record_id}}",
  "title": "{{record_title}}",
  "content": "{{record_body_html}}",
  "content_type": "html",
  "url": "{{record_link}}",
  "path": "{{record_category}}",
  "updated_at": "{{record_updated_at}}"
}
  • Laukam external_id piesaistiet ieraksta stabilu ID, nekad – laiku vai palaišanas numuru. Tad, nosūtot to pašu ierakstu vēlreiz, tiek atjaunināta tā pati kartīte, un atkārtots solis nekaitē: atbilde ir unchanged.
  • Trigerim „ieraksts dzēsts“ pievienojiet otru darbplūsmu ar metodi DELETE un URL https://api.example.com/v1/push/sources/42/documents/{{record_id}}.
  • Pārbaudiet savienojumu ar GET https://api.example.com/v1/push/sources/42 un to pašu galveni Authorization. Pieprasījums atgriež avota nosaukumu un tā dokumentu skaitu.

Dokumenta lauki ir tādi paši kā kodā.

Zapier

Izmantojiet Webhooks by Zapier → Custom Request:

  • Method: POST.
  • URL: https://api.example.com/v1/push/sources/42/documents.
  • Data Pass-Through: izslēgts. Data: iepriekš redzamais JSON ar laukiem, kas ievietoti no trigera.
  • Headers: Authorization = Bearer kbsrc_…, Content-Type = application/json.

Make

Izmantojiet moduli HTTP → Make a request:

  • Method POST, URL kā iepriekš, Headers Authorization: Bearer kbsrc_….
  • Body type Raw, Content type JSON (application/json), Request content: iepriekš redzamais JSON ar piesaistītām vērtībām.
  • Ieslēdziet Parse response, lai nākamajos moduļos izmantotu result (created, updated, unchanged).
  • Lai nosūtītu failu, izvēlieties Body type Multipart/form-data ar lauku file (fails no iepriekšēja moduļa) un teksta lauku document, kurā ir JSON lauki bez content.

n8n

Izmantojiet mezglu HTTP Request:

  • Method POST, URL kā iepriekš.
  • Authentication Generic Credential Type → Header Auth ar nosaukumu Authorization un vērtību Bearer kbsrc_….
  • Send Body ieslēgts, Body Content Type JSON, lauki piesaistīti ar izteiksmēm, piemēram, {{ $json.id }}.

Ieplānotam pilnam eksportam savienojiet virknē trīs HTTP Request mezglus: atveriet sinhronizāciju (POST …/syncs ar {"type": "initial"} pirmajā reizē, {"type": "incremental"} vēlāk), nosūtiet elementus un aizveriet sinhronizāciju ar {"status": "complete"}. n8n izpilda mezglu vienreiz katram elementam; lai sūtītu mazāk pieprasījumu, sagrupējiet elementus ar mezglu Aggregate un nosūtiet tos uz …/documents/batch kā {"sync_number": …, "documents": [...]}.

Jautājuma uzdošana darbplūsmā

Darbplūsma var uzdot jautājumu Sursai un izmantot atbildi: sagatavot atbildi uz atbalsta pieteikumu, papildināt CRM ierakstu, publicēt atbildi tērzēšanas kanālā. Izmantojiet organizācijas API atslēgu ar tvērumu ask un lomu, kas redz vajadzīgās kolekcijas.

IestatījumsVērtība
MetodePOST
URLhttps://api.example.com/v1/ask
Galvene AuthorizationBearer kb_…
Saturs{"query": "{{ticket_subject}}: {{ticket_body}}", "collection": "support"}

Atbildē asistenta atbilde ir laukā answer (Markdown), bet tās avoti – laukā sources, katrs ar doc_name. Ja zināšanu bāzē par jautājumu nekā nav, tiek iestatīts empty (piemēram, no_hits): pievienojiet filtra soli, lai darbplūsma nepublicētu tukšu atbildi. Sk. Jautājumu un atbilžu robota izveide.

Atbildes sagatavošana var aizņemt vairākas sekundes. Ja platformas HTTP solim ir īsa noklusējuma noildze, palieliniet to vismaz līdz 60 sekundēm.

Darbplūsmas sākšana no Sursas notikuma

Katra platforma var saņemt webhook paziņojumus:

PlatformaTrigeris
ZapierWebhooks by Zapier → Catch Raw Hook (neapstrādāts, lai saturs paliktu tāds, kāds nosūtīts)
MakeModulis Webhooks → Custom webhook
n8nMezgls Webhook, metode POST
  1. Izveidojiet trigeri un nokopējiet HTTPS adresi, ko tas sniedz.
  2. Sursā reģistrējiet webhook galapunktu ar šo adresi un vajadzīgajiem notikumiem sadaļā Administration → Integrations → Webhooks and API (administrēšana, integrācijas, webhook paziņojumi un API) vai ar POST /v1/webhooks.
  3. Nosūtiet testa notikumu no webhook galapunkta lapas un nākamajos soļos piesaistiet notikuma laukus (type, data.card.title, …).

Pārbaudiet parakstu. Trigera adrese ir publiska: ikviens, kas to uzzina, var sūtīt uz to pieprasījumus. Pirms rīkojaties, pārbaudiet katras piegādes parakstu, īpaši, ja darbplūsma maina datus:

  • n8n pēc mezgla Webhook pievienojiet mezglu Code ar Node.js paraksta pārbaudes kodu no ceļveža Webhook paziņojumu saņemšana un ieslēdziet mezgla Webhook neapstrādātā satura (raw body) opciju, lai būtu pieejami precīzi baiti.
  • Zapier un Make, kur neapstrādātajam saturam piekļūt ir grūtāk, vismaz glabājiet adresi noslēpumā, filtrējiet pēc type un pirms rīcības vēlreiz nolasiet objektu caur API.

Atkārtojumi un dublikāti uz platformām attiecas tāpat kā uz jebkuru saņēmēju: filtrējiet pēc notikuma id, ja dublēta izpilde varētu kaitēt.

Padomi

  • Pie 429 ļaujiet platformas automātiskajam atkārtojumam nogaidīt Retry-After norādītās sekundes. Lieliem eksportiem dodiet priekšroku partijām.
  • Platformas žurnālos ieraksta katru pieprasījumu un atbildi. Nekad neievietojiet atslēgu URL adresē un dodiet priekšroku kbsrc_ atslēgai visur, kur darbplūsma tikai raksta dokumentus.
  • Ja solis neizdodas ar 401 sources.push_key_invalid, pārbaudiet, vai avota ID URL adresē atbilst atslēgai.