Kytke sovelluksesi
minuuteissa.
Kolme vaihetta, kaksi tapaa lähettää. Tällä sivulla ovat käyttöönotto-ohjeet, HTTP-rajapinnan kuvaus ja webhookit.
-
Luo lähetysympäristö
Kirjaudu app.hattara.io-sovellukseen ja luo sovelluksellesi lähetysympäristö. Saat sille omat SMTP-tunnukset ja API-avaimen.
-
Vahvista lähettäjädomain
Lisää sovelluksen näyttämät SPF-, DKIM- ja palautusosoitetietueet domainisi DNS:ään. Vahvistuksen jälkeen viestisi allekirjoitetaan automaattisesti.
-
Lähetä ensimmäinen viesti
Valitse SMTP tai HTTP API alta. Kehitystilassa viestit pysähtyvät lokiin, joten voit testata turvallisesti ennen tuotantoa.
Nopein tapa: vaihda asetukset.
Jos sovelluksesi lähettää sähköpostia jo nyt, riittää että osoitat sen Hattaraan. Kaikki kirjastot ja rungot, jotka osaavat SMTP:n, toimivat sellaisenaan.
Käytä porttia 587 (STARTTLS) tai 465 (TLS). Tunnukset ovat ympäristökohtaisia, joten tuotannon avaimet eivät koskaan päädy testiympäristöön.
SMTP_HOST=smtp.hattara.io
SMTP_PORT=587
SMTP_USER=omasovellus-tuotanto
SMTP_PASS=ympäristön salasana
# STARTTLS päälle — muuta ei tarvita
Rajapintakuvaus
Viestin lähetys
POST https://api.hattara.io/api/v1/send/message
Lähetä JSON-runko HTTPS:llä ja laita ympäristön API-avain X-Server-API-Key-otsakkeeseen. Esimerkki on oikealla.
Onnistunut vastaus sisältää status: "success" sekä lähetyksen message_id-tunnisteen. Sama tunniste näkyy viestilokissa ja webhookeissa, joten yksittäisen viestin matkan voi aina jäljittää.
Kentät
Vastaanottajat ja lähettäjä
toPakollinenVastaanottajat, enintään 50 per kutsu. Vähintään yksi vastaanottaja tässä tai kentissä cc/bcc.
fromPakollinenLähettäjäosoite vahvistetusta domainista.
cc · bccKopio- ja piilokopiovastaanottajat.
reply_toVastausosoite.
senderTekninen lähettäjä (Sender-otsake), jos eri kuin from.
Sisältö
subjectPakollinenViestin aihe.
html_bodyVähintään toinenHTML-sisältö. Anna tämä, plain_body tai molemmat, jolloin lähetetään multipart-viesti.
plain_bodyVähintään toinenTekstisisältö ilman muotoiluja.
attachmentsLiitteet objekteina: name, content_type ja data (base64).
headersOmat otsakkeet avain–arvo-pareina.
Lisäasetukset
tagVapaa luokittelutunniste lokia ja tilastoja varten.
bounceMerkitse viesti bounce-viestiksi (ei automaattivastauksia).
Muut kutsut
POST /api/v1/send/rawLähetä valmis RFC 2822 -muotoinen viesti: mail_from, rcpt_to ja data (base64). Sopii kirjastoille, jotka rakentavat viestin itse.
POST /api/v1/messages/messageHae yksittäisen viestin tiedot id:llä: tila, otsakkeet, sisältö ja toimitusketju.
POST /api/v1/messages/deliveriesHae viestin toimitusyritykset ja SMTP-vastaukset id:llä.
Virheet
Virhetilanteessa vastauksen status on "error" tai "parameter-error" ja data.code kertoo syyn:
InvalidServerAPIKeyAPI-avain puuttuu tai on virheellinen.
ValidationErrorPakollinen kenttä puuttuu tai on väärän muotoinen.
NoRecipientsYhtään vastaanottajaa ei annettu.
UnauthenticatedFromAddressfrom-osoitteen domainia ei ole vahvistettu ympäristöön.
TooManyToAddressesYli 50 vastaanottajaa yhdessä kutsussa.
AttachmentMissingDataLiitteestä puuttuu sisältö tai nimi.
Tapahtumat suoraan sovellukseesi.
Lisää webhook-osoite ympäristön asetuksissa, niin Hattara kutsuu sitä HTTP POSTilla JSON-rungolla aina kun viestin tila muuttuu. Voit tilata kaikki tapahtumat tai vain osan.
| Tapahtuma | Milloin |
|---|---|
MessageSent | Viesti toimitettu vastaanottavalle palvelimelle |
MessageDelayed | Toimitus viivästyi, uutta yritetään |
MessageDeliveryFailed | Toimitus epäonnistui lopullisesti |
MessageBounced | Viestistä saapui palautus |
MessageHeld | Viesti pysäytetty (esim. kehitystila) |
MessageLoaded | Vastaanottaja avasi viestin |
MessageLinkClicked | Vastaanottaja klikkasi linkkiä |
event: "MessageSent"
timestamp: 1783330867
payload:
message.id: 1210
message.token: "9b2f4c81"
message.to: "asiakas@example.com"
status: "Sent"
details: "Message accepted"