Funkcije Integracije
Integracije i API

Booking ne mora
da bude ostrvo

Šesnaest događaja izlazi iz sistema u trenutku kada se dese, potpisano i u formatu koji razume svaki alat za automatizaciju. Četiri rute puštaju spoljni softver da čita vaše podatke. Ništa se ne prepisuje ručno.

Dva smera, i razlika je bitna

Ovo je jedina stvar koju treba razumeti pre svega ostalog na ovoj stranici. Sve dalje su detalji.

Odlazni smer

Webhook

Sistem javlja napolje čim se nešto desi. Ne čeka da ga neko pita. Vi date adresu i izaberete događaje, a paket sa podacima stiže sam, u sekundi kada je događaj nastao.

Primer: klijent zakaže termin u 23h. Sekundu kasnije njegov podatak je u vašoj tabeli, poruka mu je otišla na Viber, a vaš telefon je zazvonio jednom.
Dolazni smer

API ključ

Spoljni sistem čita iz bookinga kada mu zatreba. Vi izdate ključ, a on njime pita: koji su termini od juče, koje usluge postoje, ko je od osoblja aktivan.

Primer: vaš knjigovođa svakog prvog povlači spisak završenih termina za prošli mesec, bez da otvara admin i bez da vas zove.
Većini korisnika treba samo prvi smer. Webhook rešava devedeset odsto potreba, jer je ono što ljudi zaista žele da se poruka pošalje sama i da se red u tabeli upiše sam. API ključ je za slučaj kada neko drugi treba da čita vaše podatke.

Šesnaest događaja, tačno ovih

Svaki webhook sluša one koje mu vi dodelite. Jedan URL može da prima jedan događaj, drugi svih šesnaest.

Rezervacije

7
  • booking.createdNova rezervacija
  • booking.canceledOtkazana rezervacija
  • booking.completedZavršena rezervacija
  • booking.status_changedPromena statusa, bilo koja
  • booking.confirmedKlijent potvrdio dolazak
  • payment.recordedEvidentirana uplata
  • waitlist.joinedPrijava na listu čekanja

Poruke klijentu

9
  • booking.reminderPodsetnik pre termina
  • booking.reminder2Drugi podsetnik
  • booking.no_showKlijent nije došao
  • customer.debt_reminderPodsetnik za neplaćeno
  • customer.review_requestZahtev za recenziju
  • customer.winbackUspavani klijent
  • customer.rebookVreme za ponovno zakazivanje
  • customer.birthdayRođendanska čestitka
  • customer.loyaltyNagrada za vernost

Šta tačno stiže na vašu adresu

Obična JSON poruka. Ovo je paket koji odlazi kod nove rezervacije.

POST na vašu adresu
X-PB-Event:     booking.created
X-PB-Signature: sha256=a3f1c8...
Content-Type:   application/json

{
  "id":          1482,
  "reference":   "3BB6844B",
  "status":      "pending",
  "service":     "Žensko šišanje",
  "staff":       "Milica Jovanović",
  "date":        "2026-07-24",
  "time":        "17:30",
  "price":       2500,
  "amount_paid": 0,
  "customer": {
    "name":  "Ana Petrović",
    "email": "ana@primer.rs",
    "phone": "+381 60 123 4567"
  }
}
Telefon je u paketu, i to je cela poenta. Zbog njega svaka poruka koja inače ide mejlom može istovremeno da ode kao WhatsApp, Viber ili SMS, preko alata koji vi već koristite. Sistem sam ne šalje SMS, ali šalje sve što je potrebno da ga neko drugi pošalje.

Dve stvari koje razlikuju ozbiljan webhook od poziva u prazno

Obe su nevidljive dok ne zatrebaju, a tada su jedino što je važno.

Potpis, da primalac zna da poruka dolazi od vas

