מדריך REST API של Email Verifier

מדריך מלא ל-Email Verifier REST API עם אימות זהות, scopes, שמונה נקודות קצה, נקודות, משימות בכמות גדולה, עימוד, CSV ושגיאות.

פרטי המאמר

סוג, רמת קושי, תוכניות ומידע על עדכון אחרון.

סוג
חומר עזר
רמת קושי
בינוני
תוכניות
Nano · Starter · Pro · Agency
עודכן לאחרונה
10 בספט׳ 2026

ה-API של Email Verifier זמין תחת /api/v1. יש להשתמש במארח TrekMail שבו החשבון נכנס למערכת. הדוגמאות משתמשות ב-https://YOUR-TREKMAIL-HOST כמציין מקום.

אימות זהות ו-scopes

יש להעביר אסימון API בכותרת Authorization:

Authorization: Bearer YOUR_API_TOKEN

יש להפעיל scopes בעת יצירת האסימון:

Scope נדרש עבור
verify:read נקודות, רשימות משימות, מצב משימה והורדות.
verify:write בדיקות יחידות, שליחה בכמות גדולה, ביטול ומחיקה.

יש להעניק ללקוח את שני ה-scopes אם עליו לשלוח עבודה ולאחר מכן לקרוא או להוריד את התוצאה.

מארח ומבנה הבקשה

כל הדוגמאות משתמשות בגופי בקשת JSON ובאסימון Bearer. העלאת הקבצים בלוח הבקרה נפרדת מה-API: הבקשה POST /verify/bulk מקבלת מערך JSON בשם emails, ולא קובץ multipart. יש להשתמש בדיוק במארח ששייך לחשבון ולאסימון. אין להניח שאסימון או יתרה ממארח ממותג אחד יעבדו במארח אחר.

יש לשלוח Content-Type: application/json בבקשות POST /verify ו-POST /verify/bulk. יש לשמור את האסימון ואת ערך האידמפוטנטיות מחוץ לקוד בצד הלקוח.

אידמפוטנטיות

הבקשות POST /api/v1/verify/bulk ו-DELETE /api/v1/verify/bulk/{jobId} דורשות את הכותרת Idempotency-Key. יש ליצור ערך חדש לכל פעולה מכוונת ולהשתמש בו שוב רק כשמנסים מחדש את אותה פעולה.

Idempotency-Key: 58dfa0de-96eb-4521-a0f9-2e5eac6721ee

אימות יחיד וביטול משימה אינם דורשים כותרת זו. בקשה בכמות גדולה מוגנת גם באמצעות זיהוי אותה רשימה מנורמלת ואותו מצב בתוך 24 שעות, אך מפתח אידמפוטנטיות הוא עדיין המנגנון הנכון לניסיון חוזר.

טיפול בתוצאת רשת לא ודאית

אם היישום מאבד את התגובה לבקשה בכמות גדולה, אין ליצור מפתח חדש ולשלוח רשימה נוספת. יש לחזור על הבקשה הזהה עם אותו מפתח. שמרו את המפתח יחד עם מזהה רשימת המקור עד ש-TrekMail יחזיר מזהה משימה. כך הניסיון החוזר נשאר מחובר לפעולה המקורית ואינו יוצר חיוב שני שניתן למנוע.

סיכום נקודות הקצה

שיטה ונתיב Scope מטרה
GET /verify/credits verify:read קריאת הנקודות הזמינות.
POST /verify verify:write אימות מיידי של כתובת אחת.
POST /verify/bulk verify:write יצירת משימה אסינכרונית בכמות גדולה.
GET /verify/bulk/{jobId} verify:read קריאת התקדמות המשימה והתוצאות הזמינות.
GET /verify/bulk/{jobId}/download verify:read הורדת ייצוא CSV.
GET /verify/bulk verify:read הצגת רשימת המשימות.
POST /verify/bulk/{jobId}/cancel verify:write ביטול משימה ממתינה או פעילה.
DELETE /verify/bulk/{jobId} verify:write מחיקה לצמיתות של משימה שאינה פעילה.

