Contents
the email tool that makes email marketing simple
- Guides and Tutorials
- Konfigurisanje vebhokova
Konfigurisanje vebhokova
Published: · Last updated: · By Marcus Biel
In brief
Saznajte kako da kreirate Maildroppa webhook krajnje tačke, izaberete događaje, proverite potpise, bezbedno testirate isporuke i ponovite događaje.
Vebhokovi omogućavaju Maildroppi da obavesti drugu aplikaciju kada se u vašem nalogu dogodi nešto važno.
Umesto da iznova pitate Maildroppu da li je pretplatnik kreiran, ažuriran, odjavljen ili mu je dodeljena oznaka, vaša aplikacija može da primi HTTPS zahtev ubrzo nakon što se događaj dogodi.
Stranica Vebhokovi je centralno mesto za ovu integraciju na nivou naloga. Možete kreirati više krajnjih tačaka, izabrati događaje koje svaka krajnja tačka prima, dodati zaglavlja za autentifikaciju, testirati vezu, pregledati pokušaje isporuke i po potrebi ponovo poslati događaj iz produkcije.
Kako funkcionišu vebhokovi naloga
Vebhok naloga prati ovaj proces:
- U Maildroppi se dogodi događaj, na primer kreiranje pretplatnika.
- Maildroppa pronalazi svaku aktivnu krajnju tačku koja je pretplaćena na taj događaj.
- Maildroppa kreira jednu isporuku za svaku odgovarajuću krajnju tačku.
- JSON sadržaj se potpisuje tajnom za potpisivanje vebhokova vašeg naloga.
- Maildroppa šalje HTTPS
POSTzahtev na sačuvani URL krajnje tačke. - Vaša krajnja tačka proverava potpis, čuva ili obrađuje događaj i vraća HTTP odgovor.
- Maildroppa beleži rezultat u istoriji isporuke i automatski ponavlja privremeno neuspele pokušaje.
Ako je više krajnjih tačaka pretplaćeno na isti događaj, svaka krajnja tačka dobija sopstvenu isporuku. Poslovni događaj ima isti ID događaja za sve njih, dok svaka isporuka ima sopstveni ID isporuke.
Vebhokovi naloga razlikuju se od koraka „Pošalji vebhok“ unutar automatizacije. Vebhokovi naloga osluškuju izabrane događaje na nivou celog naloga u Maildroppi. Vebhok automatizacije šalje se samo kada pretplatnik stigne do tog konkretnog koraka. Oba koriste tajnu za potpisivanje vebhokova naloga, pa promena tajne utiče na svaki prijemnik odlaznih vebhokova koji proverava Maildroppa potpise.
Otvaranje stranice Vebhokovi
Otvorite „Podešavanja“, proširite „Programeri“ i izaberite „Vebhokovi“.
Stranica sadrži tri glavne oblasti:
- Tajna za potpisivanje
- Krajnje tačke
- Istorija isporuke za izabranu krajnju tačku
Kada imate više od jedne krajnje tačke, izaberite red krajnje tačke da biste prikazali njenu istoriju isporuke. Ako nijednu niste izričito izabrali, Maildroppa prikazuje istoriju prve krajnje tačke na listi.
Pre nego što kreirate krajnju tačku
Pripremite prijemnik na svom serveru pre konfigurisanja Maildroppe. Prijemnik treba da:
- Bude dostupan preko javnog HTTPS URL-a.
- Prihvata
POSTzahteve sa telomapplication/json. - Čuva neobrađeno telo zahteva dok se ne proveri Maildroppa potpis.
- Vraća status
2xxtek nakon što je događaj bezbedno prihvaćen. - Idempotentno obrađuje ponovljene isporuke koristeći ID događaja.
- Brzo odgovara umesto da tokom zahteva obavlja spore operacije.
Pouzdan obrazac je da proverite zahtev, sačuvate ID događaja i sadržaj u trajnom redu ili bazi podataka, vratite 200 ili 204, a zatim asinhrono obradite poslovnu radnju.
Ne izlažite razvojni računar, adresu lokalne mreže ili nezaštićenu skriptu kao produkcioni prijemnik vebhokova. Maildroppa prihvata samo javne HTTPS ciljeve i ponovo proverava odredište prilikom slanja isporuke.
Korak 1: Generisanje tajne za potpisivanje
Svaki Maildroppa vebhok zahtev je potpisan. Vaš prijemnik koristi tajnu za potpisivanje da proveri da li je zahtev kreirala Maildroppa i da li telo nije izmenjeno tokom prenosa.
Na vrhu stranice panel Tajna za potpisivanje prikazuje jedno od sledećih stanja:
- Nedostaje — Tajna za potpisivanje još ne postoji.
- Spremno — Tajna za potpisivanje je konfigurisana.
- Učitavanje — Maildroppa preuzima trenutno stanje.
Kliknite na „Generiši tajnu“ kada je status Nedostaje.
Maildroppa odmah prikazuje novu tajnu. Počinje sa whsec_. Kliknite na „Kopiraj“ i sačuvajte je u menadžeru tajni ili zaštićenoj konfiguraciji okruženja koju koristi vaš prijemnik.
Cela vrednost prikazuje se samo neposredno nakon generisanja ili promene tajne. Kada ponovo učitate stranicu ili je napustite, Maildroppa prikazuje samo da tajna postoji i kada je poslednji put ažurirana. Sačuvanu tajnu više ne otkriva.
Ako izgubite tajnu
Ako prijemnik više nema važeću tajnu, kliknite na „Promeni tajnu“ i sačuvajte nov prikazani podatak.
Promena odmah zamenjuje prethodnu tajnu. Maildroppa ne čuva obe vrednosti tokom prelaznog perioda. Ažurirajte svaki prijemnik koji koristi ovu tajnu naloga pre slanja novih testova ili oslanjanja na produkcione isporuke.
Nove isporuke, zakazana ponavljanja, testovi i ponovna slanja potpisuju se važećom tajnom u trenutku HTTP zahteva. To znači da isporuka kreirana pre promene može biti potpisana novom tajnom kada se kasnije pokuša njeno slanje.
Tretirajte tajnu kao lozinku
Ne stavljajte tajnu za potpisivanje u kôd pregledača, javni repozitorijum, URL, stranicu sa greškom ili običan dnevnik aplikacije.
Samo prijemniku na serveru potrebna je tajna. Ako verujete da je otkrivena, promenite je i odmah ažurirajte sve prijemnike.
Provera potpisa vebhoka
Svaki zahtev sadrži sledeća Maildroppa zaglavlja:
X-Maildroppa-Event-Id— Identifikuje poslovni događaj.X-Maildroppa-Delivery-Id— Identifikuje ovu konkretnu isporuku.X-Maildroppa-Timestamp— Vreme potpisivanja u Unix sekundama.X-Maildroppa-Signature— HMAC potpis sa verzijom.
Maildroppa takođe šalje:
Content-Type: application/jsonUser-Agent: Maildroppa-Webhooks/1.0
Potpis ima sledeći format:
v1=<lowercase hexadecimal HMAC>
Maildroppa ga kreira pomoću HMAC-SHA256. Potpisani sadržaj čine vremenska oznaka, tačka i tačno neobrađeno JSON telo zahteva:
<timestamp>.<raw request body>
Koristite tajnu za potpisivanje kao HMAC ključ.
Sledeći Node.js primer prikazuje osnovni korak provere. rawBody mora biti originalni niz bajtova zahteva, a ne JSON koji je već raščlanjen i ponovo serijalizovan.
import crypto from 'node:crypto';
export function verifyMaildroppaWebhook({ rawBody, timestamp, signature, signingSecret }) {
const signedPayload = Buffer.concat([Buffer.from(`${timestamp}.`, 'utf8'), rawBody]);
const expectedSignature = `v1=${crypto
.createHmac('sha256', signingSecret)
.update(signedPayload)
.digest('hex')}`;
const received = Buffer.from(signature, 'utf8');
const expected = Buffer.from(expectedSignature, 'utf8');
return received.length === expected.length && crypto.timingSafeEqual(received, expected);
}
Nakon provere potpisa, uporedite i vremensku oznaku sa vremenom servera. Odbijte zahteve izvan kratkog odstupanja izabranog za vašu infrastrukturu, na primer pet minuta. Time se smanjuje rizik da kasnije bude ponovljen uhvaćen važeći zahtev.
JSON raščlanjujte i obrađujte tek nakon što obe provere prođu.
Uobičajeni uzroci grešaka potpisa
Potpis najčešće ne uspeva iz jednog od sledećih razloga:
- Prijemnik koristi staru tajnu nakon promene.
- Mejnlver je raščlanio ili izmenio JSON pre izračunavanja potpisa.
- Prijemnik potpisuje samo telo i izostavlja
<timestamp>.. - Vremenska oznaka se tretira kao formatirani datum umesto kao tačna vrednost zaglavlja.
- Prefiks
v1=izostavljen je iz poređenja. - Izračunati HMAC kodiran je drugačije umesto malim heksadecimalnim slovima.
Kada provera ne uspe, zabeležite ID događaja i ID isporuke, ali nikada ne beležite tajnu za potpisivanje ni osetljive vrednosti prilagođenih zaglavlja.
Korak 2: Dodavanje krajnje tačke
Kliknite na „Dodaj krajnju tačku“ u odeljku Krajnje tačke.
Editor sadrži četiri dela:
- URL krajnje tačke
- Događaji
- Prilagođena zaglavlja
- Aktivni status
Nove krajnje tačke počinju kao aktivne, a svi događaji prikazani u editoru u početku su izabrani. Pregledajte izbor pre čuvanja kako bi prijemnik dobijao samo obaveštenja koja su mu zaista potrebna.
Konfigurisanje URL-a krajnje tačke
Unesite potpun javni URL koji treba da prima Maildroppa zahteve, na primer:
https://integrations.example.com/webhooks/maildroppa
URL mora ispunjavati sledeće zahteve:
- Mora koristiti
https://. - Mora sadržati važeće javno ime hosta.
- Može imati najviše 2.048 znakova.
- Ne sme sadržati promenljive šablona sa
{ili}. - Ne sme sadržati korisničko ime ili lozinku pre imena hosta.
- Ne sme sadržati fragment URL-a koji počinje sa
#. - Mora koristiti standardni HTTPS port
443. - Ne sme koristiti
localhost, sirovu IP adresu ili ime hosta koje se razrešava na blokiranu privatnu ili rezervisanu mrežu.
Parametri upita su podržani, ali ne stavljajte API ključeve ili druge tajne u URL. URL-ovi su vidljivi na listi krajnjih tačaka i u podacima o isporuci. Umesto toga koristite prilagođeno zaglavlje za akreditive.
Maildroppa ne prati preusmeravanja. Sačuvajte konačno HTTPS odredište umesto URL-a koji vraća 301, 302, 307 ili 308.
Ime hosta odredišta ponovo se razrešava pre slanja. Ime hosta koje se kasnije razreši na privatnu ili blokiranu adresu biće odbijeno čak i ako je bilo važeće kada je krajnja tačka sačuvana.
Izbor događaja
Izaberite najmanje jedan događaj. Krajnja tačka prima samo tipove događaja izabrane u njenom editoru.
Stranica nudi sledeće izbore događaja:
Pretplatnik kreiran — subscriber.created
Šalje se kada se pretplatnik kreira u Maildroppa nalogu.
Koristite ovaj događaj da kreirate odgovarajući kontakt u CRM-u, platformi za korisničke podatke, internoj bazi ili drugom sistemu koji vodi računa o dozvolama.
Ne tumačite ovaj događaj kao dokaz da je svaka prijava završila dvostruku potvrdu (Double Opt-in). Status pretplatnika u sadržaju opisuje trenutno stanje.
Pretplatnik ažuriran — subscriber.updated
Šalje se kada se promene ugrađene informacije o pretplatniku ili vrednosti prilagođenih polja.
Koristite kompletan objekat pretplatnika u sadržaju kao trenutni Maildroppa prikaz. Nemojte pretpostavljati da se promenilo samo jedno određeno svojstvo.
Dodeljivanje i uklanjanje oznaka imaju sopstvene tipove događaja kako bi se mogli obrađivati zasebno.
Pretplatnik odjavljen — subscriber.unsubscribed
Šalje se kada pretplatnik pređe u stanje odjavljenog putem radnje odjave.
Koristite ovaj događaj da ograničite kontakt u povezanim sistemima. Nemojte automatski ponovo prijaviti osobu zato što je drugi sistem i dalje označava kao aktivan kontakt.
Oznaka dodata — subscriber.tag_added
Šalje se kada se pretplatniku dodeli oznaka.
Sadržaj sadrži pretplatnika i oznaku obuhvaćene ovom konkretnom promenom.
Oznaka uklonjena — subscriber.tag_removed
Šalje se kada se oznaka ukloni sa pretplatnika.
Sadržaj sadrži ažuriranog pretplatnika i uklonjenu oznaku. Uklonjena oznaka navodi se zasebno iako više nije prisutna u trenutnom nizu tags pretplatnika.
Obrazac poslat — form.submitted
Šalje se kada posetilac pošalje Maildroppa obrazac za prijavu.
Tretirajte ovo kao signal slanja obrasca, a ne kao potvrdu da je dvostruka potvrda (Double Opt-in) završena. Svaki tok rada koji zahteva potvrđenu pretplatu mora i dalje poštovati trenutni status pretplatnika i proces potvrde.
Koristite zasebne krajnje tačke kada se odgovornosti razlikuju
Možete slati različite događaje različitim sistemima. Na primer:
- Šaljite događaje o pretplatnicima i oznakama u CRM.
- Šaljite događaje o odjavi servisu za potiskivanje.
- Šaljite događaje o slanju obrazaca analitičkom sistemu.
Zasebne krajnje tačke smanjuju nepotreban saobraćaj i olakšavaju dijagnostikovanje grešaka. Svaka krajnja tačka ima sopstveni izbor događaja, URL, prilagođena zaglavlja, aktivni status, testove i istoriju isporuke.
Dodavanje prilagođenih zaglavlja
Prilagođena zaglavlja su opciona. Koristite ih kada prijemnik zahteva API ključ, bearer token, identifikator zakupca ili drugo fiksno zaglavlje.
Kliknite na „Dodaj zaglavlje“, a zatim unesite naziv zaglavlja i vrednost zaglavlja. Primeri odgovarajućih vrednosti uključuju:
Authorization: Bearer your-token
X-Integration-Key: your-secret-key
Možete dodati najviše 20 prilagođenih zaglavlja.
Nazivi zaglavlja:
- Obavezni su.
- Mogu sadržati najviše 128 znakova.
- Moraju koristiti važeće znakove za nazive HTTP zaglavlja.
- Moraju biti jedinstveni bez obzira na velika i mala slova.
Vrednosti zaglavlja:
- Obavezne su.
- Mogu sadržati najviše 2.000 znakova.
- Ne smeju sadržati prelome reda.
Sledeći nazivi su rezervisani i ne mogu biti zamenjeni prilagođenim zaglavljem:
Content-TypeContent-LengthHostUser-Agent- Bilo koji naziv koji počinje sa
X-Maildroppa-
Time se sprečava da prilagođena vrednost zameni Maildroppa zaglavlja za isporuku i potpis.
Kako se čuvaju tajne u zaglavljima
Maildroppa šifruje vrednosti prilagođenih zaglavlja pre čuvanja. Sačuvane vrednosti se pregledaču ne vraćaju u čitljivom obliku.
Kada kasnije uređujete krajnju tačku, polje vrednosti prikazuje „Sačuvana vrednost ostaje“. Ostavite ga praznim kada postojeća tajna treba da ostane nepromenjena. Unesite novu vrednost da biste je zamenili.
Ako promenite naziv zaglavlja, ponovo unesite vrednost. Maildroppa čuva sačuvanu tajnu samo dok njen prvobitni naziv zaglavlja ostaje nepromenjen.
Uklanjanjem reda zaglavlja uklanja se to zaglavlje iz budućih isporuka nakon čuvanja krajnje tačke.
Vrednosti prilagođenih zaglavlja tretiraju se kao osetljive u sačuvanim informacijama o zahtevima. U istoriji isporuke su maskirane, a ne prikazane.
Podešavanje aktivne ili neaktivne krajnje tačke
Ostavite „Aktivno“ izabrano kada je krajnja tačka spremna da odmah prima događaje.
Poništite izbor kada želite da sačuvate konfiguraciju bez pokretanja isporuka. Krajnju tačku možete kasnije aktivirati sa liste krajnjih tačaka.
Neaktivna krajnja tačka:
- Ne prima novonastale događaje.
- Ne može da pošalje testni vebhok.
- Ostaje vidljiva i može da se uređuje.
- Zadržava postojeću istoriju isporuke.
Aktiviranje krajnje tačke ne popunjava naknadno događaje koji su se dogodili dok je bila neaktivna.
Kliknite na „Sačuvaj“ kada su URL, izbor događaja, zaglavlja i status ispravni.
Razumevanje liste krajnjih tačaka
Svaki red krajnje tačke prikazuje:
- URL odredišta.
- Bedž Aktivno ili Neaktivno.
- Tipove pretplaćenih događaja.
- Broj prilagođenih zaglavlja.
- Vreme poslednjeg ažuriranja krajnje tačke.
Dostupne radnje su:
- Uključi/isključi — Aktivira ili deaktivira krajnju tačku.
- Testiraj — Šalje jedan trenutni testni zahtev aktivnoj krajnjoj tački.
- Uredi — Menja URL, događaje, zaglavlja ili aktivni status.
- Obriši — Trajno uklanja konfiguraciju krajnje tačke nakon potvrde.
Izaberite glavni deo reda da biste ispod liste otvorili istoriju isporuke te krajnje tačke.
Kako sačuvane izmene utiču na postojeće isporuke
Događaj naloga kreira isporuku sa snimkom URL-a krajnje tačke, sadržaja i prilagođenih zaglavlja u tom trenutku.
Uređivanje URL-a ili prilagođenih zaglavlja utiče na novokreirane isporuke. Isporuka koja je već u redu za slanje zadržava prvobitno odredište i sačuvanu konfiguraciju zaglavlja.
Promena izabranih događaja takođe utiče samo na događaje koji se dogode nakon toga. Maildroppa ne kreira retroaktivne isporuke za tipove događaja koji nisu bili izabrani kada se događaj dogodio.
Tajna za potpisivanje je drugačija: ona se čita kada se HTTP zahtev priprema. Zbog toga isporuka na čekanju ili ponovljeno slanje može koristiti novopromenjenu tajnu za potpisivanje čak i kada su njen sadržaj i snimak krajnje tačke kreirani ranije.
Testiranje krajnje tačke
Kliknite na „Testiraj“ na aktivnoj krajnjoj tački nakon što su prijemnik i tajna za potpisivanje spremni.
Maildroppa odmah šalje jedan potpisan zahtev koristeći sačuvani URL krajnje tačke i sačuvana prilagođena zaglavlja. Nesačuvane izmene u otvorenom editoru nisu deo testa.
Testni sadržaj koristi tip događaja webhook.test i postavlja livemode na false:
{
"id": "evt_test_example",
"type": "webhook.test",
"schema_version": "1",
"created_at": "2026-07-16T10:30:00Z",
"livemode": false,
"data": {
"message": "This is a test webhook from Maildroppa."
}
}
Generisani ID-jevi i vremenska oznaka razlikuju se za svaki stvarni test.
Test pravi tačno jedan HTTP pokušaj. Testne isporuke ne stavljaju se na produkcioni raspored ponavljanja i ne mogu se ponovo poslati.
Nakon završetka zahteva panel rezultata prikazuje:
- Test uspešan ili Test neuspešan
- ID događaja
- HTTP status, kada je odgovor primljen
- Trajanje
- ID isporuke
- Informacije o grešci, kada su dostupne
- Isečak odgovora, kada je prijemnik vratio telo
Test se takođe pojavljuje u istoriji isporuke sa bedžom Test. Koristite filter „Test“ da biste prikazali samo testne zahteve.
Razumevanje produkcionog sadržaja
Produkcioni događaji naloga koriste zajednički JSON omotač:
{
"id": "evt_example",
"type": "subscriber.created",
"schema_version": "1",
"created_at": "2026-07-16T10:30:00Z",
"livemode": true,
"data": {}
}
Svojstva na najvišem nivou znače:
id— ID događaja. Podudara se saX-Maildroppa-Event-Id.type— Ključ događaja izabran u editoru krajnje tačke.schema_version— Verzija šeme sadržaja. Koristite je pri odlučivanju kako da raščlanite događaj.created_at— Vreme kreiranja sadržaja događaja, u UTC-u.livemode—trueza produkcione događaje ifalseza testne događaje.data— Sadržaj specifičan za događaj.
Usmeravajte događaje prema tačnoj vrednosti type. Zanemarite dodatna svojstva koja vašoj integraciji nisu potrebna kako kompatibilna proširenja sadržaja ne bi pokvarila prijemnik.
Sadržaj događaja pretplatnika
Događaji pretplatnika sadrže trenutni prikaz pretplatnika unutar data.subscriber:
{
"id": "evt_example",
"type": "subscriber.updated",
"schema_version": "1",
"created_at": "2026-07-16T10:30:00Z",
"livemode": true,
"data": {
"subscriber": {
"id": "7f49d0e9-77d6-4c24-8b90-12c9d53d82cc",
"email": "alex@example.com",
"first_name": "Alex",
"status": "active",
"registered_at": "2026-07-15T08:15:00Z",
"fields": [
{
"id": "b6594e58-0c4b-4138-9ad8-fc4747e076eb",
"personalization_tag_name": "company",
"value": "Example Ltd."
}
],
"tags": [
{
"id": "c69af5de-39d3-42a4-8f55-ddf86d10a51c",
"name": "Customers"
}
]
}
}
}
fields i tags su nizovi. Mogu biti prazni. Svojstvo pretplatnika takođe može biti null kada vrednost ne postoji, pa vaš prijemnik treba da prati šemu sadržaja umesto da pretpostavlja da je svaka opciona vrednost profila prisutna.
Sadržaj događaja oznake
Događaji oznaka sadrže i pretplatnika i oznaku koja je izazvala događaj:
{
"id": "evt_example",
"type": "subscriber.tag_added",
"schema_version": "1",
"created_at": "2026-07-16T10:30:00Z",
"livemode": true,
"data": {
"subscriber": {
"id": "7f49d0e9-77d6-4c24-8b90-12c9d53d82cc",
"email": "alex@example.com",
"first_name": "Alex",
"status": "active",
"registered_at": "2026-07-15T08:15:00Z",
"fields": [],
"tags": []
},
"tag": {
"id": "c69af5de-39d3-42a4-8f55-ddf86d10a51c",
"name": "Customers"
}
}
}
Kod subscriber.tag_removed, data.tag i dalje identifikuje uklonjenu oznaku iako je trenutni niz tags pretplatnika više ne sadrži.
ID-jevi događaja, ID-jevi isporuka i idempotentnost
ID događaja i ID isporuke služe različitim svrhama.
ID događaja
ID događaja identifikuje poslovni događaj. Pojavljuje se u:
- Svojstvu
idna najvišem nivou sadržaja. - Zaglavlju zahteva
X-Maildroppa-Event-Id. - Istoriji isporuke.
Isti događaj može biti poslat na više pretplaćenih krajnjih tačaka. Te isporuke dele ID događaja.
Ponovljena i ručna slanja takođe zadržavaju prvobitni ID događaja. Čuvajte obrađene ID-jeve događaja i učinite poslovnu radnju idempotentnom kako ponovljeni zahtev ne bi kreirao duplikate kontakata, ponavljao nepovratnu radnju ili dvaput primenio istu promenu.
ID isporuke
ID isporuke identifikuje jedan zapis isporuke. Pojavljuje se u:
- Zaglavlju zahteva
X-Maildroppa-Delivery-Id. - Istoriji isporuke.
Svaka isporuka krajnjoj tački ima sopstveni ID isporuke. Ručno ponovljeno slanje kreira novi ID isporuke, a zadržava prvobitni ID događaja.
ID isporuke koristite za tehničko praćenje i podršku. ID događaja koristite za deduplikaciju na poslovnom nivou.
Vraćanje ispravnog HTTP odgovora
Maildroppa klasifikuje odgovore na sledeći način:
- Bilo koji odgovor
2xxoznačava isporuku kao uspešnu. - Odgovori
408 Request Timeout,429 Too Many Requestsi5xxsu privremeni neuspesi i mogu se ponoviti. - Mrežni neuspesi koji mogu biti privremeni ponavljaju se.
- Preusmeravanja i drugi odgovori
3xxne prate se i tretiraju se kao konačni neuspesi. - Ostali odgovori
4xxtretiraju se kao konačni neuspesi i ne ponavljaju se.
Vratite 200, 202 ili 204 samo kada je događaj bezbedno prihvaćen. Ako obrada traje, najpre sačuvajte događaj i vratite uspešan odgovor, a zatim sporiji posao obavite asinhrono.
Ne vraćajte preusmeravanje na drugi URL vebhoka. Umesto toga konfigurišite konačni URL u Maildroppi.
Automatski raspored ponavljanja
Produkcione isporuke mogu imati najviše sedam HTTP pokušaja.
Nakon neuspeha koji može da se ponovi, Maildroppa zakazuje sledeći pokušaj sa sledećim kašnjenjima:
- Posle pokušaja 1: 1 minut
- Posle pokušaja 2: 5 minuta
- Posle pokušaja 3: 30 minuta
- Posle pokušaja 4: 2 sata
- Posle pokušaja 5: 12 sati
- Posle pokušaja 6: 24 sata
Ako pokušaj 7 i dalje dobije neuspeh koji može da se ponovi, isporuka postaje Mrtva i ne zakazuje se nijedan dalji automatski pokušaj.
Raspored se meri od pojedinačnih neuspelih pokušaja. Stvarno vreme isporuke može biti nešto kasnije jer se isporuke obrađuju asinhrono i podležu ograničenjima sistemske zaštite.
Kad god je moguće, rešite privremeni problem na prijemniku pre prikazanog vremena „Sledeće ponavljanje“. Ako su automatski pokušaji završeni, koristite Ponovi nakon što prijemnik ponovo bude ispravan.
Razumevanje istorije isporuke
Istorija isporuke pripada trenutno izabranoj krajnjoj tački. URL krajnje tačke prikazuje se u zaglavlju odeljka kako biste mogli da potvrdite čiju istoriju pregledate.
Koristite ove filtere:
- Sve — Prikazuje produkcione i testne isporuke.
- Produkcija — Prikazuje samo isporuke aktivnih događaja.
- Test — Prikazuje samo ručne testove.
Kliknite na „Osveži“ da biste preuzeli najnovije stanje. Istorija ne mora ostati otvorena dok Maildroppa šalje ili ponavlja isporuku.
Stranica prikazuje najnovijih 50 isporuka koje odgovaraju izabranom filteru.
Kolone isporuke
Svaki red sadrži:
- Kreirano — Kada je zapis isporuke kreiran.
- Stanje — Na čekanju, Uspešno, Neuspešno ili Mrtvo.
- HTTP — Status odgovora, broj pokušaja i trajanje, kao i vreme sledećeg ponavljanja kada je primenljivo.
- Pretplatnik — Imejl pretplatnika kada je događaj povezan sa pretplatnikom.
- Isporuka — Tip događaja, ID događaja i ID isporuke.
- Radnje — Ponovi kada je isporuka podobna.
Ako nije poslat nijedan HTTP zahtev, kolona HTTP prikazuje „Nema HTTP pokušaja“. To se može dogoditi kada Maildroppa odbije zahtev pre slanja, na primer zato što tajna za potpisivanje nedostaje ili sačuvano odredište više ne može bezbedno da se koristi.
Kada su dostupni, red takođe prikazuje grešku i isečak odgovora koji je vratio prijemnik. Ne vraćajte tajne ili osetljive lične podatke u telu odgovora vebhoka jer deo tog odgovora može da se pojavi u dnevniku isporuke naloga.
Stanja isporuke
Na čekanju znači da isporuka čeka prvi pokušaj ili zakazano ponavljanje. „Sledeće ponavljanje“ pojavljuje se kada je zakazan novi pokušaj.
Uspešno znači da je prijemnik vratio odgovor 2xx. Nije potreban dalji automatski pokušaj.
Neuspešno znači da je isporuka završena problemom koji se ne može ponoviti, odbijena pre HTTP pokušaja ili zaustavljena pre slanja.
Mrtvo znači da su svi automatski pokušaji za problem koji se može ponoviti iskorišćeni bez uspešnog odgovora.
Zadržavanje istorije
Zapisi isporuke čuvaju se ograničeno vreme:
- Uspešne produkcione isporuke: 30 dana
- Neuspešne produkcione isporuke: 90 dana
- Mrtve produkcione isporuke: 90 dana
- Testne isporuke: 30 dana
Čuvajte sopstvene dnevnike integracije kada vam je potrebna duža istorija revizije. Čuvajte ID-jeve događaja i ID-jeve isporuka, ali izbegavajte nepotrebno čuvanje tajni.
Ponovno slanje isporuke
Kliknite na „Ponovi“ kada završenu produkcionu isporuku treba ponovo pokušati.
Ponovno slanje dostupno je za produkcione isporuke u stanju Uspešno, Neuspešno ili Mrtvo. Nije dostupno dok je isporuka Na čekanju, a testne isporuke ne mogu se ponovo slati.
Ponovno slanje:
- Kreira novu isporuku Na čekanju.
- Kreira novi ID isporuke.
- Zadržava prvobitni ID događaja.
- Zadržava prvobitni tip događaja i JSON sadržaj.
- Koristi prvobitni sačuvani ciljni URL i snimak prilagođenih zaglavlja.
- Koristi važeću tajnu za potpisivanje kada se novi zahtev priprema.
Ponovno slanje ne obnavlja sadržaj iz trenutnih podataka pretplatnika. Ono ponovo šalje prvobitni snimak događaja. Time se ponovno slanje može proveriti i sprečava se da istorijski događaj neprimetno promeni značenje.
Samo jedno ponovno slanje iste izvorne isporuke može istovremeno biti Na čekanju. Sačekajte da se to ponovno slanje završi pre nego što zatražite novo.
Uverite se da je krajnja tačka aktivna pre ponovnog slanja. Ako je neaktivna, stavljeno ponovno slanje u red ne može se uspešno isporučiti.
Pošto je prijemnik možda završio poslovnu radnju čak i kada Maildroppa nije primila odgovor o uspehu, ponovno slanje može proizvesti duplikat zahteva. Deduplikacija po ID-ju događaja štiti povezani sistem od ponavljanja radnje.
Uređivanje krajnje tačke
Kliknite na „Uredi“ da biste promenili URL, izbor događaja, prilagođena zaglavlja ili aktivni status.
Pre čuvanja:
- Potvrdite da je novi URL već dostupan.
- Ostavite sačuvane vrednosti zaglavlja praznim kada treba da ostanu nepromenjene.
- Unesite novu vrednost za svako preimenovano zaglavlje.
- Pregledajte izbor događaja kako potrebna obaveštenja ne biste slučajno uklonili.
- Sačuvajte i pošaljite novi testni vebhok.
Imajte na umu da isporuke u redu zadržavaju postojeći URL i snimak prilagođenih zaglavlja. Testirajte novu konfiguraciju za buduće isporuke umesto da pretpostavite da menja stariji zahtev u redu.
Deaktiviranje krajnje tačke
Koristite prekidač Uključi/isključi kada želite da pauzirate integraciju bez brisanja njene konfiguracije i istorije.
Kada je krajnja tačka isključena:
- Novi događaji se više ne stavljaju u red za nju.
- Isporuke Na čekanju koje još nisu preuzete za slanje označavaju se kao Neuspešne.
- Testiranje je onemogućeno.
- Krajnja tačka ostaje dostupna za uređivanje i kasnije aktiviranje.
Zahtev koji je već u toku u trenutku deaktiviranja i dalje može da se završi. Proverite istoriju isporuke nakon isključivanja krajnje tačke ako je ova razlika važna za vašu integraciju.
Događaji propušteni dok je krajnja tačka neaktivna ne popunjavaju se naknadno kada je ponovo uključite.
Brisanje krajnje tačke
Kliknite na „Obriši“ i potvrdite upozorenje kada krajnja tačka više ne treba da postoji.
Brisanje uklanja krajnju tačku sa stranice, zaustavlja buduće isporuke događaja i neuspešnim označava isporuke Na čekanju koje još nisu preuzete za slanje.
Brisanje nije način za privremeno pauziranje. Koristite prekidač Uključi/isključi kada vam konfiguracija ili vidljiva istorija možda ponovo budu potrebne.
Pre brisanja zabeležite sve ID-jeve događaja ili ID-jeve isporuka koji su vam još potrebni za reviziju integracije.
Rešavanje problema
Krajnja tačka ne može da se sačuva
Proverite da li:
- URL počinje sa
https://. - URL koristi javno ime hosta i port 443.
- URL ne sadrži promenljive, podatke za prijavu ili fragment.
- Izabran je najmanje jedan događaj.
- Svako prilagođeno zaglavlje ima jedinstven naziv i vrednost.
- Rezervisana Maildroppa i HTTP zaglavlja nisu korišćena kao prilagođeni nazivi.
Testiranje je onemogućeno
Testiranje je dostupno samo za aktivnu krajnju tačku. Uključite krajnju tačku ili je uredite i izaberite „Aktivno“, a zatim sačuvajte pre testiranja.
Test ne prikazuje HTTP pokušaj
Generišite tajnu za potpisivanje ako je status Nedostaje. Takođe proverite da li je ime hosta odredišta javno i da li se i dalje ispravno razrešava.
Zahtev može biti odbijen pre slanja kada su njegova tajna, URL, prilagođena zaglavlja ili provera bezbednosti odredišta nevažeći.
Prijemnik vraća 401 ili 403
Proverite sačuvani naziv prilagođenog zaglavlja i akreditiv. Uredite krajnju tačku i ponovo unesite vrednost ako se promenila.
Takođe proverite da li prijemnik ne meša sopstveni API akreditiv sa Maildroppa potpisom. Prilagođeno autorizaciono zaglavlje i X-Maildroppa-Signature služe različitim svrhama i mogu se proveravati nezavisno.
Prijemnik vraća preusmeravanje
Maildroppa ne prati preusmeravanja. Zamenite URL krajnje tačke konačnim javnim HTTPS URL-om i ponovo testirajte.
Potpis se ne podudara
Potvrdite da prijemnik:
- Koristi važeću tajnu za potpisivanje.
- Koristi tačnu vrednost
X-Maildroppa-Timestamp. - Potpisuje
<timestamp>.<raw request body>. - Koristi HMAC-SHA256 i rezultat u malim heksadecimalnim slovima.
- Poredi celu vrednost, uključujući
v1=. - Obavlja poređenje pre nego što raščlanjivanje JSON-a izmeni telo.
Isti događaj stiže više puta
To se može dogoditi nakon prekida mreže, ponavljanja ili ručnog ponovnog slanja. Normalno je da sistemi za isporuku vebhokova obezbeđuju isporuku najmanje jednom, a ne tačno jednom.
Koristite ID događaja kao ključ idempotentnosti. Vratite odgovor 2xx kada ponovo primite već obrađen ID događaja i nije potrebna dodatna radnja.
Isporuka je na čekanju
Pogledajte „Sledeće ponavljanje“ u koloni HTTP. Ponovljivi 408, 429, 5xx ili privremeni mrežni neuspeh ostaje Na čekanju do sledećeg zakazanog pokušaja.
Kliknite na „Osveži“ nakon vremena ponavljanja da biste učitali najnovije stanje.
Isporuka je mrtva
Svi automatski pokušaji su iskorišćeni. Najpre popravite prijemnik, proverite da je krajnja tačka aktivna, pošaljite testni vebhok, a zatim upotrebite Ponovi na produkcionoj isporuci.
Preporučena produkciona kontrolna lista
Pre nego što se oslonite na krajnju tačku u produkciji, potvrdite sve sledeće:
- Prijemnik koristi stabilan javni HTTPS URL sa važećim sertifikatom.
- Tajna za potpisivanje čuva se izvan izvornog koda.
- Potpis se proverava u odnosu na neizmenjeno neobrađeno telo.
- Stare vremenske oznake odbacuju se prema dokumentovanom odstupanju.
- Prijemnik čuva i deduplikuje ID-jeve događaja.
- Prijemnik beleži ID-jeve događaja i ID-jeve isporuka radi praćenja.
- Spora obrada se odvija nakon trajnog prihvatanja događaja.
- Odgovor
2xxvraća se samo za prihvaćene događaje. - Prilagođeni akreditivi čuvaju se u zaglavljima, a ne u URL-u.
- Izabrani su samo potrebni tipovi događaja.
- Testni vebhok je uspešan i pravilno se pojavljuje u istoriji isporuke.
- Nadgledanje vas obaveštava kada produkcione isporuke počnu da vraćaju greške.
Uz ove mere zaštite, stranica Vebhokovi pruža obe strane pouzdane integracije: bezbednu isporuku događaja vašoj aplikaciji i jasnu operativnu istoriju unutar Maildroppe.
Ready to Send Better Emails?
Stop juggling bloated tools or overpriced plans. Maildroppa offers personal support, GDPR-level privacy, and powerful email marketing - starting free forever.
No credit card required. No time limit.