Mailbox API დოკუმენტაცია
გააგზავნე საკონტაქტო ფორმისა და პროდუქტის წერილები დამტკიცებული დომენის alias-ებიდან მარტივი server-side API-ით.
Base URL
https://your-domain.comAuthentication
Bearer mk_live_xxxxxQuickstart
შექმენი alias, მისთვის დაამატე API key და send endpoint გამოიძახე შენი server-იდან. Browser JavaScript-იდან გამოძახება არ შეიძლება.
- API key გამოიყენე მხოლოდ backend-ზე.
- თითოეული key წერილს მხოლოდ არჩეული alias-ებიდან აგზავნის.
- თუ custom შაბლონს არ მიუთითებ, default შაბლონი data-ს ავტომატურად დაალაგებს.
const response = await fetch("https://your-domain.com/api/v1/email/send", {
method: "POST",
headers: {
"Authorization": "Bearer mk_live_xxxxx",
"Content-Type": "application/json"
},
body: JSON.stringify({
from: "[email protected]",
to: "[email protected]",
subject: "New website message",
replyTo: "[email protected]",
data: {
name: "Nino",
email: "[email protected]",
message: "Hello from the contact form"
}
})
});
const result = await response.json();Authentication
ყველა request იყენებს bearer authentication-ს. key შეინახე environment variables-ში ან secrets vault-ში. სრული key მხოლოდ შექმნის მომენტში გამოჩნდება.
Authorization: Bearer mk_live_xxxxxელფოსტის გაგზავნა
/api/v1/email/sendგამოიყენე POST /api/v1/email/send დამტკიცებული alias-იდან წერილის გასაგზავნად. მიღების შემდეგ endpoint აბრუნებს გაგზავნილი წერილის id-ს.
fromtosubjectreplyTodatatemplatehtmltextDefault და custom შაბლონები
თუ template, html და text არ მოვა, Mailbox data-დან სუფთა default წერილს ააწყობს. custom layout-ისთვის შექმენი შაბლონი slug-ით და გამოიყენე placeholder-ები: {{name}}, {{email}}, {{message}}.
await fetch("https://your-domain.com/api/v1/email/send", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.MAILBOX_API_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
from: "[email protected]",
to: "[email protected]",
template: "contact-form",
data: {
name: "Nino",
email: "[email protected]",
message: "I want to discuss a project"
}
})
});Rate limits
თითოეული API key შეზღუდულია წუთში request-ების რაოდენობით, რომ delivery ყველა Mailbox მომხმარებლისთვის სტაბილური დარჩეს. ლიმიტის გადაჭარბებისას API აბრუნებს 429 Too Many Requests-ს და Retry-After header-ს, სადაც მითითებულია, რამდენი წამის შემდეგ უნდა სცადო თავიდან.
Standard keysRetry-AfterHTTP/1.1 429 Too Many Requests
Retry-After: 12
{ "error": "rate_limited", "message": "Too many requests, retry later." }Errors
API იყენებს სტანდარტულ HTTP status codes-ს და JSON error responses-ს.
400401403404429საუკეთესო პრაქტიკები
რამდენიმე რჩევა, რომელიც production ინტეგრაციას უფრო საიმედოს ხდის.
- test და live API key-ები შეინახე ცალკე environment variables-ში და არასდროს ჩაწერო source code-ში.
- 429 პასუხზე გამოიყენე exponential backoff, ნაცვლად დაუყოვნებლივი retry-ისა.
- API-ს გამოძახებამდე შეამოწმე, რომ from მისამართი შენი key-ის დაშვებულ alias-ს ემთხვევა. ასე შეცდომას უფრო სწრაფად დაიჭერ.
- შეინახე დაბრუნებული message id, რომ გაგზავნა dashboard-ის delivery სტატუსს დაუკავშირო.