יש להוסיף /api/v1 לפני כל נתיב בטבלה זו.

קריאת יתרת הנקודות

GET /api/v1/verify/credits

במארח TrekMail הרגיל, התגובה כוללת את מכסת התוכנית ואת היתרה שנרכשה:

{
  "monthly_limit": 300,
  "monthly_used": 120,
  "monthly_remaining": 180,
  "purchased_balance": 5000,
  "total_available": 5180,
  "plan": "pro",
  "trialing": false,
  "resets_at": "2026-10-01T00:00:00+00:00"
}

במארח White Label, רק נקודות שנרכשו זמינות למוצר הממותג, ולכן התגובה מכילה את purchased_balance ואת total_available.

בקשה לדוגמה:

curl https://YOUR-TREKMAIL-HOST/api/v1/verify/credits \
  -H "Authorization: Bearer YOUR_API_TOKEN"

יש לקרוא את היתרה מיד לפני שליחה גדולה. תגובת היתרה היא תמונת מצב, ולכן יישום ששולח כמה משימות צריך לרשום את הסכום שחויב בכל תגובה בכמות גדולה במקום לחשב אותו מאוחר יותר ממספר שכבר אינו עדכני.

שדות יתרה

שדה משמעות
monthly_limit מכסת התוכנית לתקופת האיפוס הנוכחית.
monthly_used נקודות שכבר הוצאו מהמכסה.
monthly_remaining המכסה שעדיין זמינה לפני שיהיה צורך בנקודות שנרכשו.
purchased_balance נקודות שנרכשו בנפרד ועדיין לא הוצאו.
total_available הכמות הזמינה להוצאה במשימה הבאה במארח זה.
resets_at מועד האיפוס הידוע הבא, כאשר הוא זמין.

תגובות יתרה של White Label מכילות בכוונה פחות שדות, מפני שהמוצר הממותג משתמש רק בנקודות שנרכשו.

אימות כתובת אחת

POST /api/v1/verify

{
  "email": "person@example.com",
  "mode": "quick"
}
שדה חובה הערות
email כן כתובת דוא"ל אחת, עד 320 תווים.
mode לא quick הוא ברירת המחדל; deep מתקבל כאשר Deep זמין.

התגובה כוללת את email,‏ status,‏ trust_score,‏ checks,‏ provider,‏ risk_factors ו-credits_remaining. במארח הרגיל, credits_remaining מכיל את הערכים monthly ו-purchased. המבנה המפורט של checks עשוי להשתנות לפי המצב ולפי המידע שהספק המקבל מאפשר לקבל.

Quick עולה נקודה אחת. Deep עולה בדרך כלל 2 נקודות, ואילו חריגים שתלויים בספק מחושבים לפי נקודה אחת. אם האימות אינו יכול לפעול לאחר החיוב, הבקשה לכתובת יחידה מחזירה את החיוב ומחזירה תגובת אי זמינות זמנית.

בקשה לדוגמה:

curl -X POST https://YOUR-TREKMAIL-HOST/api/v1/verify \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"email":"person@example.com","mode":"quick"}'

יש להשתמש ב-status,‏ trust_score,‏ provider ו-risk_factors שברמה העליונה כחוזה הרגיל של היישום. checks מכיל ראיות תומכות שימושיות, אך המפתחות הנפרדים עשויים להשתנות כאשר בדיקה קודמת מדולגת או אינה זמינה, או כאשר Deep מקבל מידע נוסף.

פירוש תוצאה יחידה

שדה שימוש
email התאמת התוצאה לקלט המנורמל שהיישום שמר.
status הצבת הכתובת בתהליך הבדיקה או הקמפיין.
trust_score מיון או תעדוף בתוך סטטוס, ולא תחליף להסכמה.
provider הסבר איזה דומיין המאמת בחן.
risk_factors הצגת סיבה תמציתית לבדיקה למפעיל.
checks הצגת פרטים תומכים כאשר המפעיל צריך להבין תוצאה.

