Δοκιμάστε το στο sandbox → Κάθε endpoint, με ένα κουμπί που το εκτελεί στην ενεργή υπηρεσία. Τίποτα εδώ δεν χρειάζεται κλειδί, επομένως ένα αίτημα που στέλνετε από αυτή τη σελίδα είναι πραγματικό: δεσμεύει μια πραγματική διεύθυνση και προσμετράται.
Ο κύκλος
Δύο αιτήματα και ένα email. Η τρίτη κλήση υπάρχει μόνο επειδή η ανάλυση διαρκεί λίγα δευτερόλεπτα.
Δεσμεύστε μια διεύθυνση
Στείλτε POST στο endpoint του inbox. Λαμβάνετε μια διεύθυνση που δέχεται ακριβώς ένα μήνυμα και λήγει σε μία ώρα, καθώς και το slug που χρησιμοποιείται ως κλειδί για όλα τα υπόλοιπα.
Στείλτε σε αυτή το πραγματικό μήνυμα
Μέσω SMTP, από την πλατφόρμα που θα στείλει την καμπάνια. Οι μισοί έλεγχοι διαβάζουν κεφαλίδες που προσθέτει η πλατφόρμα αποστολής σας, επομένως ένα μήνυμα που συντάχθηκε χειροκίνητα μετρά το λάθος πράγμα.
Ελέγξτε περιοδικά την κατάσταση και μετά διαβάστε την αναφορά
Το endpoint κατάστασης έχει μέγεθος μερικών εκατοντάδων byte και σας ενημερώνει αν αξίζει να ανακτηθεί ήδη η πλήρης αναφορά. Η ίδια η αναφορά εκτείνεται σε αρκετές χιλιάδες γραμμές.
# 1. reserve a single-use address curl -sX POST 'https://email-spam-tester.com/api/v1/inbox?lang=en' { "address": "test-<slug>@t.email-spam-tester.com", "slug": "<slug>", "expires_at": "2026-01-01T12:00:00Z" }
# 2. send your message to that address, then poll curl -s 'https://email-spam-tester.com/api/v1/tests/<slug>/status' { "slug": "<slug>", "analysis_status": "checks_ready", "ai_status": "running", "checks_done": 39, "checks_total": 39 }
# 3. read the report once analysis_status is checks_ready curl -s 'https://email-spam-tester.com/api/v1/tests/<slug>' { "report_url": "https://email-spam-tester.com/t/<slug>", "score_ours": 86.4, "score_compat": 9.2, "subscores": {"auth": 100.0, "infra_spam": 78.1, "content": 92.0, "compliance": 75.0}, "complete": true, "checks": [ { "id": "auth.dmarc", "status": "warn", "title": "DMARC result", "summary": "DMARC passes, but the policy is p=none.", "weight_ours": -4.0, "evidence": {"policy": "none", "aligned": "dkim"}, "citations": {"standards": [{"title": "RFC 9989 §4.7", "quote": "..."}]} } ], "fixes": [ {"id": "dmarc-enforce", "gain_ours": 4.0, "gain_compat": 0.0, "fix": {"title": "Move DMARC to quarantine", "severity": "medium"}} ] }
Έλεγχος ταυτότητας
Δεν υπάρχει. Δεν χρειάζεται να ζητήσετε κλειδί, να ορίσετε κεφαλίδα ή να δημιουργήσετε λογαριασμό. Το slug που λαμβάνετε είναι η δυνατότητα πρόσβασης: όποιος το κατέχει μπορεί να διαβάσει αυτή την αναφορά και κανείς άλλος δεν μπορεί να το μαντέψει.
Τελικά σημεία
Βασική διεύθυνση https://email-spam-tester.com. Όλα αποκρίνονται με JSON.
POST/api/v1/inbox
Δεσμεύει μια διεύθυνση μίας χρήσης. Και οι δύο παράμετροι είναι προαιρετικές.
| lang | Η γλώσσα στην οποία θα γραφτούν το σχέδιο διόρθωσης και τα ευρήματα ανά έλεγχο, ως κωδικός ISO. Καθορίζεται τώρα, επειδή το μήνυμα φτάνει μέσω SMTP λίγα λεπτά αργότερα και δεν περιέχει καμία ένδειξη για το ποιος το περιμένει. Ένας άγνωστος κωδικός χρησιμοποιεί ως εναλλακτική τα Αγγλικά. |
| utm_source, utm_medium, utm_campaign | Προωθούνται στα αναλυτικά στοιχεία μας. Χρήσιμο αν μετράτε τη δική σας ενσωμάτωση. |
GET/api/v1/tests/{slug}/status
Η συχνή εκτέλεση αιτημάτων είναι οικονομική. Επιστρέφει τα δύο πεδία κατάστασης και μέχρι πού έχουν φτάσει οι έλεγχοι, και τίποτε άλλο.
GET/api/v1/tests/{slug}
Ολόκληρη η αναφορά. Αποκρίνεται με 202 όσο η διεύθυνση είναι δεσμευμένη και δεν έχει φτάσει ακόμη τίποτα, και με 200 μόλις φτάσει.
GET/api/v1/tests/{slug}/message
Το μήνυμα ακριβώς όπως παραδόθηκε: κάθε κεφαλίδα με τη σειρά μετάδοσης, και τα δύο σώματα, η λίστα συνημμένων και η ακατέργαστη πηγή. Ανακτάται ξεχωριστά, επειδή η αναφορά ελέγχεται επανειλημμένα και αυτό μπορεί να φτάσει το ένα megabyte.
PUT/api/v1/tests/{slug}/locale
Αλλάζει τη γλώσσα μιας κράτησης που δεν έχει χρησιμοποιηθεί ακόμη. Για έναν agent που μαθαίνει ποια γλώσσα διαβάζει ο χρήστης του αφού έχει ήδη ζητήσει τη διεύθυνση. Απορρίπτεται μόλις φτάσει το μήνυμα, επειδή μέχρι τότε εκτελείται ήδη η ανάλυση.
GET/api/health
Έλεγχος λειτουργίας. Χωρίς έλεγχο ταυτότητας, χωρίς παρενέργειες.
Ανάγνωση της αναφοράς
Τα πεδία που περιέχουν την απάντηση, με τη σειρά που πιθανότατα τα χρειάζεστε.
| score_ours | 0 έως 100. Το μοντέλο μας. Ο έλεγχος ταυτότητας και η υποδομή έχουν τη μεγαλύτερη βαρύτητα, επειδή καθορίζουν την παράδοση προτού ένα φίλτρο διαβάσει έστω και μία λέξη του κειμένου. |
| score_compat | 0 έως 10. Αναπαράγει τη βαθμολογία τύπου SpamAssassin που οι χρήστες ήδη συγκρίνουν, ώστε η αναφορά να είναι συγκρίσιμη με ό,τι είδε κάποιος αλλού. |
| subscores | Η ίδια κλίμακα από 0 έως 100 ανά ενότητα: auth, infra_spam, content, compliance. |
| checks[] | Και οι 41 έλεγχοι, ο καθένας με κατάσταση, εύρημα μίας γραμμής, τα αποδεικτικά στοιχεία στα οποία βασίστηκε η απόφαση και το κόστος του για τις δύο βαθμολογίες. |
| checks[].citations | Από πού προέρχεται το εύρημα: η ενότητα του RFC, παρατιθέμενη κατά λέξη, και η σελίδα όπου η Google δηλώνει τη δική της απαίτηση. Έχουν επιμεληθεί χειροκίνητα αντί να έχουν δημιουργηθεί αυτόματα, ώστε να είναι αξιόπιστα. |
| fixes[] | Τι πρέπει να αλλάξει, με τη σειρά, μαζί με τους βαθμούς που αξίζει κάθε αλλαγή. Τα οφέλη υπολογίζονται με νέα βαθμολόγηση της αναφοράς, δεν αποτελούν εκτίμηση. |
| complete | False όταν ένας έλεγχος δεν μπόρεσε να εκτελεστεί. Ένα στοιχείο που δεν ελέγχθηκε δεν θεωρείται ποτέ επιτυχές, οπότε θεωρήστε τη βαθμολογία αισιόδοξη μέχρι να γίνει true. |
| report_url | Η σελίδα σε μορφή αναγνώσιμη από άνθρωπο. Δώστε αυτήν σε κάποιον αντί για έναν τοίχο από JSON. |
Καταστάσεις
Ένας έλεγχος βρίσκεται σε μία από πέντε καταστάσεις, και η διαφορά μεταξύ δύο από αυτές έχει μεγαλύτερη σημασία από όσο φαίνεται.
| pass | Ο έλεγχος εκτελέστηκε και δεν βρήκε κανένα πρόβλημα. |
| warn | Αξίζει να διορθωθεί. Κοστίζει βαθμούς. |
| fail | Θα σας κοστίσει στην παράδοση. Κοστίζει περισσότερους βαθμούς. |
| παράλειψη | Δεν εφαρμόστηκε. Δεν υπάρχουν συνημμένα για σάρωση, ούτε τμήμα HTML για αξιολόγηση. Δεν αποτελεί επιτυχία. |
| σφάλμα | Δεν μπορέσαμε να το εξακριβώσουμε. Εξαιρείται από τη βαθμολογία και επισημαίνεται, αντί να υπολογίζεται ως επιτυχία. |
Το analysis_status περνά από received, analyzing, checks_ready, failed. Το ai_status περνά από pending, running, ready, fallback, error. Η ντετερμινιστική αναφορά είναι οριστική στο checks_ready· το ai_status προσθέτει μόνο το πλάνο.
Τι μπορεί να επιστραφεί
| 202 | Η διεύθυνση είναι δεσμευμένη και δεν έχει φτάσει κανένα μήνυμα. Το σώμα περιέχει τη διεύθυνση, τη λήξη και τη γλώσσα, ώστε ένας καλών που δεν δημιούργησε τη δέσμευση να μπορεί παρ' όλα αυτά να την εμφανίσει. |
| 404 | Δεν υπάρχει τέτοιο slug. Είτε δεν υπήρξε ποτέ είτε η δέσμευση ξεχάστηκε. |
| 410 | Η διεύθυνση έληξε πριν φτάσει κάποιο μήνυμα. |
| 409 | Προσπαθήσατε να αλλάξετε τη γλώσσα αφού το μήνυμα είχε ήδη φτάσει. |
| 429 | Το όριο δωρεάν δοκιμών για τη διεύθυνσή σας. Αυτή τη στιγμή δεν υπάρχει όριο ανά άτομο σε αυτή την υπηρεσία· αν οριστεί ποτέ, το σώμα αναφέρει πότε μηδενίζεται. |
Τέσσερα πράγματα που αξίζει να γνωρίζετε
Ένα μήνυμα ανά διεύθυνση
Το δεύτερο απορρίπτεται. Η προηγούμενη αναφορά σας παραμένει ανέπαφη, και αυτό είναι το ζητούμενο.
Μία ώρα για να τη χρησιμοποιήσετε
Η διεύθυνση λήγει· η αναφορά όχι. Οι σύνδεσμοι αναφορών είναι μόνιμοι, οπότε ένας σύνδεσμος που επικολλάται σε ένα αίτημα υποστήριξης συνεχίζει να λειτουργεί.
Στείλτε από την πλατφόρμα
Η δοκιμή μιας καμπάνιας από προσωπικό λογαριασμό μετρά αυτόν τον λογαριασμό. Σχεδόν όλα στην ενότητα ελέγχου ταυτότητας αφορούν την υποδομή αποστολής, όχι το κείμενο.
Επαναλάβετε τη δοκιμή μετά τη διόρθωση
Τα αναμενόμενα οφέλη υπολογίζονται για μία διόρθωση κάθε φορά και δεν συνδυάζονται. Η δεύτερη αναφορά δίνει τον πραγματικό αριθμό.
Για συστήματα
- /api/openapi.json Η περιγραφή OpenAPI, η οποία δημιουργείται από τον ίδιο κώδικα που εξυπηρετεί το API.
- /llms.txt, /llms-full.txt Ένας σύντομος χάρτης αυτού του ιστότοπου για γλωσσικά μοντέλα, σύμφωνα με τη σύμβαση llms.txt, και μια εκτενέστερη έκδοση με ολόκληρο τον κύκλο και τα πεδία της αναφοράς σε ένα αρχείο.
- /mcp Ένας διακομιστής MCP με την ίδια δυνατότητα και αναμονή με αποκλεισμό, η οποία είναι καλύτερη από την περιοδική υποβολή ερωτημάτων μέσα από ένα μοντέλο.
- For agents Η σελίδα για πράκτορες: πότε να χρησιμοποιήσετε αυτό το εργαλείο, πώς να διακρίνετε έναν έλεγχο που παραλείφθηκε από έναν επιτυχημένο και ποια ευρήματα είναι εγγραφές DNS που πρέπει να αλλάξει κάποιος αντί για κείμενο που μπορεί να επεξεργαστεί ένας πράκτορας.
Δοκιμάστε πρώτα ένα χειροκίνητα
Χρειάζεται περίπου ένα λεπτό και σας δείχνει ακριβώς τι περιγράφει το JSON.