VodičPlan Ultimate

Podesi vebhukove

Šalji ažuriranja o terminima, klijentima, računima i drugom u realnom vremenu svom sistemu i proveri da li svaki zahtev dolazi od Softalona.

4 min čitanjaUloga: Super administrator ili višaIntegracije i programeriAžurirano 25. октобар 2026.
Otvori u aplikaciji

Vebhuk šalje HTTP zahtev na URL koji izabereš svaki put kada se nešto desi u tvom salonu, na primer kada se kreira termin ili ažurira klijent. Koristi ga da drugi sistem bude usklađen sa Softalonom.

Pre nego što počneš

  • Tvoj salon koristi plan Ultimate.
  • Imaš ulogu Super administrator ili Vlasnik.
  • Imaš URL koji prihvata POST zahteve sa JSON telom i počinje sa https:// ili http://.

Kreiraj vebhuk

  1. 1

    Korak 1 od 4

    Otvori Vebhukove

    Idi na Podešavanja › Programeri › Vebhukovi i klikni na Kreiraj vebhuk.

  2. 2

    Korak 2 od 4

    Unesi odredište

    Popuni Odredišni URL, na primer https://example.com/webhook, i po želji Opis, da kasnije lakše prepoznaš vebhuk.

  3. 3

    Korak 3 od 4

    Izaberi teme

    U delu Teme izaberi događaje koje želiš. Kartica Sve teme navodi sve dostupne teme, a kartica Izabrane teme prikazuje izabrane teme. Tvoj URL prima samo teme koje izabereš.

  4. 4

    Korak 4 od 4

    Sačuvaj

    Klikni na Kreiraj vebhuk.

    Videćeš:

    Vebhuk kreiran, a vebhuk se pojavljuje u tabeli sa uključenim prekidačem statusa.

Teme

Teme se zovu resource.action. Dostupne su ove:

OblastTeme
Članovi timasalons/member.created, .updated, .deleted
Lokacijelocations/location.created, .updated, .deleted
Uslugeservices/service.created, .updated, .deleted
Klijenticlients/client.created, .updated, .deleted, .birthday, .lapsed
Kodovi za prijavu klijenataclients/session_request.code_generated
Terminibooking/appointment.created, .updated, .deleted, .upcoming, .started
Konverzacijeconversations/conversation.created, .updated, .deleted
Računifinances/invoice.created, .updated, .deleted

Šta znači koji okidač, pogledaj u vodiču Okidači automatizacija.

Šta Softalon šalje

Svaki događaj je POST zahtev sa JSON telom:

{
  "topic": "booking/appointment.created",
  "event": {
    "id": "...",
    "type": "booking/appointment.created",
    "resource": "booking/appointment",
    "resourceId": "...",
    "salonId": "...",
    "data": {
      "object": { "...": "the full object" },
      "previousAttributes": { "...": "changed fields, for updates" }
    }
  }
}

Zahtev ima ova zaglavlja:

ZaglavljeVrednost
X-Webhook-Signaturesha256= i iza toga potpis
X-Webhook-TopicTema, na primer booking/appointment.created
X-Webhook-Endpoint-IdID tvog vebhuka
X-Webhook-Delivery-IdID ove isporuke. Ostaje isti kada se isporuka ponavlja.
User-AgentSoftalon API

Proveri potpis

Svaki vebhuk ima secret. Softalon njime potpisuje telo zahteva algoritmom HMAC-SHA256 i šalje heksadecimalni rezultat u zaglavlju X-Webhook-Signature. Izračunaj istu vrednost iz sirovog tela zahteva i uporedi ih. Ako se ne poklapaju, zanemari zahtev.

const crypto = require("crypto");

function isValid(rawBody, header, secret) {
  const expected = "sha256=" + crypto.createHmac("sha256", secret).update(rawBody).digest("hex");
  return crypto.timingSafeEqual(Buffer.from(expected), Buffer.from(header));
}

Za upravljanje secretom koristi dugmad u koloni Secret:

  • Dugme sa okom prikazuje ceo secret, a dugme za kopiranje ga kopira.
  • Dugme za ponovno generisanje odmah pravi novi secret. Stari secret odmah prestaje da radi, pa istovremeno ažuriraj svoj sistem.

Isporuke i ponovni pokušaji

  • Tvoj URL mora da odgovori statusnim kodom 2xx u roku od 10 sekundi. Sve ostalo se računa kao neuspeh.
  • Neuspela isporuka se ponavlja, najviše 5 pokušaja ukupno. Razmaci između pokušaja rastu: oko 30 sekundi, 1 minut, 2 minuta i 4 minuta.
  • Koristi X-Webhook-Delivery-Id da zanemariš isporuku koja je već obrađena.

Svaka isporuka ima jedan od ovih statusa:

StatusŠta znači
pendingČeka na slanje.
deliveredTvoj URL je odgovorio statusom 2xx.
failedPoslednji pokušaj nije uspeo. Ako je ostalo pokušaja, isporuka se ponavlja.
exhaustedSvih 5 pokušaja nije uspelo. Isporuka se više neće ponavljati.

Aplikacija još ne prikazuje evidenciju isporuka. Isporuke možeš da pročitaš preko API-ja na GET /v1/salons/:salonId/webhook-endpoints/:webhookEndpointId/deliveries. Pogledaj Kreiraj API aplikaciju.

Ako su poslednjih 5 isporuka nekom vebhuku sve u statusu exhausted, Softalon isključuje taj vebhuk. Popravi svoj endpoint, a zatim ponovo uključi prekidač statusa. Događaji koji se dese dok je vebhuk isključen ne šalju se kasnije.

Izmeni, pauziraj ili obriši vebhuk

  • Pauziranje: isključi prekidač u koloni Status.
  • Izmena: otvori meni u redu i izaberi Ažuriraj.
  • Brisanje: otvori meni u redu i izaberi Obriši.

Vebhukovi šalju samo dok tvoj salon ima aktivnu, probnu ili dospelu pretplatu na planu koji uključuje vebhukove.

Česta pitanja

Svaka isporuka se šalje zasebno i ponavlja po svom rasporedu, zato se ne oslanjaj na redosled stizanja zahteva. Umesto toga koristi vremenske oznake samog objekta.