אין לגרום ליישום להתייחס לתגובה מרוחקת שהתקבלה כבדיקת בעלות או הרשאה. יש להפריד החלטות על הרשמה, ביטול הרשמה והעדפות קשר.

יצירת משימה בכמות גדולה

POST /api/v1/verify/bulk

{
  "emails": ["first@example.com", "second@example.net"],
  "name": "September contacts",
  "mode": "deep"
}
שדה חובה הערות
emails כן מערך של עד 50,000 רשומות שנשלחו. רשומות עם תחביר לא תקין אינן נכללות ומדווחות.
name לא תווית באורך של עד 255 תווים.
mode לא quick כברירת מחדל, או deep כאשר הוא זמין.

רשומות כפולות עוברות נרמול לפני התמחור. משימה חדשה שנוצרה בהצלחה מחזירה 201 עם:

{
  "job_id": 42,
  "total": 2,
  "status": "pending",
  "rejected_count": 0,
  "rejected_sample": [],
  "credits_charged": 4,
  "breakdown": {"probe": 2, "skip": 0, "deep_savings": 0}
}

probe ו-skip מסבירים את חישוב המחיר של Deep. הערך deep_savings הוא ההפרש לעומת חיוב של כל כתובת שנשלחה בתעריף Deep המלא. רשימה כפולה מחזירה את job_id ואת הסטטוס הקיימים במקום להתחיל משימה נוספת.

בקשה לדוגמה:

curl -X POST https://YOUR-TREKMAIL-HOST/api/v1/verify/bulk \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: 58dfa0de-96eb-4521-a0f9-2e5eac6721ee" \
  -d '{"name":"September contacts","mode":"deep","emails":["first@example.com","second@example.net"]}'

ה-API בודק את הערכים שנשלחו לתחביר דוא"ל תקין לפני קבלת המשימה. אם כל הרשומות נדחות, הוא מחזיר 422 ואינו יוצר משימה. אם חלקן נדחות, התגובה המוצלחת מדווחת על rejected_count ועד חמישה ערכים ב-rejected_sample. אין להסתמך על מדגם קטן זה כדוח מלא לניקוי נתונים; יש לשמור את תוצאת אימות המקור במייבא שלכם.

רשימת בדיקה לשליחה בכמות גדולה

  1. יש לקרוא ולנרמל את המקור ביישום שלכם.
  2. יש להגביל את הבקשה ל-50,000 רשומות שנשלחו.
  3. יש ליצור ולשמור מפתח אידמפוטנטיות לפני הבקשה.
  4. יש לבחור שם משימה ברור מספיק כדי שמפעיל יזהה אותה בהמשך.
  5. יש לשמור את job_id,‏ credits_charged ופירוט המחיר ש-TrekMail מחזיר.
  6. יש לבצע polling ל-job_id שנשמר; אין להסיק שהמשימה הושלמה מבקשת HTTP המקורית.

קריאת משימה

GET /api/v1/verify/bulk/{jobId}

התגובה הבסיסית כוללת את job_id,‏ name,‏ status,‏ total,‏ processed,‏ progress,‏ summary,‏ created_at ו-completed_at.

כאשר יש תוצאות זמינות למשימה שהושלמה, הושלמה חלקית או נכשלה, התגובה כוללת גם:

{
  "results": [
    {
      "email": "person@example.com",
      "status": "valid",
      "trust_score": 82,
      "checks": {},
      "provider": "example.com",
      "risk_factors": ["no_dmarc"]
    }
  ],
  "pagination": {"page": 1, "per_page": 100, "total": 1, "last_page": 1}
}

פרמטרים אופציונליים לשאילתה:

פרמטר הערות
page מספר עמוד התוצאות.
per_page מ-1 עד 500; ברירת המחדל היא 100.
status pending,‏ queued,‏ safe,‏ valid,‏ risky,‏ invalid או unknown.
search חיפוש מילולי בחלק מכתובת הדוא"ל, עד 320 תווים.

אפשר להוריד משימה שבוטלה אם יש בה שורות שעובדו, אך יש להשתמש בנקודת הקצה להורדה עבור הייצוא שלה.