Adresa webhooka je javna. Bez potpisa, svako ko je pogodi može da vam ubaci lažnu rezervaciju u tabelu.

  • Svaki paket nosi zaglavlje sa potpisom, izračunatim po HMAC-SHA256 algoritmu nad sadržajem poruke i tajnom koju znate samo vi i primalac.
  • Primalac isti račun ponovi i uporedi. Ako se potpisi ne poklapaju, poruka nije od vas ili je neko dirao sadržaj u prolazu.
  • Tajna se ne šalje. Putuje samo rezultat računa, iz kojeg se tajna ne može izvesti.
  • Ako ne postavite tajnu, potpisa nema i paket odlazi bez njega. Radiće, ali primalac neće imati čime da proveri pošiljaoca.
Ovo je standard koji koriste Stripe, GitHub i Shopify za istu svrhu. Nije izmišljeno ovde, i baš zato ga svaki ozbiljan alat već razume.

Dugme za probu, da ne čekate pravu rezervaciju

Bez ovoga se integracija testira tako što sami sebi zakažete termin i gledate da li se nešto desilo.

  • Dugme šalje probni paket na vašu adresu i odmah prikazuje šta je server odgovorio.
  • Odgovor vidite vi, ne log. Ako je adresa pogrešna ili scenario nije uključen, to piše na ekranu, u tom trenutku.
  • Neograničen broj adresa, svaka sa svojim izborom događaja i svojom tajnom.
  • Webhook se gasi prekidačem, bez brisanja. Podešavanje ostaje za kasnije.

Radi sa svakim alatom koji prima HTTP zahtev

Zapier
Make
n8n
Pabbly
vaš server

Četiri rute za čitanje podataka

Za slučaj kada spoljni sistem treba da pita, umesto da čeka da mu se javi.

/auth/test Provera da li je ključ ispravan. Prva stvar koju integracija poziva.
/api/appointments Termini sa punim podacima o klijentu. Filteri po datumu izmene, opsegu datuma, statusu i broju redova.
/api/services Šifarnik usluga: naziv, trajanje, cena.
/api/staff Šifarnik osoblja.

Upravljanje ključevima

  • Do dvadeset ključeva, svaki sa svojim nazivom. Ne zovite ih „ključ 1“ i „ključ 2“ nego „Zapier“ i „Izveštaj za knjigovođu“, jer ćete za pola godine zaboraviti koji je koji.
  • Vidi se kada je ključ poslednji put upotrebljen. Ključ koji stoji mesecima je ili mrtva integracija ili nešto što ne znate da postoji. Oba slučaja su razlog da ga ugasite.
  • Opoziv je pojedinačan. Gasite jednu integraciju bez diranja ostalih.
  • Ključ ide u zaglavlju, kao X-PB-API-Key ili standardno kao Authorization: Bearer.
  • Poređenje ključa je otporno na merenje vremena, pa se ključ ne može pogoditi merenjem koliko je serveru trebalo da odgovori.

Pretplata na kalendar, bez ijedne integracije

Zaposleni ne gleda WordPress. Gleda telefon. Ako termin nije tamo, za njega ne postoji.

Jedan link, jednom ubačen

Ovo ne traži ni Zapier ni programera. Traži trideset sekundi po zaposlenom, jednom.

  • Svaki zaposleni dobija svoj link i vidi isključivo svoje termine. Ubaci ga jednom u Google, Apple ili Outlook kalendar.
  • Globalni link postoji za vlasnika ili recepciju, sa svim terminima na jednom mestu.
  • To je pretplata, ne jednokratni uvoz. Novi termin se pojavi sam, otkazani nestane sam. Bez ijednog klika posle prvog puta.
  • Radi na satu, telefonu i laptopu, jer je iCal standard koji svi ozbiljni kalendari razumeju. Uputstvo za sva tri sistema je u samom pluginu.
  • Ovo nije isto što i dugme „Dodaj u kalendar“ iz mejla. Dugme klijentu ubacuje jedan termin. Pretplata zaposlenom drži ceo raspored, trajno.
