---
title: "Kasuta ThunderPhone’i koos n8n-iga"
description: "Paigalda ThunderPhone’i sõlm n8n-i jaoks, ühenda serveri API-võti ja loo töövoog, mis käivitub iga kord, kui kõne lõpeb."
---

[n8n](https://n8n.io) on töövoogude automatiseerimise tööriist. ThunderPhone'i pakett
n8n-i jaoks lisab kaks sõlme:

- **ThunderPhone Trigger** käivitab töövoo, kui kõne lõpeb (**Kõne lõpetatud**)
  või kui kõne hindamise käitamine lõpeb (**Kõne hinnatud**).
- **ThunderPhone** teeb väljaminevaid kõnesid, lisab kontakte kampaaniatesse ja
  käivitab neid, hangib kõnesid koos nende transkriptsiooni ja salvestisega
  ning loetleb sinu agente ja telefoninumbreid.

See on kinnitatud kogukonnasõlm, mis on loetletud lehel
[ThunderPhone n8n-is](https://n8n.io/integrations/thunderphone/).

## Paigalda sõlm

Klõpsa n8n-i redaktoris sõlmepaneeli avamiseks **+** ja otsi
**ThunderPhone**. Enne kui teised kasutajad saavad neid lisada, võib eksemplari
omanikul olla vaja kinnitatud sõlmed seadistada.

Isehostitud n8n-is saad paigaldada ka pakettnime järgi: ava
**Settings > Community Nodes** ja paigalda `n8n-nodes-thunderphone`. Kontrolli kogukonnasõlmede riske ja oma eksemplari poliitikat
enne paigaldamist.

## Loo serveri API-võti

<Steps>
  <Step title="Ava vahekaart Keys">
    Mine ThunderPhone'is jaotisse **Organization → Keys** ja klõpsa **Create key**.
  </Step>
  <Step title="Anna sellele nimi">
    Kasuta nime, mis näitab, kus võti asub, näiteks "n8n".
  </Step>
  <Step title="Kopeeri see kohe">
    Täielikku `sk_live_...` saladust kuvatakse ainult üks kord. Kopeeri see enne dialoogi
    sulgemist.
  </Step>
</Steps>

Võtme saab luua ainult administraator või omanik ning ThunderPhone käsitleb
sellega tehtud päringuid selle inimese päringutena. Päästik ja kampaania
toimingud nõuavad, et see inimene säilitaks administraatori või omaniku rolli.
[Serveri API-võtme loomine](/et/guides/api-keys) käsitleb võtmete rotatsiooni ja tühistamist.

## Lisa mandaat n8n-i

1. Loo n8n-is mandaat tüübiga **ThunderPhone API**.
2. Kleebi võti väljale **API Key**.
3. Salvesta see ja käivita mandaadi test. Test loeb sinu organisatsioonist ühe
   kõne päringuga `GET /v1/calls?limit=1`.

## Loo esimene töövoog

See töövoog lisab Google Sheeti rea iga kord, kui kõne lõpeb.

<Steps>
  <Step title="Lisa päästik">
    Lisa **ThunderPhone Trigger**, vali oma ThunderPhone API mandaat ja
    määra **Sündmuseks** **Kõne lõpetatud**.
  </Step>
  <Step title="Too kõne andmed">
    Lisa **ThunderPhone** sõlm. Määra **Ressursiks** **Kõne**, **Toiminguks**
    **Too** ja **Kõne ID-ks** avaldis `{{ $json.data.call_id }}`.
    Väljund sisaldab [kõnekirjet](/api-reference/calls) ning välju `transcripts`
    ja `recording_url` — viimati nimetatu on lühiajaline link, mille väärtus on `null`, kui kõnel
    salvestist pole.
  </Step>
  <Step title="Lisa rida">
    Lisa Google Sheetsi sõlm, mis lisab rea, ja vastenda soovitud veerud
    kõne andmete toomise väljundist (vt allolevat tabelit).
  </Step>
  <Step title="Aktiveeri töövoog">
    Salvesta ja aktiveeri. Päästik registreerib oma tootmise URL-i veebikonksu
    lõpp-punktina sinu ThunderPhone organisatsioonis. Töövoo desaktiveerimine
    kustutab selle lõpp-punkti.
  </Step>
  <Step title="Testi">
    Ava koostajas häälagent, klõpsa **Räägi** ja lõpeta kõne. Koostaja
    testkõned edastatakse sündmusena `web.complete`, mis on üks kahest sündmusest
    Kõne lõpetatud taga, seega töövoog käivitub ja ilmub rida.
  </Step>
</Steps>

Kasulikud veerud:

| Veerg | Avaldis |
|---|---|
| Kõne ID | `{{ $json.call_id }}` |
| Suund | `{{ $json.direction }}` |
| Kellelt | `{{ $json.from_number }}` |
| Kellele | `{{ $json.to_number }}` |
| Algusaeg | `{{ $json.start_time }}` |
| Kestus (s) | `{{ $json.duration_seconds }}` |
| Olek | `{{ $json.status }}` |
| Lõpetamise põhjus | `{{ $json.end_reason }}` |
| Kõne link | `https://app.thunderphone.com/dashboard/call-history/{{ $json.call_id }}` |

Kõne link avab kõne ThunderPhonei juhtpaneelil sinu organisatsiooni liikmetele
koos selle transkriptsiooni ja salvestisega, seega ei pea tabel kumbagi
sisaldama.

Transkriptsiooni lisamiseks vastenda siiski
`{{ $json.transcripts.filter(t => typeof t.content === 'string').map(t => t.role + ': ' + t.content).join('\n') }}`.
Salvestise URL aegub, seega salvesta kõne ID ja käivita kõne andmete toomine uuesti,
kui vajad uut linki. Kõnede transkriptsioonid, kokkuvõtted ja salvestised võivad sisaldada
isiku- või terviseandmeid. Saada neid ainult rakendustesse, mida sinu organisatsioonil on
lubatud nende andmete jaoks kasutada, terviseandmete korral BAA alusel,
ja säilita ainult vajalikke välju.

<Note>
  ThunderPhone edastab sündmused `POST`-iga päästiku **tootmise
  URL-ile**, seega peab sinu n8n-i eksemplar olema internetist HTTPS-i kaudu
  ligipääsetav ning töövoog peab olema aktiivne. Päästik kontrollib igal päringul
  `X-ThunderPhone-Signature` HMAC-i ja vastab `401` kõigile
  allkirjastamata või vigastele päringutele.
</Note>

Päästik väljastab täieliku sündmuse: `type`, `event_id` ja `data`. Vaata
[`telephony.complete` / `web.complete`](/et/webhooks/call-complete) ja
[`call.graded`](/et/webhooks/events) kõigi väljade jaoks. Edastus toimub vähemalt üks kord
ning `event_id` jääb ühe sündmuse korduskatsete jooksul samaks, seega kontrolli seda enne
sammu, mida ei tohi korrata.

## Tee väljaminevaid kõnesid turvaliselt

**Tee väljaminev kõne** (ressurss **Väljaminev kõne**, toiming **Tee**)
vajab järgmist:

| Väli | Tähendus |
|---|---|
| Häälagendi nimi või ID | Salvestatud häälagent. Rippmenüü loetleb sinu häälagendid. |
| Telefoninumbri nimi või ID | Lähte-number. Rippmenüü loetleb ainult väljaminevateks kõnedeks lubatud numbrid. |
| Sihtnumber | Sihtnumber E.164 vormingus, nt `+14155552671`. |
| Muutujad | JSON-objekt häälagendi viibas olevate kohatäidete väärtustega. |
| Idempotentsusvõti | Stabiilne ID ülesvoolu kirjest või sündmusest. Kohustuslik. |

Seo **idempotentsusvõti** käivituse põhjustanud üksuse ID-ga, näiteks
CRM-i kirje ID või käivitaja `event_id`-ga. Sõlm saadab
`n8n:<node ID>:<your value>`, seega:

- Automaatne uuesti proovimine või **käivituse uuesti proovimine** saadab sama võtme ja
  ThunderPhone tagastab algse kõne väärtusega `idempotent_replay: true`,
  selle asemel et uuesti valida.
- Kaks sama kirjega toidetud ThunderPhone'i sõlme saadavad erinevad võtmed.
- Tühi väärtus nurjub enne päringu saatmist.

Väldi ajatemplite, juhuslike väärtuste ning n8n-i käivituse või töövoo ID-de kasutamist. Uus
väärtus uuesti proovimisel teeb teise päris kõne. Kogu võti võib olla kuni 128
tähemärki pikk. Võtme taaskasutamine teise häälagendi, numbri või muutujatega nurjub
konfliktiga.

**Kampaaniad.** **Lisa kontaktid** (ressurss **Kampaania**) lisab kontaktid
mustandkampaaniasse. See vajab kampaania ID-d ja kontaktide JSON-massiivi. Iga kontakt vajab välja `phone_number`; muud võtmed
muutuvad kõnemuutujateks. Sõlm nurjub, kui kõik kontaktid lükatakse tagasi, ja määrab
väärtuseks `partial_success: true`, kui tagasi lükatakse ainult osa neist. **Alusta** nõuab märkeruutu,
mis kinnitab, et kampaania teeb päris kõnesid ja kulutab ThunderPhone'i
krediiti. Vaata [väljaminevaid kampaaniaid](/et/guides/outbound-campaigns).

Enne kui töövoog hakkab kõnesid tegema:

- Kui ThunderPhone palub sinu organisatsioonil kinnitada, et selle väljaminevad kõned
  järgivad TCPA-d ja muid helistamisseadusi, peab administraator selle
  kinnituse esmalt juhtpaneelil salvestama.
- Lähte-number peab olema väljaminevateks kõnedeks lubatud. Numbrid, mille tood
  oma teenusepakkujalt, sobivad pärast kinnitamist. ThunderPhone'i numbrid on alguses
  ainult sissetulevate kõnede jaoks ning neid saab väljaminevaks kasutuseks heaks kiita: administraator taotleb seda
  telefoninumbrite lehelt. Vaata
  [telefoninumbri hankimist](/et/guides/get-a-phone-number).
- Sinu organisatsioon vastutab selle eest, et tal oleks nõusolek igale numbrile
  helistamiseks ja et ta järgiks kohaldatavaid helistamisseadusi. Vaata
  [väljaminevate kõnede seadusi](/et/guides/outbound-calling-laws).

## Näidistöövood

- **CRM-i kontaktid kampaaniasse.** Lisa CRM-i kontaktid ThunderPhone'i
  mustandkampaaniasse, seejärel alusta kampaaniat, kui keegi on loendi heaks kiitnud.
- **Lõpetatud kõne kliendikirjesse.** Kui kõne on lõpetatud, käivita **Hangi kõne**
  ja salvesta transkriptsioon ning salvestise link vastavasse kliendikirjesse.
- **Madalad hinded ülevaatamiseks.** Kui kõne on hinnatud, filtreeri välja
  `{{ $json.data.grade.score }}` alusel ning suuna madala hindega kõned ülevaatusjärjekorda
  koos kõne ID ja hinde üksikasjadega. Kõnet saab hinnata rohkem kui üks kord
  ning iga lõpetatud hindamiskäitus käivitab käivitaja, seega säilita iga
  kõne ID kohta ainult uusim `graded_at`.

Kõnede transkriptsioonid, kokkuvõtted ja salvestised võivad sisaldada isiku- või
terviseandmeid. Saada need ainult rakendustesse, mida sinu organisatsioonil on õigus
nende andmete jaoks kasutada, terviseandmete korral BAA alusel, ning säilita ainult
vajalikud väljad.

<Note>
  Saadad samad kõnesündmused hoopis oma serverisse? Vaata
  [veebihaagi lõpp-punkte](/et/webhooks/endpoints).
  [Väljaminevate kõnede tegemine](/et/guides/place-outbound-calls) käsitleb API-t, mis on
  toimingu Tee väljaminev kõne taga.
</Note>