קריאת מצבי משימה ללא ניחוש

סטטוס משמעות עבור לקוח API
pending המשימה התקבלה וממתינה לעיבוד.
processing העבודה פעילה. יש להשתמש ב-processed וב-progress לעדכון למשתמש.
completed המשימה המלאה הסתיימה. יש לקרוא תוצאות או להוריד CSV.
partial חלק מהמשימה הושלם. יש לבדוק אותו כחלק, לא כתוצאת הרשימה המלאה.
cancelled המשימה הופסקה. ייתכן שעדיין אפשר להוריד שורות שעובדו.
failed לא ניתן היה להשלים את המשימה. יש לקרוא את המצב והקשר השגיאה לפני ניסיון חוזר.

לקוח API צריך לבצע polling עם השהיה הולכת וגדלה. אין לבצע שליחה חדשה בכמות גדולה רק מפני שהמשימה הקיימת עדיין ממתינה או מפני שבקשת רשת הגיעה ל-timeout מקומי.

דוגמה לתגובת סטטוס

{
  "job_id": 42,
  "name": "September contacts",
  "status": "processing",
  "total": 1500,
  "processed": 400,
  "progress": 27,
  "summary": {"safe": 220, "valid": 105, "risky": 55, "invalid": 20},
  "created_at": "2026-09-04T13:15:00+00:00",
  "completed_at": null
}

הערך summary יכול לגדול עם התקדמות העבודה. יש להשתמש ב-processed וב-total להצגת התקדמות במקום לסכם רק את הקטגוריות שהיישום מזהה כרגע.

הורדת משימה

GET /api/v1/verify/bulk/{jobId}/download

ההורדה זמינה למשימות שהושלמו, הושלמו חלקית או בוטלו ויש בהן שורות שעובדו. היא מזרימה CSV עם העמודות Email,‏ Status,‏ Trust Score,‏ Provider ו-Risk Factors.

פרמטר שאילתה ערכים מותרים
filter all (ברירת המחדל), safe,‏ safe_risky (Safe + Valid + Risky).

דוגמה:

curl -o september-results.csv \
  "https://YOUR-TREKMAIL-HOST/api/v1/verify/bulk/42/download?filter=safe_risky" \
  -H "Authorization: Bearer YOUR_API_TOKEN"

יש לשמור את הפלט שהורד בתוך תקופת שמירת התוצאות של 15 ימים. ה-CSV הוא ייצוא לתהליך שלכם; הוא אינו משנה הסכמה, הרשמות או רשומות אנשי קשר במערכת אחרת.

נקודת הקצה להורדה מחזירה התנגשות כאשר אין ייצוא מעובד זמין. יש לבדוק תחילה את מצב המשימה. בקשה מוצלחת מזרימה את ה-CSV במקום להחזיר מעטפת JSON, לכן יש לטפל בה כתגובת קובץ בלקוח HTTP.

הצגת רשימת המשימות

GET /api/v1/verify/bulk

יש להשתמש ב-page,‏ per_page וב-status האופציונלי. ברירת המחדל של per_page היא 20 והוא מקבל ערכים מ-1 עד 100. הסטטוסים הם pending,‏ processing,‏ completed,‏ partial,‏ cancelled ו-failed.

התגובה מכילה מערך jobs ואובייקט pagination. בכל רשומת משימה יש ID, שם, סטטוס, סך הכול, מספר שעובד, התקדמות וחותמות זמן.

דוגמה:

curl "https://YOUR-TREKMAIL-HOST/api/v1/verify/bulk?status=processing&per_page=20" \
  -H "Authorization: Bearer YOUR_API_TOKEN"

יש להשתמש בנקודת הקצה לרשימה כאשר worker מופעל מחדש או כאשר צריך להתאים מזהי משימות. אין להתייחס לשם משימה כמזהה ייחודי; יש לשמור את job_id המספרי שהוחזר.

מבנה תגובת רשימת המשימות

