---
title: "Uporabljajte ThunderPhone z n8n"
description: "Namestite vozlišče ThunderPhone za n8n, povežite strežniški ključ API in ustvarite potek dela, ki se zažene ob vsakem koncu klica."
---

[n8n](https://n8n.io) je orodje za avtomatizacijo delovnih tokov. Paket ThunderPhone
za n8n doda dve vozlišči:

- **ThunderPhone Trigger** zažene delovni tok, ko se klic konča (**Klic
  zaključen**) ali ko se zaključi ocenjevanje klica (**Klic ocenjen**).
- **ThunderPhone** opravlja odhodne klice, dodaja stike v kampanje in jih
  zažene, pridobiva klice z njihovim prepisom in posnetkom ter prikaže vaše
  agente in telefonske številke.

Gre za preverjeno vozlišče skupnosti, navedeno na strani
[ThunderPhone na n8n](https://n8n.io/integrations/thunderphone/).

## Namestite vozlišče

V urejevalniku n8n kliknite **+**, da odprete ploščo z vozlišči, in poiščite
**ThunderPhone**. Lastnik primerka bo morda moral nastaviti preverjena vozlišča,
preden jih lahko dodajo drugi uporabniki.

V samostojno gostovanem n8n lahko namestite tudi po imenu paketa: odprite
**Nastavitve > Vozlišča skupnosti** in namestite `n8n-nodes-thunderphone`. Pred namestitvijo
preverite tveganja vozlišč skupnosti in pravilnik svojega primerka.

## Ustvarite strežniški API ključ

<Steps>
  <Step title="Odprite zavihek Ključi">
    V ThunderPhone pojdite na **Organizacija → Ključi** in kliknite **Ustvari ključ**.
  </Step>
  <Step title="Poimenujte ga">
    Uporabite ime, ki pove, kje je ključ shranjen, na primer »n8n«.
  </Step>
  <Step title="Kopirajte ga zdaj">
    Celotna skrivnost `sk_live_...` je prikazana samo enkrat. Kopirajte jo, preden zaprete
    pogovorno okno.
  </Step>
</Steps>

Ključ lahko ustvari samo skrbnik ali lastnik, ThunderPhone pa zahteve, poslane z
njim, obravnava, kot da jih je poslala ta oseba. Sprožilec in postopki za
kampanje zahtevajo, da ta oseba ohrani vlogo skrbnika ali lastnika.
[Vodnik za ustvarjanje strežniškega API ključa](/sl/guides/api-keys) opisuje rotacijo in preklic.

## Dodajte poverilnico v n8n

1. V n8n ustvarite poverilnico vrste **ThunderPhone API**.
2. Prilepite ključ v polje **API ključ**.
3. Shranite jo in zaženite preizkus poverilnice. Preizkus prebere en klic iz vaše
   organizacije z `GET /v1/calls?limit=1`.

## Ustvarite prvi potek dela

Ta potek dela doda vrstico v Google Preglednico vsakič, ko se klic konča.

<Steps>
  <Step title="Dodajte sprožilec">
    Dodajte **ThunderPhone Trigger**, izberite svojo poverilnico API-ja ThunderPhone in
    nastavite **Event** na **Call Completed**.
  </Step>
  <Step title="Pridobite klic">
    Dodajte vozlišče **ThunderPhone**. Nastavite **Resource** na **Call**, **Operation**
    na **Get** in **Call ID** na izraz `{{ $json.data.call_id }}`.
    Izhod je [zapis klica](/api-reference/calls) ter `transcripts`
    in `recording_url`, kratkotrajna povezava, ki je `null`, kadar klic nima
    posnetka.
  </Step>
  <Step title="Dodajte vrstico">
    Dodajte vozlišče Google Preglednic, ki doda vrstico, in preslikajte želene stolpce
    iz izhoda Get Call (glejte spodnjo tabelo).
  </Step>
  <Step title="Aktivirajte potek dela">
    Shranite in aktivirajte. Sprožilec kot končno točko spletne kljuke
    v vaši organizaciji ThunderPhone registrira svoj Production URL. Deaktivacija poteka dela
    izbriše to končno točko.
  </Step>
  <Step title="Preizkusite ga">
    Odprite agenta v graditelju, kliknite **Pogovor** in končajte klic. Preizkusni klici v graditelju
    so dostavljeni kot `web.complete`, eden od dveh dogodkov za Call Completed,
    zato se potek dela zažene in prikaže se vrstica.
  </Step>
</Steps>

Uporabni stolpci:

| Stolpec | Izraz |
|---|---|
| ID klica | `{{ $json.call_id }}` |
| Smer | `{{ $json.direction }}` |
| Od | `{{ $json.from_number }}` |
| Za | `{{ $json.to_number }}` |
| Začetek | `{{ $json.start_time }}` |
| Trajanje (s) | `{{ $json.duration_seconds }}` |
| Stanje | `{{ $json.status }}` |
| Razlog konca | `{{ $json.end_reason }}` |
| Povezava do klica | `https://app.thunderphone.com/dashboard/call-history/{{ $json.call_id }}` |

Povezava do klica članom vaše organizacije odpre klic na nadzorni plošči ThunderPhone
skupaj s prepisom in posnetkom, zato preglednici ni treba hraniti nobenega od njiju.

Če želite kljub temu dodati prepis, preslikajte
`{{ $json.transcripts.filter(t => typeof t.content === 'string').map(t => t.role + ': ' + t.content).join('\n') }}`.
URL posnetka poteče, zato shranite ID klica in znova zaženite Get Call, kadar
potrebujete novo povezavo. Prepisi, povzetki in posnetki klicev lahko vsebujejo
osebne ali zdravstvene podatke. Pošiljajte jih samo aplikacijam, ki jih vaša organizacija
sme uporabljati za te podatke, ob uporabi BAA, kadar gre za zdravstvene podatke,
in hranite samo polja, ki jih potrebujete.

<Note>
  ThunderPhone dogodke dostavlja z `POST` na **Production
  URL** sprožilca, zato mora biti vaš primerek n8n prek HTTPS dosegljiv iz interneta,
  potek dela pa mora biti aktiven. Sprožilec pri vsaki zahtevi preveri HMAC
  `X-ThunderPhone-Signature` in na vse nepodpisane ali neveljavne zahteve odgovori z `401`.
</Note>

Sprožilec izpiše celoten dogodek: `type`, `event_id` in `data`. Za vsa polja glejte
[`telephony.complete` / `web.complete`](/sl/webhooks/call-complete) in
[`call.graded`](/sl/webhooks/events). Dostava je vsaj enkratna,
`event_id` pa ostane enak pri ponovnih poskusih istega dogodka, zato ga preverite pred
korakom, ki se ne sme ponoviti.

## Varno opravite odhodne klice

**Opravite odhodni klic** (vir **Odhodni klic**, operacija **Opravite**)
sprejme:

| Polje | Pomen |
|---|---|
| Ime ali ID agenta | Shranjen agent. Spustni seznam prikazuje vaše agente. |
| Ime ali ID telefonske številke | Izvorna številka. Spustni seznam prikazuje samo številke, omogočene za odhodne klice. |
| Ciljna številka | Ciljna številka v obliki E.164, na primer `+14155552671`. |
| Spremenljivke | Predmet JSON z vrednostmi za označbe mest v pozivu agenta. |
| Ključ idempotentnosti | Stalni ID iz nadrejenega zapisa ali dogodka. Obvezno. |

**Ključ idempotentnosti** preslikajte na ID iz vira, ki je povzročil zagon, kot je
ID zapisa CRM ali `event_id` sprožilca. Vozlišče pošlje
`n8n:<node ID>:<your value>`, zato:

- Samodejni ponovni poskus ali **Ponovite izvedbo** pošlje isti ključ, ThunderPhone pa
  vrne izvirni klic z `idempotent_replay: true`, namesto da bi znova klical.
- Dve vozlišči ThunderPhone, ki prejmeta isti zapis, pošljeta različna ključa.
- Prazna vrednost povzroči napako, preden je poslana kakršna koli zahteva.

Izogibajte se časovnim žigom, naključnim vrednostim ter ID-jem izvedb ali potekov dela n8n. Nova
vrednost ob ponovnem poskusu opravi drugi dejanski klic. Celoten ključ ima lahko največ 128
znakov. Ponovna uporaba ključa z drugim agentom, številko ali spremenljivkami povzroči
spor.

**Kampanje.** **Dodajte stike** (vir **Kampanja**) doda stike v
osnutek kampanje. Sprejme ID kampanje in polje JSON s stiki. Vsak stik potrebuje `phone_number`; drugi ključi
postanejo spremenljivke klica. Vozlišče povzroči napako, kadar so zavrnjeni vsi stiki, in nastavi
`partial_success: true`, kadar so zavrnjeni le nekateri. **Zaženite** zahteva potrditveno polje,
ki potrjuje, da kampanja opravlja dejanske klice in porablja dobropise ThunderPhone.
Glejte [Odhodne kampanje](/sl/guides/outbound-campaigns).

Preden potek dela začne opravljati klice:

- Če ThunderPhone od vaše organizacije zahteva potrditev, da njeni odhodni klici
  upoštevajo zakon TCPA in druge zakone o klicanju, mora skrbnik to
  potrditev najprej zabeležiti na nadzorni plošči.
- Izvorna številka mora biti omogočena za odhodne klice. Številke, ki jih prenesete od
  lastnega telekomunikacijskega operaterja, so upravičene po preverjanju. Številke ThunderPhone so na začetku
  samo za dohodne klice in jih je mogoče odobriti za odhodno uporabo: skrbnik to zahteva
  na strani Telefonske številke. Glejte
  [Pridobite telefonsko številko](/sl/guides/get-a-phone-number).
- Vaša organizacija je odgovorna za pridobitev soglasja za klicanje vsake številke
  ter za upoštevanje veljavnih zakonov o klicanju. Glejte
  [Zakoni o odhodnem klicanju](/sl/guides/outbound-calling-laws).

## Primeri potekov dela

- **Stiki CRM v kampanjo.** Dodajte stike CRM v osnutek kampanje ThunderPhone,
  nato pa kampanjo zaženite, ko nekdo odobri seznam.
- **Zaključen klic v zapis stranke.** Ob zaključenem klicu zaženite Pridobite klic
  ter shranite prepis in povezavo do posnetka v ustrezen zapis stranke.
- **Nizke ocene v pregled.** Ob ocenjenem klicu filtrirajte po
  `{{ $json.data.grade.score }}` in klice z nizko oceno usmerite v čakalno vrsto za pregled
  z ID-jem klica in podrobnostmi ocene. Klic je lahko ocenjen več kot enkrat,
  vsak zaključen postopek ocenjevanja pa sproži sprožilec, zato za vsak ID klica
  ohranite le najnovejši `graded_at`.

Prepisi klicev, povzetki in posnetki lahko vsebujejo osebne ali zdravstvene
podatke. Pošiljajte jih samo aplikacijam, ki jih vaša organizacija sme uporabljati za
te podatke, v okviru BAA, kadar so vključeni zdravstveni podatki, in hranite samo
polja, ki jih potrebujete.

<Note>
  Ali namesto tega iste dogodke klicev pošiljate na svoj strežnik? Glejte
  [Končne točke spletnih kavljev](/sl/webhooks/endpoints).
  [Opravite odhodne klice](/sl/guides/place-outbound-calls) opisuje API za
  Opravite odhodni klic.
</Note>