Od svega na ovoj stranici, ovo je jedina stavka koju možete uključiti danas, bez naloga na bilo kojoj platformi.
Stranica Integracije: webhook sa izborom događaja i dugmetom za probu
Integracije u adminu: adresa, izbor događaja, tajna za potpis i dugme za probu.

Granice ovog dela sistema

Integracije su cevi. Ono što teče kroz njih podešavate vi, u alatu po svom izboru.

  • Nema gotovu vezu sa imenom. Ne postoji dugme „poveži sa Zapier nalogom“. Postoji adresa na koju sistem šalje, a scenario pravite vi. To je pet minuta posla, ali jeste posao.
  • Nema SMS, WhatsApp ni Viber iz samog plugina. Sistem šalje događaj sa telefonom klijenta, a poruku šalje alat koji vi izaberete i platite. Zato se te poruke i ne naplaćuju kroz licencu.
  • Nema dolazni upis. Rute su za čitanje. Spoljni sistem ne može da napravi termin kroz API, samo da vidi postojeće.
  • Nema uvoz iz Google kalendara. Termini idu iz plugina u kalendar, ne obrnuto. Ono što ste ranije upisali u Google ostaje tamo.
  • Nema ponovni pokušaj slanja. Ako vaš server u tom trenutku ne odgovori, paket je propušten i ne šalje se ponovo. Za poruke koje ne smeju da se izgube koristite alat koji sam ponavlja pokušaj.
Ovo su svesne granice, ne propusti. Plugin radi na vašem hostingu i nema pravo da vas obavezuje na tuđi nalog ni na tuđu pretplatu.

U kom su paketu integracije

U svakom plaćenom, bez ograničenja broja poziva i bez naplate po događaju.

Webhook, API i kalendar

Free1 usluga, 1 zaposleni
SingleSve, 1 sajt
BusinessSve, više sajtova
AgencySve, za sajtove klijenata
Pogledaj cene →

Pitanja koja se stvarno postavljaju

Za webhook, da. U Zapier ili Make napravite korak koji se zove catch hook, dobijete adresu, nalepite je u plugin i izaberete događaje. Zatim kažete šta se dešava kada paket stigne: poruka na Viber, red u tabeli, obaveštenje na telefon. Nijedan korak ne traži pisanje koda. Za API ključeve jeste potreban neko ko zna šta radi, ali njih većina korisnika nikad neće ni otvoriti.

Uključite webhook na događaj podsetnika i povežite ga sa alatom koji šalje WhatsApp. Paket nosi ime, telefon, uslugu, datum, vreme i broj rezervacije, dakle sve što treba za poruku. Plugin i dalje šalje mejl, pa klijent dobija oba, ili mejl isključite. Trošak poruka plaćate tom alatu, ne nama, i to je razlog zašto licenca nema mesečnu naplatu.

Zato postoji tajna za potpis. Onaj ko zna adresu ali ne zna tajnu ne može da pošalje poruku koja će proći proveru, jer primalac upoređuje potpis sa svojim računom. Ako sumnjate da je i tajna procurela, promenite je u pluginu i kod primaoca. Adresu ne morate menjati.

Ne. Paket odlazi bez čekanja na odgovor, sa kratkim rokom, pa klijent koji zakazuje ne čeka vaš Zapier. Jedini izuzetak je dugme za probu, koje namerno čeka odgovor da bi vam ga pokazalo. Ako vaš server ne odgovori, rezervacija se svejedno završava normalno.

Da, i to na tri načina. Rute za termine, usluge i osoblje daju podatke u JSON formatu. Karton klijenta ima izvoz. Baza je na vašem hostingu, pa joj pristupate direktno kad god hoćete. Nema zaključavanja podataka, jer podaci nisu kod nas nego kod vas.

Šta ovim putem izlazi

Integracije nemaju svoj sadržaj. Nose ono što ostatak sistema proizvede.

Podatak koji se prepisuje rukom je podatak koji se pre ili kasnije izgubi

Šesnaest događaja izlazi samo, potpisano, u sekundi kada se desi. Licenca se plaća jednom, a broj poziva se ne naplaćuje.