---
title: "Izmantojiet ThunderPhone ar n8n"
description: "Instalējiet ThunderPhone mezglu platformai n8n, pievienojiet servera API atslēgu un izveidojiet darbplūsmu, kas tiek palaista ikreiz, kad zvans beidzas."
---

[n8n](https://n8n.io) ir darbplūsmu automatizācijas rīks. ThunderPhone pakotne
n8n pievieno divus mezglus:

- **ThunderPhone trigeris** sāk darbplūsmu, kad zvans beidzas (**Zvans
  pabeigts**) vai kad tiek pabeigta zvana novērtēšana (**Zvans novērtēts**).
- **ThunderPhone** veic izejošos zvanus, pievieno kontaktpersonas kampaņām un
  tās sāk, iegūst zvanus ar to transkriptiem un ierakstiem, kā arī uzskaita jūsu
  balss aģentus un tālruņa numurus.

Tas ir verificēts kopienas mezgls, kas pieejams vietnē
[ThunderPhone n8n vidē](https://n8n.io/integrations/thunderphone/).

## Instalējiet mezglu

n8n redaktorā noklikšķiniet uz **+**, lai atvērtu mezglu paneli, un meklējiet
**ThunderPhone**. Iespējams, instances īpašniekam vispirms ir jākonfigurē
verificētie mezgli, lai citi lietotāji varētu tos pievienot.

Pašmitinātā n8n vidē varat instalēt arī pēc pakotnes nosaukuma: atveriet
**Iestatījumi > Kopienas mezgli** un instalējiet `n8n-nodes-thunderphone`. Pirms
instalēšanas pārbaudiet kopienas mezglu riskus un savas instances politiku.

## Izveidojiet servera API atslēgu

<Steps>
  <Step title="Atveriet cilni Atslēgas">
    ThunderPhone vidē dodieties uz **Organizācija → Atslēgas** un noklikšķiniet uz **Izveidot atslēgu**.
  </Step>
  <Step title="Piešķiriet tai nosaukumu">
    Izmantojiet nosaukumu, kas norāda, kur atslēga tiek izmantota, piemēram, "n8n".
  </Step>
  <Step title="Nokopējiet to tūlīt">
    Pilnais `sk_live_...` noslēpums tiek parādīts vienu reizi. Nokopējiet to, pirms aizverat
    dialoglodziņu.
  </Step>
</Steps>

Atslēgu var izveidot tikai administrators vai īpašnieks, un ThunderPhone
pieprasa, lai pieprasījumi, kas veikti ar to, tiktu uzskatīti par šīs personas
pieprasījumiem. Trigerim un kampaņu operācijām ir nepieciešams, lai šī persona
saglabātu administratora vai īpašnieka lomu.
[Servera API atslēgas izveide](/lv/guides/api-keys) apraksta rotāciju un atsaukšanu.

## Pievienojiet akreditācijas datus n8n

1. n8n izveidojiet **ThunderPhone API** tipa akreditācijas datus.
2. Ielīmējiet atslēgu laukā **API atslēga**.
3. Saglabājiet tos un palaidiet akreditācijas datu pārbaudi. Pārbaude nolasa
   vienu zvanu no jūsu organizācijas ar `GET /v1/calls?limit=1`.

## Izveidojiet pirmo darbplūsmu

Šī darbplūsma pievieno rindu Google Sheet katru reizi, kad zvans beidzas.

<Steps>
  <Step title="Pievienojiet trigeri">
    Pievienojiet **ThunderPhone Trigger**, atlasiet savus ThunderPhone API akreditācijas datus un
    iestatiet **Notikums** uz **Zvans pabeigts**.
  </Step>
  <Step title="Iegūstiet zvanu">
    Pievienojiet **ThunderPhone** mezglu. Iestatiet **Resurss** uz **Zvans**, **Darbība**
    uz **Iegūt** un **Zvana ID** uz izteiksmi `{{ $json.data.call_id }}`.
    Izvade ir [zvana ieraksts](/api-reference/calls) kopā ar `transcripts`
    un `recording_url` — īslaicīgu saiti, kas ir `null`, ja zvanam nav
    ieraksta.
  </Step>
  <Step title="Pievienojiet rindu">
    Pievienojiet Google Sheets mezglu, kas pievieno rindu, un kartējiet vajadzīgās kolonnas
    no zvana iegūšanas izvades (skatiet tālāk redzamo tabulu).
  </Step>
  <Step title="Aktivizējiet darbplūsmu">
    Saglabājiet un aktivizējiet. Trigeris reģistrē savu produkcijas URL kā tīmekļa aizķeres
    galapunktu jūsu ThunderPhone organizācijā. Deaktivizējot darbplūsmu,
    šis galapunkts tiek dzēsts.
  </Step>
  <Step title="Pārbaudiet to">
    Atveriet balss aģentu veidotājā, noklikšķiniet uz **Runāt** un pabeidziet zvanu. Veidotāja
    pārbaudes zvani tiek piegādāti kā `web.complete` — viens no diviem notikumiem, kas veido
    Zvans pabeigts, tāpēc darbplūsma tiek palaista un parādās rinda.
  </Step>
</Steps>

Noderīgas kolonnas:

| Kolonna | Izteiksme |
|---|---|
| Zvana ID | `{{ $json.call_id }}` |
| Virziens | `{{ $json.direction }}` |
| No | `{{ $json.from_number }}` |
| Uz | `{{ $json.to_number }}` |
| Sākts | `{{ $json.start_time }}` |
| Ilgums (s) | `{{ $json.duration_seconds }}` |
| Statuss | `{{ $json.status }}` |
| Beigšanas iemesls | `{{ $json.end_reason }}` |
| Zvana saite | `https://app.thunderphone.com/dashboard/call-history/{{ $json.call_id }}` |

Zvana saite atver zvanu ThunderPhone informācijas panelī jūsu organizācijas
dalībniekiem kopā ar tā transkripciju un ierakstu, tāpēc izklājlapā nav
jāsaglabā neviens no tiem.

Lai tomēr pievienotu transkripciju, kartējiet
`{{ $json.transcripts.filter(t => typeof t.content === 'string').map(t => t.role + ': ' + t.content).join('\n') }}`.
Ieraksta URL derīguma termiņš beidzas, tāpēc saglabājiet zvana ID un palaidiet Iegūt zvanu vēlreiz, kad
nepieciešama jauna saite. Zvana transkripcijās, kopsavilkumos un ierakstos var būt
personiska vai veselības informācija. Sūtiet tos tikai uz lietotnēm, kuras jūsu organizācija
drīkst izmantot šiem datiem, saskaņā ar BAA, ja ir iesaistīta veselības informācija,
un saglabājiet tikai nepieciešamos laukus.

<Note>
  ThunderPhone piegādā notikumus ar `POST` uz trigera **Produkcijas
  URL**, tāpēc jūsu n8n instancei ir jābūt sasniedzamai internetā, izmantojot HTTPS,
  un darbplūsmai ir jābūt aktīvai. Trigeris pārbauda
  `X-ThunderPhone-Signature` HMAC katrā pieprasījumā un atbild ar `401`
  uz visu, kas nav parakstīts vai ir nederīgs.
</Note>

Trigeris izvada pilnu notikumu: `type`, `event_id` un `data`. Skatiet
[`telephony.complete` / `web.complete`](/lv/webhooks/call-complete) un
[`call.graded`](/lv/webhooks/events), lai uzzinātu par katru lauku. Piegāde notiek vismaz vienreiz,
un `event_id` paliek nemainīgs viena notikuma atkārtotos piegādes mēģinājumos, tāpēc pārbaudiet to pirms
darbības, kuru nedrīkst atkārtot.

## Droši veiciet izejošos zvanus

**Veikt izejošo zvanu** (resurss **Izejošais zvans**, darbība **Veikt**)
pieņem:

| Lauks | Nozīme |
|---|---|
| Aģenta nosaukums vai ID | Saglabāts aģents. Nolaižamajā sarakstā ir redzami jūsu aģenti. |
| Tālruņa numura nosaukums vai ID | Numurs, no kura zvanīt. Nolaižamajā sarakstā ir tikai izejošajiem zvaniem iespējotie numuri. |
| Saņēmēja numurs | Galamērķis E.164 formātā, piemēram, `+14155552671`. |
| Mainīgie | JSON vērtību objekts aģenta uzvednes vietturiem. |
| Idempotences atslēga | Stabils ID no augšupējā ieraksta vai notikuma. Obligāts. |

Saistiet **Idempotences atslēgu** ar ID no tā, kas izraisīja izpildi, piemēram,
CRM ieraksta ID vai aktivizētāja `event_id`. Mezgls nosūta
`n8n:<node ID>:<your value>`, tāpēc:

- Automātiska atkārtota mēģināšana vai **Atkārtot izpildi** nosūta to pašu atslēgu, un
  ThunderPhone atgriež sākotnējo zvanu ar `idempotent_replay: true`,
  nevis zvana vēlreiz.
- Divi ThunderPhone mezgli, kas saņem vienu un to pašu ierakstu, nosūta atšķirīgas atslēgas.
- Tukša vērtība izraisa kļūdu, pirms tiek nosūtīts jebkāds pieprasījums.

Neizmantojiet laikspiedolus, nejaušas vērtības un n8n izpildes vai darbplūsmas ID. Jauna
vērtība atkārtotas mēģināšanas laikā veic otru reālu zvanu. Visa atslēga var būt ne garāka par 128
rakstzīmēm. Atkārtota atslēgas izmantošana ar citu aģentu, numuru vai mainīgajiem izraisa
konflikta kļūdu.

**Kampaņas.** **Pievienot kontaktpersonas** (resurss **Kampaņa**) pievieno kontaktpersonas
melnraksta kampaņai. Tam nepieciešams kampaņas ID un kontaktpersonu JSON masīvs. Katrai kontaktpersonai nepieciešams `phone_number`; citas atslēgas
kļūst par zvana mainīgajiem. Mezgls izraisa kļūdu, ja tiek noraidītas visas kontaktpersonas, un iestata
`partial_success: true`, ja tiek pieņemtas tikai dažas. Lai izmantotu **Sākt**, ir jāatzīmē izvēles rūtiņa,
kas apstiprina, ka kampaņa veic reālus zvanus un izmanto ThunderPhone
kredītus. Skatiet [Izejošās kampaņas](/lv/guides/outbound-campaigns).

Pirms darbplūsma sāk zvanus:

- Ja ThunderPhone lūdz jūsu organizācijai apstiprināt, ka tās izejošie zvani
  atbilst TCPA un citiem zvanu veikšanas tiesību aktiem, administratoram vispirms
  vadības panelī ir jāreģistrē šis apstiprinājums.
- Numuram, no kura zvanīt, ir jābūt iespējotam izejošajiem zvaniem. Numuri, kurus jūs nodrošināt no
  sava operatora, atbilst prasībām pēc to verificēšanas. ThunderPhone numuri sākotnēji ir
  pieejami tikai ienākošajiem zvaniem, un tos var apstiprināt izejošai lietošanai: administrators to pieprasa
  tālruņa numuru lapā. Skatiet
  [Iegūt tālruņa numuru](/lv/guides/get-a-phone-number).
- Jūsu organizācija ir atbildīga par piekrišanas saņemšanu zvanīšanai uz katru numuru
  un par piemērojamo zvanu veikšanas tiesību aktu ievērošanu. Skatiet
  [Izejošo zvanu tiesību akti](/lv/guides/outbound-calling-laws).

## Darbplūsmu piemēri

- **CRM kontaktpersonas uz kampaņu.** Pievienojiet CRM kontaktpersonas ThunderPhone
  melnraksta kampaņai, pēc tam sāciet kampaņu, kad kāds apstiprina sarakstu.
- **Pabeigts zvans klienta ierakstā.** Kad zvans ir pabeigts, palaidiet Iegūt zvanu
  un saglabājiet transkriptu un ieraksta saiti atbilstošajā klienta ierakstā.
- **Zemi vērtējumi pārskatīšanai.** Kad zvans ir novērtēts, filtrējiet pēc
  `{{ $json.data.grade.score }}` un novirziet zemu punktu skaitu saņēmušos zvanus uz pārskatīšanas rindu
  ar zvana ID un vērtējuma informāciju. Zvanu var novērtēt vairāk nekā vienu reizi,
  un katra pabeigtā vērtēšanas izpilde aktivizē palaidēju, tāpēc saglabājiet tikai jaunāko
  `graded_at` katram zvana ID.

Zvanu transkripti, kopsavilkumi un ieraksti var saturēt personas vai veselības
informāciju. Sūtiet tos tikai uz lietotnēm, kuras jūsu organizācijai ir atļauts izmantot
šādiem datiem, ievērojot BAA, ja ir iesaistīta veselības informācija, un saglabājiet tikai
nepieciešamos laukus.

<Note>
  Vai tos pašus zvanu notikumus sūtāt uz savu serveri? Skatiet
  [Webhook galapunkti](/lv/webhooks/endpoints).
  [Veikt izejošos zvanus](/lv/guides/place-outbound-calls) apraksta API, kas nodrošina
  izejošā zvana veikšanu.
</Note>