{
  "jobs": [
    {
      "job_id": 42,
      "name": "September contacts",
      "status": "completed",
      "total": 1500,
      "processed": 1500,
      "progress": 100,
      "created_at": "2026-09-04T13:15:00+00:00",
      "completed_at": "2026-09-04T13:28:00+00:00"
    }
  ],
  "pagination": {"page": 1, "per_page": 20, "total": 1, "last_page": 1}
}

יש להשתמש בפרמטר השאילתה status כאשר דף תפעול צריך רק עבודה פעילה או רק עבודה שהסתיימה. עימוד חשוב לחשבונות שמאמתים רשימות רבות; אין להניח שתגובה אחת מכילה את כל ההיסטוריה.

ביטול משימה

POST /api/v1/verify/bulk/{jobId}/cancel

יש לבטל רק עבודה ממתינה או פעילה. תגובה מוצלחת היא:

{"status":"cancelled","credits_refunded":40}

ההחזר מיועד לעבודה שלא עובדה. אם המשימה הגיעה למצב סופי לפני שהביטול הגיע אליה, ה-API מחזיר התנגשות במקום לשנות את התוצאה.

curl -X POST https://YOUR-TREKMAIL-HOST/api/v1/verify/bulk/42/cancel \
  -H "Authorization: Bearer YOUR_API_TOKEN"

ביטול אינו מוחק משימה. יש להוריד את השורות שעובדו אם הן נחוצות, או למחוק לאחר מכן את הרשומה שהסתיימה.

מחיקת משימה

DELETE /api/v1/verify/bulk/{jobId}

יש לבטל תחילה משימה פעילה. המחיקה מסירה לצמיתות את המשימה ואת תוצאותיה לאחר ש-TrekMail מסיר באופן מאובטח את רשימת המקור שהוכנה. תגובה מוצלחת היא:

{"deleted":true}
curl -X DELETE https://YOUR-TREKMAIL-HOST/api/v1/verify/bulk/42 \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Idempotency-Key: 843ef0c5-4dc0-4c09-bacd-5bd0fe87e847"

הפעולה סופית עבור רשומת המאמת. היא אינה מבטלת קובצי CSV שהיישום כבר הוריד, לכן יש להחיל על עותקים אלה את תהליך השמירה שלכם.

סדר המחיקה

  1. יש לקרוא את מצב המשימה.
  2. יש לבטל אותה אם היא ממתינה או נמצאת בעיבוד.
  3. יש לשמור כל ייצוא מעובד שחייבים לשמור.
  4. יש למחוק את משימת האימות שאינה פעילה בעזרת מפתח אידמפוטנטיות.
  5. יש להסיר עותקים שהמערכת מחזיקה לפי כללי הפרטיות והשמירה שלה.

שגיאות וניסיונות חוזרים

סטטוס סיבה נפוצה מה לעשות
402 אין מספיק נקודות. יש להוסיף נקודות או להקטין את המשימה.
404 המשימה אינה שייכת לחשבון זה או אינה קיימת. יש לבדוק את המזהה ואת חשבון האסימון.
409 אי אפשר להוריד, לבטל או למחוק משימה במצבה הנוכחי. יש לקרוא את הסטטוס ולבצע את השלב הבא שצוין.
422 קלט לא תקין, מצב Deep אינו זמין או חסר מפתח אידמפוטנטיות במקום שבו הוא נדרש. יש לתקן את הבקשה.
429 הושגה מגבלת קצב הבקשות. יש לנסות שוב מאוחר יותר עם השהיה הולכת וגדלה.
503 כשל אימות זמני. יש לנסות שוב מאוחר יותר.

לאימות יחיד יש מגבלת נתיב של 60 בקשות בדקה, ולשליחה בכמות גדולה מגבלה של 10 בקשות בדקה. יש לבנות ניסיונות חוזרים עם השהיה הולכת וגדלה, לשמור על אותו מפתח בניסיון חוזר בכמות גדולה ולא לנסות בקשה שוב באופן עיוור לאחר תוצאת רשת לא ידועה.

