Dokumentacja API

API GPTMail

Korzystaj z API GPTMail, aby generować tymczasowe skrzynki odbiorcze, wyświetlać i czytać wiadomości oraz usuwać pocztę przez HTTPS z nagłówkiem X-API-Key. Sprawdza się w testach automatycznych, potokach CI/CD i procesach QA.

Jak uzyskać API Key

Buy API requests

Purchase API requests with GPTMail points. Earn points through daily check-ins and public domains, or buy points with LDC at a 1:1 rate.

Buy with points / add requests

Opcja 2: Dodaj własną domenę

Po pomyślnej weryfikacji MX domeny publicznej: zgłoszenie bez logowania → klucz API (20000 żądań); zgłoszenie po zalogowaniu → 200 punktów. Każda domena otrzymuje tylko jedną nagrodę. Ważne: po podłączeniu sufiks domeny staje się publicznym sufiksem dla wszystkich użytkowników tej witryny, więc inni też mogą generować adresy pod nim. Po aktywacji nie usuwaj, nie zamieniaj ani nie modyfikuj rekordu MX kierującego domenę do naszej usługi — w przeciwnym razie późniejsze weryfikacje mogą uznać domenę za źle skonfigurowaną. Jeśli rekord MX zostanie uznany za nieprawidłowy, domena zostanie dezaktywowana. Jeśli MX pozostanie nieprawidłowy przez 3 kolejne sprawdzenia, powiązany klucz API również zostanie dezaktywowany. Gdy MX znów będzie prawidłowy, domena zostanie ponownie aktywowana automatycznie.

Domeny

Publiczny klucz testowy

Do testów wysyłaj w nagłówku X-API-Key wspólny klucz publiczny widoczny poniżej. Zmienia się codziennie i ma dzienny limit 200 000 żądań współdzielony przez wszystkich użytkowników.

Pozostało dziś

Reset za

Ładowanie bieżącego limitu dla klucza publicznego...

Poniższą dokumentację API można skopiować jako Markdown do narzędzi AI, baz wiedzy lub README.

Podstawowy adres URL: https://mail.chatgpt.org.uk

AI
llms.txt

·

llms-full.txt

(Markdown)

Szybki start

  • X-API-Key: YOUR_KEY to najprostsza opcja. Do szybkich testów użyj dziennego klucza publicznego widocznego powyżej zamiast YOUR_KEY.

  • Większość endpointów skrzynki wymaga parametru email, np. ?email=demo@example.com.

  • Odpowiedzi API GPTMail mają format JSON z polami success, data i error, a przy użyciu klucza API także usage. Błędy Cloudflare, w tym odpowiedzi o przekroczeniu limitu częstotliwości, mogą zamiast tego zwracać HTML. Przed parsowaniem JSON sprawdź status HTTP i nagłówek Content-Type.

  • Jeśli znasz już obsługiwaną domenę tej witryny, nie musisz najpierw wywoływać endpointu generowania adresu. Możesz lokalnie złożyć prefix@domain i od razu wywołać API skrzynki — oszczędzasz jedno żądanie.

Limity częstotliwości żądań i ponawianie

  • GET i POST /api/generate-email mają wspólny limit 30 żądań na 10 sekund dla każdego źródłowego adresu IP. Dotyczy to zarówno publicznych, jak i osobistych kluczy API. Różne klucze i klienci korzystający z tego samego adresu IP dzielą ten limit.

  • Przekroczenie tego limitu zwraca HTTP 429 i blokuje generowanie adresów na 10 sekund. Przed ponowieniem odczekaj czas podany w Retry-After. Jeśli tego nagłówka brak, odczekaj co najmniej 10 sekund, a potem ponawiaj z coraz dłuższymi przerwami. Unikaj jednoczesnego ponawiania przez klientów korzystających z tego samego IP.

  • Ta zasada nie dotyczy wyświetlania listy wiadomości w skrzynce ani odczytywania pojedynczych wiadomości. Dzienne i łączne limity klucza API nadal obowiązują niezależnie. Odczekanie 10 sekund nie przywraca wyczerpanego limitu klucza.

Główne endpointy

POST / GET
/api/generate-email

Wygeneruj tymczasową skrzynkę. Użyj GET dla najprostszego losowego przepływu albo POST z prefix i domain, gdy chcesz pełnej kontroli.

GET
/api/emails?email=...

Pobierz wiadomości e-mail dla skrzynki.

GET
/api/email/{id}?email=...

Pobierz pojedynczą wiadomość: tekst, HTML, surowe nagłówki i metadane.

DELETE
/api/email/{id}?email=...

Usuń jedną wiadomość po ID.

DELETE
/api/emails/clear?email=...

Usuń wszystkie wiadomości w skrzynce.

GET
/api/stats

Odczytaj statystyki całej witryny.

Przykładowy przepływ

Poniżej dwa typowe wzorce: pozwól serwisowi wygenerować skrzynkę albo poproś o stały prefix. Jeśli znasz już obsługiwaną domenę, możesz też złożyć adres lokalnie i odpytać go bezpośrednio.

