API inboxsink
Skriptovatelné jednorázové schránky, abyste mohli testovat registrace bez závislosti na skutečné poště. Pět cest, jedna základna na https://inboxsink.com, JSON.
Cesta, která něco mění, je wait: blokuje, dokud zpráva nedorazí. Bez ní end-to-end test hádá pomocí sleep a začne být nestabilní, jakmile se odesílací fronta zpozdí.
Tisíc volání měsíčně, bez karty. Dost na to, abyste ho zapojili do své testovací sady a zjistili, jestli drží.
Potom, až vaše testy začnou být odmítány: vlastní doména se nikde nepublikuje, takže neskončí na žádné blokovací listině — 29 € měsíčně.
JavaScriptový klient
Balíček bez jakýchkoli závislostí, pro Node 18 a novější. Kód je na GitHubu.
npm i inboxsink
import { InboxSink } from 'inboxsink'; const sink = new InboxSink(process.env.INBOXSINK_API_KEY); const inbox = await sink.createInbox(); const code = await sink.waitForOtp(inbox.id); // '204815'
waitForOtp vyhodí chybu místo vrácení null, když žádný kód nedorazí: test má spadnout nahlas, ne potichu vyplnit prázdné pole.
Ověření
Hlavička Authorization u každého volání. Klíče se vytvářejí v panelu a začínají na ibsk_.
curl -H "Authorization: Bearer ibsk_…" \
https://inboxsink.com/v1/domains
Klíč v čitelné podobě se zobrazí jen při vytvoření. Poté zůstává viditelná jen jeho předpona — uchováváme pouze otisk.
Vytvořit schránku
Všechny parametry jsou volitelné: domain (výchozí je náhodná doména z poolu), prefix (výchozí náhodný), ttl_seconds (od 60 sekund do 30 dnů).
curl -X POST https://inboxsink.com/v1/inboxes \ -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \ -d '{"ttl_seconds": 900}' → 201 { "id": "42", "address": "9f2c1a@mailhusk.com", "expires_at": "2026-09-01T15:12:00Z" }
Schránka vytvořená přes API je soukromá: přečíst ji může jen klíč, který ji vytvořil.
Čekat na zprávu
Blokuje až do příchodu zprávy a pak odpoví okamžitě. timeout v milisekundách (výchozí 30 000, maximum 120 000), since pro získání jen zpráv po daném identifikátoru.
Odpoví 204 bez těla, pokud lhůta vyprší bez zprávy — to není chyba, to je normální odpověď na «nic nedorazilo».
curl -H "Authorization: Bearer $KEY" \ "https://inboxsink.com/v1/inboxes/42/wait?timeout=45000" → 200 { "message": { "id": "913", "from": "no-reply@acme.com", "subject": "…", "otp": "204815", "link": "https://acme.com/confirm/9f3a" } }
otp a link jsou vytažené za vás. Kód se hlásí jen tehdy, když ho zpráva skutečně ohlašuje («kód», «ověření», «přihlášení»…) — částka na faktuře ani letopočet se s ním nikdy nezamění.
Vypsat zprávy
Přijímá since a limit (výchozí 50, maximum 200). Vrací souhrny, bez těla zpráv.
Přečíst zprávu
Celá zpráva: text, html, headers a seznam příloh.
Smazat schránku
Okamžitě smaže schránku i její zprávy. Odpoví 204.
Chyby
| 204 | Bez obsahu — u wait vypršela lhůta bez zprávy |
| 400 | Neplatný parametr |
| 401 | Klíč chybí, je neznámý nebo odvolaný |
| 403 | Tato schránka patří jinému klíči |
| 404 | Schránka nebo zpráva neexistuje, nebo už vypršela |
| 429 | Příliš mnoho volání |
Limity a životnost
Schránky z veřejného poolu žijí hodinu; ty vytvořené přes API se řídí svým ttl_seconds, až třicet dnů. Po uplynutí se schránka i zprávy smažou — není žádný archiv, ze kterého by šlo něco vytáhnout.
Zprávy nad deset megabajtů se při příjmu odmítají. Adresy z neznámé domény se odmítají už během SMTP relace, bez vygenerování odrazu.
Tyto schránky nemohou odesílat poštu, a je to záměr: zpráva odeslaná z jednorázové domény by nikam nedorazila.