Αναφορά API
Ενσωματώστε την ανωνυμοποίηση στις εφαρμογές σας
Πλήρες REST API για προγραμματική ανίχνευση και ανωνυμοποίηση PII.
Βασική Διεύθυνση URL
https://anonymize.today/apiΌλες οι τελικές διευθύνσεις API είναι σχετικές με αυτή τη βασική διεύθυνση URL. Για παράδειγμα, η τελική διεύθυνση ανάλυσης είναι https://anonymize.today/api/presidio/analyze.
Αυθεντικοποίηση
Αυθεντικοποιήστε τα αιτήματα API χρησιμοποιώντας Bearer tokens:
Authorization: Bearer YOUR_API_TOKENΛήψη API Token
- Συνδεθείτε στον λογαριασμό σας στο anonymize.today
- Μεταβείτε στις Ρυθμίσεις → Λογαριασμός → API Tokens
- Κάντε κλικ στην επιλογή Δημιουργία Νέου Token
- Αντιγράψτε και αποθηκεύστε με ασφάλεια το token σας (δεν θα εμφανιστεί ξανά)
Σημείωση Ασφαλείας
Ποτέ μην εκθέτετε το API token σας σε κώδικα πελάτη ή δημόσιες αποθήκες. Χρησιμοποιήστε μεταβλητές περιβάλλοντος και αιτήματα από τον διακομιστή.
Token σε Αιτήματα
TypeScript
const response = await fetch('https://anonymize.today/api/presidio/analyze', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.ANONYMIZE_API_TOKEN}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({ text, entities }),
});Python
import os
import requests
headers = {
"Authorization": f"Bearer {os.environ['ANONYMIZE_API_TOKEN']}",
"Content-Type": "application/json"
}
response = requests.post(
"https://anonymize.today/api/presidio/analyze",
headers=headers,
json={"text": text, "entities": entities}
)cURL
curl -X POST https://anonymize.today/api/presidio/analyze \
-H "Authorization: Bearer $ANONYMIZE_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"text": "John Doe works at Acme Corp", "entities": ["PERSON", "ORGANIZATION"]}'Όρια Ρυθμού
| Τύπος Τελικής Διεύθυνσης | Όριο Ρυθμού | Άδεια έκρηξης: 10 αιτήματα |
|---|---|---|
| Authentication | 3 requests/second | 5 requests |
| Analysis & Anonymization | 30 requests/second | 50 requests |
| Presets & Settings | 10 requests/second | 20 requests |
Όταν υπάρχει περιορισμός ρυθμού, το API επιστρέφει 429 Πάρα πολλές Αιτήσεις με επικεφαλίδα Retry-After που υποδεικνύει πότε μπορείτε να ξαναδοκιμάσετε.
Βασικές Τελικές Διευθύνσεις
Ανάλυση Κειμένου
Ανίχνευση PII οντοτήτων στο κείμενο. Επιστρέφει θέσεις και τύπους ανιχνευμένων οντοτήτων.
Ανώνυμο Κείμενο
Ανώνυμοι ανιχνευμένες PII οντότητες χρησιμοποιώντας διάφορους τελεστές.
Αποανώνυμο Κείμενο
Ανακτήστε τις κρυπτογραφημένες οντότητες στις αρχικές τους τιμές χρησιμοποιώντας το ίδιο κλειδί κρυπτογράφησης.
Τελεστές Ανωνυμοποίησης
| Τελεστής | Περιγραφή | Αναστρέψιμος | Παράδειγμα |
|---|---|---|---|
| replace | Αντικατάσταση με placeholder | No | John → [PERSON] |
| mask | Μερική απόκρυψη χαρακτήρων | No | john@email.com → j***@email.com |
| redact | Αφαίρεση εντελώς | No | John → (empty) |
| hash | Μονοδρομική SHA-256 κατακερματισμός | No | John → a3f2b1c4... |
| encrypt | AES-256-GCM κρυπτογράφηση | Yes | John → [ENC:...] |
Ρυθμίσεις Τελεστών
// Replace operator
{ "type": "replace", "new_value": "[PERSON]" }
// Mask operator
{
"type": "mask",
"masking_char": "*",
"chars_to_mask": 5,
"from_end": false
}
// Hash operator
{ "type": "hash", "hash_type": "sha256" }
// Encrypt operator (requires encryption key in user settings)
{ "type": "encrypt" }
// Redact operator
{ "type": "redact" }API Προκαθορισμένων Ρυθμίσεων
Τύποι Οντοτήτων
Το anonymize.today υποστηρίζει 256 τύπους οντοτήτων σε 10 κατηγορίες:
Personal
PERSON, EMAIL_ADDRESS, PHONE_NUMBER
Financial
CREDIT_CARD, IBAN_CODE, SWIFT_CODE, CRYPTO
Location
LOCATION, ADDRESS, COORDINATES
Government
SSN, PASSPORT, DRIVER_LICENSE, NATIONAL_ID
Contact
URL, DOMAIN_NAME
Technical
IP_ADDRESS, MAC_ADDRESS
Temporal
DATE_TIME, AGE
Organizational
ORGANIZATION, JOB_TITLE
Medical
MEDICAL_LICENSE, HEALTH_ID
Custom
User-defined patterns
Δείτε τη πλήρη λίστα τύπων οντοτήτων στην τεκμηρίωση Προκαθορισμένων Ρυθμίσεων. Presets documentation.
Υποστηριζόμενες Γλώσσες
Το API υποστηρίζει 27 γλώσσες για αναγνώριση PII:
| Κωδικός | Γλώσσα | Μηχανή |
|---|---|---|
| en | English | spaCy |
| de | German | spaCy |
| es | Spanish | spaCy |
| fr | French | spaCy |
| it | Italian | spaCy |
| pt | Portuguese | spaCy |
| nl | Dutch | spaCy |
| pl | Polish | spaCy |
| ru | Russian | spaCy |
| ja | Japanese | spaCy |
| zh | Chinese | spaCy |
| ko | Korean | spaCy |
| ar | Arabic | Transformer |
| hi | Hindi | Transformer |
| tr | Turkish | Transformer |
Επιπλέον γλώσσες: Ρουμανικά, Ελληνικά, Κροατικά, Σλοβενικά, Μακεδονικά, Σουηδικά, Δανικά, Νορβηγικά, Φινλανδικά, Ουκρανικά, Λιθουανικά, Καταλανικά
Διαχείριση Σφαλμάτων
Τυπικοί κωδικοί κατάστασης HTTP:
| Κατάσταση | Σημασία | Περιγραφή |
|---|---|---|
| 200 | OK | Request succeeded |
| 201 | Created | Resource created successfully |
| 400 | Bad Request | 400 - Κακή Αίτηση (μη έγκυρες παράμετροι) |
| 401 | Unauthorized | 401 - Μη εξουσιοδοτημένο (μη έγκυρο ή λείπον token) |
| 402 | Payment Required | Insufficient tokens |
| 403 | Forbidden | Access denied to resource |
| 404 | Not Found | Resource not found |
| 429 | Too Many Requests | 429 - Περιορισμένος Ρυθμός (πάρα πολλές αιτήσεις) |
| 500 | Internal Error | 500 - Σφάλμα Διακομιστή (επικοινωνήστε με την υποστήριξη) |
Μορφή Απόκρισης Σφάλματος
{
"error": {
"code": "INSUFFICIENT_TOKENS",
"message": "You need 5 tokens but only have 2 remaining",
"details": {
"required": 5,
"available": 2
}
}
}Πλήρη Παραδείγματα
TypeScript/Node.js
import fetch from 'node-fetch';
const API_BASE = 'https://anonymize.today/api';
const API_TOKEN = process.env.ANONYMIZE_API_TOKEN;
async function analyzeAndAnonymize(text: string) {
// Step 1: Analyze
const analyzeResponse = await fetch(`${API_BASE}/presidio/analyze`, {
method: 'POST',
headers: {
'Authorization': `Bearer ${API_TOKEN}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
text,
entities: ['PERSON', 'EMAIL_ADDRESS', 'PHONE_NUMBER'],
language: 'en',
}),
});
const { results } = await analyzeResponse.json();
if (results.length === 0) {
return { text, anonymized: false };
}
// Step 2: Anonymize
const anonymizeResponse = await fetch(`${API_BASE}/presidio/anonymize`, {
method: 'POST',
headers: {
'Authorization': `Bearer ${API_TOKEN}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
text,
analyzer_results: results,
anonymizers: {
DEFAULT: { type: 'replace', new_value: '[REDACTED]' },
},
}),
});
return anonymizeResponse.json();
}
// Usage
const result = await analyzeAndAnonymize('Contact John Doe at john@example.com');
console.log(result.text); // "Contact [REDACTED] at [REDACTED]"
Python
import os
import requests
API_BASE = "https://anonymize.today/api"
API_TOKEN = os.environ["ANONYMIZE_API_TOKEN"]
def analyze_and_anonymize(text: str) -> dict:
headers = {
"Authorization": f"Bearer {API_TOKEN}",
"Content-Type": "application/json"
}
# Step 1: Analyze
analyze_response = requests.post(
f"{API_BASE}/presidio/analyze",
headers=headers,
json={
"text": text,
"entities": ["PERSON", "EMAIL_ADDRESS", "PHONE_NUMBER"],
"language": "en"
}
)
results = analyze_response.json()["results"]
if not results:
return {"text": text, "anonymized": False}
# Step 2: Anonymize
anonymize_response = requests.post(
f"{API_BASE}/presidio/anonymize",
headers=headers,
json={
"text": text,
"analyzer_results": results,
"anonymizers": {
"DEFAULT": {"type": "replace", "new_value": "[REDACTED]"}
}
}
)
return anonymize_response.json()
# Usage
result = analyze_and_anonymize("Contact John Doe at john@example.com")
print(result["text"]) # "Contact [REDACTED] at [REDACTED]"
Related Documentation
Τελευταία Ενημέρωση: Μάρτιος 2026