1) Wygeneruj losowy tymczasowy adres e-mail

curl 'https://mail.chatgpt.org.uk/api/generate-email' \
  -H 'X-API-Key: PUBLIC_API_KEY'
Przykładowa odpowiedź
{
  "success": true,
  "data": {
    "email": "a3f9c2b1@example.com"
  },
  "usage": {
    "daily_limit": 200000,
    "used_today": 1,
    "remaining_today": 199999,
    "total_limit": 200000,
    "total_usage": 1,
    "remaining_total": 199999
  }
}

2) Generowanie ze stałym prefiksem (np. demo@example.com)

curl -X POST 'https://mail.chatgpt.org.uk/api/generate-email' \
  -H 'Content-Type: application/json' \
  -H 'X-API-Key: PUBLIC_API_KEY' \
  -d '{"prefix":"demo"}'
Przykładowa odpowiedź
{
  "success": true,
  "data": {
    "email": "demo@example.com"
  },
  "usage": {
    "daily_limit": 200000,
    "used_today": 2,
    "remaining_today": 199998
  }
}

3) Lista wiadomości w skrzynce

Jeśli znasz obsługiwaną domenę, pomiń krok 1 i odpytaj od razu.

curl 'https://mail.chatgpt.org.uk/api/emails?email=demo@example.com' \
  -H 'X-API-Key: PUBLIC_API_KEY'
Przykładowa odpowiedź
{
  "success": true,
  "data": {
    "emails": [
      {
        "id": "e5a7f3...",
        "email_address": "demo@example.com",
        "from_address": "noreply@github.com",
        "subject": "Your code: 654321",
        "content": "Your verification code is 654321",
        "html_content": "...",
        "has_html": true,
        "timestamp": 1709654321,
        "created_at": "2024-03-05T12:18:41Z"
      }
    ],
    "count": 1
  }
}

4) Odczyt pojedynczej wiadomości — tekst, treść HTML i metadane

Zastąp EMAIL_ID identyfikatorem zwróconym w kroku 3. Przekaż też adres skrzynki jako email (również przy usuwaniu i pobieraniu załączników): wiadomość jest wtedy odczytywana bezpośrednio z jej skrzynki, a nie wyszukiwana po ID. Z kluczem API parametr email jest opcjonalny, ale jego przesłanie przyspiesza wyszukiwanie.

curl 'https://mail.chatgpt.org.uk/api/email/EMAIL_ID?email=demo@example.com' \
  -H 'X-API-Key: PUBLIC_API_KEY'
Przykładowa odpowiedź
{
  "success": true,
  "data": {
    "id": "e5a7f3...",
    "email_address": "demo@example.com",
    "from_address": "noreply@github.com",
    "subject": "Your code: 654321",
    "content": "Your verification code is 654321",
    "html_content": "<p>Your code is 654321</p>",
    "has_html": true,
    "timestamp": 1709654321,
    "raw_size": 2048,
    "created_at": "2024-03-05T12:18:41Z"
  }
}

5) Usuń jedną wiadomość po ID

Z kluczem API parametr email jest opcjonalny, ale jego przesłanie przyspiesza wyszukiwanie.

curl -X DELETE 'https://mail.chatgpt.org.uk/api/email/EMAIL_ID?email=demo@example.com' \
  -H 'X-API-Key: PUBLIC_API_KEY'
Przykładowa odpowiedź
{
  "success": true,
  "data": {
    "message": "Email deleted"
  }
}

6) Wyczyść całą skrzynkę — usuwa wszystkie wiadomości dla tego adresu

Każde wywołanie usuwa jedną partię. Dopóki odpowiedź zawiera "has_more": true, wywołuj ponownie, aż zwróci false.

curl -X DELETE 'https://mail.chatgpt.org.uk/api/emails/clear?email=demo@example.com' \
  -H 'X-API-Key: PUBLIC_API_KEY'
Przykładowa odpowiedź
{
  "success": true,
  "data": {
    "message": "Deleted 3 emails",
    "count": 3,
    "has_more": false
  }
}

Kształt odpowiedzi

Udane odpowiedzi zwykle wyglądają tak. Przy uwierzytelnianiu API Key zwróć uwagę na informacje o limicie w usage.

{
  "success": true,
  "data": {
    "email": "demo@example.com"
  },
  "usage": {
    "daily_limit": 200000,
    "used_today": 1,
    "remaining_today": 199999,
    "total_limit": 200000,
    "total_usage": 1,
    "remaining_total": 199999
  }
}

Rozszerzone statystyki

  • /api/statistics/24h zwraca jedno 24-godzinne okno rozkładu godzinowego; użyj offset=1,2,... dla starszych okien.
  • /api/statistics/top-subjects zwraca najczęstsze tematy wiadomości.
  • /api/statistics/top-domains zwraca najbardziej aktywne domeny.
  • /api/statistics/top-senders zwraca najbardziej aktywnych nadawców.
GPTMail