דפוס בטוח לניסיון חוזר

  1. יש ליצור ולשמור מפתח אידמפוטנטיות אחד לפני שליחה בכמות גדולה.
  2. יש לשלוח את הבקשה עם המפתח.
  3. אם התגובה אובדת, יש לחזור על הבקשה הזהה עם אותו מפתח.
  4. יש לשמור את job_id שהוחזר ולהפסיק ליצור שליחות חדשות עבור אותה רשימת מקור.
  5. יש לבצע polling למשימה עד שתגיע למצב סופי, ואז להוריד או לעבד את התוצאה.

באימות יחיד, 503 זמני פירושו שהשירות לא הצליח להשלים את הבדיקה. יש לנסות שוב מאוחר יותר עם השהיה רגילה. אין להמיר תגובה זו לתוצאת Invalid במסד הנתונים שלכם.

הגנה על נתוני אנשי קשר

רשימות דוא"ל הן מידע אישי בהקשרים רבים. יש לשלוח רק את הנתונים הנדרשים לאימות, להגביל את הגישה לאסימון למערכת שמבצעת את המשימה ולהימנע מרישום מערכי כתובות מלאים ביומני היישום. כאשר נדרש רישום, יש לשמור את מזהה המשימה, הכמות, התזמון והתוצאה הכללית במקום את הרשימה המלאה.

TrekMail שומר תוצאות למשך 15 ימים. יש לתכנן אחסון מאובטח לייצוא או מסלול מחיקה לפני שילוב רשימות בנפח גבוה.

אותות אימות אינם מוכיחים בעלות, הסכמה או מסירה עתידית. יש להמשיך לנהל הרשאות ומניעה ביישום גם כאשר כתובת מקבלת Safe.

מאמרים קשורים

קפצו למדריכים הסמוכים שממשיכים את זרימת העבודה.

תחילת העבודה עם TrekMail Email Verifier

מדריך ל-Email Verifier הכולל זיכויים חינמיים, מצבי Quick ו-Deep, הכנת רשימה, מצבים, ציונים ויצוא תוצאות.

קראו מאמר

אימות אימייל: ציון אמון המבוסס על 25 בדיקות

סקירה של מצבי האימות, הבדיקות, ציוני האמון, קטגוריות התוצאות, משימות מרוכזות, קרדיטים ותקופת השמירה.

קראו מאמר

השוואת אימות אימייל במצבי Quick ו-Deep

השוואה מעשית בין Quick ל-Deep, כולל היקף הבדיקות, העלויות והשימוש המתאים לסוגים שונים של רשימות אנשי קשר.

קראו מאמר

אימות אימיילים בלוח הבקרה של TrekMail

מדריך לאשף האימות, מהכנת רשימת הכתובות ועד הורדת התוצאות או מחיקת המשימה מלוח הבקרה.

קראו מאמר

אימות רשימות דואר בכמות גדולה ב-TrekMail

הכינו והעלו רשימה, בחרו Quick או Deep, בדקו נקודות ומצבים ויצאו תוצאות שימושיות לקמפיין בסיכון נמוך.

קראו מאמר

הבנת תוצאות אימות כתובות דוא״ל וציוני אמון

למדו לקרוא מצב, ציון ופרטי בדיקות, להעריך בזהירות אותות ממצב Deep ולייצא את קבוצות התוצאות המתאימות.

קראו מאמר

אנו משתמשים בטכנולוגיות הנחוצות להפעלה ולאבטחה של TrekMail. באישור, אתם מאפשרים גם ניתוח מוגבל ומדידת פרסום כמתואר במדיניות העוגיות שלנו.

התחברות ל-TrekMail

גישה ללוח הבקרה, לתיבות הדואר ול-DNS שלכם.

או

12 תווים הסיסמאות תואמות

או

דוא״ל האיפוס נשלח

אם קיים חשבון לכתובת הזו, שלחנו אליה הוראות לאיפוס הסיסמה.

בהמשך אתם מסכימים ל תנאי השימוש ול מדיניות הפרטיות של TrekMail.