unopost

מחבר MCP

שליחת מכתב בדואר מעוזר ה-AI שלכם

הוסיפו כתובת URL אחת ל-Claude, ל-ChatGPT או לכל לקוח MCP. העוזר שלכם מכין את המסמך המקורי שלכם להדפסה על A4 ולשליחה ב-Australia Post, עם מעקב. אתם בודקים את התצוגה המקדימה ומשלמים באתר שלנו, כך ששום דבר לא נשלח בלעדיכם.

$10 דואר רגיל$20 Express Post

כתובת השרת
https://unopost.com.au/api/mcp

אותם מחירים כמו באתר, כולל GST. בלי חשבון, בלי התחברות ובלי מפתח API.

שולחים מהקוד שלכם? המחבר עובד מכל לקוח MCP או ב-HTTP פשוט, אבל על כל מכתב משלמים באתר שלנו. כדי לשלוח בלי מעורבות של אף אחד, השתמשו ב-x402 API.

חיבורכרטיס שרת

חיבור

המחבר הוא שרת MCP מרוחק דרך Streamable HTTP. הוא לא דורש התחברות, ולכן השאירו את האימות כבוי.

  • Claude: פתחו את Customize → Connectors, בחרו Add custom connector, תנו לו את השם Unopost והדביקו את כתובת השרת. בצ'אט, הפעילו את Unopost מתפריט הכלים.
  • ChatGPT: הוסיפו מחבר מותאם אישית במצב מפתחים עם כתובת השרת וללא אימות, ואז הפעילו אותו בצ'אט.
  • Claude Code ולקוחות אחרים: הוסיפו אותו כשרת HTTP מרוחק. כל לקוח שמקבל שרתי MCP מותאמים אישית משתמש באותה כתובת.
Claude Code
claude mcp add --transport http unopost https://unopost.com.au/api/mcp
.mcp.json
{
  "mcpServers": {
    "unopost": {
      "type": "http",
      "url": "https://unopost.com.au/api/mcp"
    }
  }
}

איך מכתב יוצא לדרך

  1. אישור הכתובות
  2. הכנת המכתב
  3. המתנה לעימוד
  4. המשתמש משלם באתר

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

מה המשתמש אומר
Post this letter by Express Post to Jane Citizen,
12 Example Street, Southbank VIC 3006.
My return address is 1 Sample Road, Carlton VIC 3053.

כלים

העוזרים קוראים להם בעצמם. כל תוצאה של prepare_letter, finish_letter_upload ו-get_letter_status כוללת reviewUrl, הדף הפרטי שבו המשתמש בודק את התצוגה המקדימה ומשלם, ו-instructions, שאומרות מה לומר למשתמש בשלב הבא.

prepare_letter

TOOLprepare_letter

מקבל הפניה לקובץ מהמארח, למשל קובץ מצורף ב-ChatGPT, מוריד את המקור ומתחיל את המכתב. הקובץ אף פעם לא מוקלד מחדש, לא נבנה מחדש ולא נשלח כטקסט. כל קריאה יוצרת מכתב חדש, ולכן העוזר קורא לו פעם אחת.

ארגומנטים

fileobject · חובה
ההפניה של המארח לקובץ המצורף המקורי של המשתמש: download_url ו-file_id, עם file_name ו-mime_type אם הם ידועים.
fileNamestring · רשות
שם הקובץ עם הסיומת שלו, למשל letter.pdf. נדרש רק כאשר file.file_name חסר.
recipientAddress · חובה
למי המכתב נשלח, כפי שהמשתמש אישר. באוסטרליה, אלא אם service הוא international.
senderAddress · חובה
הכתובת להחזרה של המשתמש, המודפסת על המעטפה. היא יכולה להיות בכל מדינה.
servicestring · רשות
express (ברירת המחדל), לא מקופל במעטפת B4; regular, מקופל במעטפת DL, עד 12 עמודים; או international, עם חתימה בעת המסירה.
signatureboolean · רשות
חתימה בעת המסירה, בתוספת $6 באוסטרליה. דואר רגיל עם חתימה נשלח בדואר רשום.
duplexboolean · רשות
הדפסה דו-צדדית. תצהירים סטטוטוריים (statutory declarations) מודפסים תמיד בצד אחד.
monoboolean · רשות
הדפסה בשחור-לבן. כברירת מחדל צבע נשאר צבעוני, ללא עלות נוספת.
stapleboolean · רשות
הידוק העמודים פעם אחת בפינה השמאלית העליונה. רק למסמכים של עד 12 עמודים; מסמך ארוך יותר נדחה בעת תמחורו. ברירת המחדל היא false.
foldboolean · רשות
קיפול מכתב Express Post או מכתב בינלאומי של עד 12 עמודים לתוך מעטפה קטנה יותר.
preparedForstring · רשות
רק כאשר אתם כותבים בשם עסק לאחד מלקוחותיו: שם העסק, עד 60 תווים. דף התשלום מציג אותו כמידע שהעוזר מסר לנו, לא כמידע שנבדק, ושמות כמו Unopost, Australia Post, בנק או סוכנות ממשלתית נדחים.
notifyEmailstring · רשות
עם preparedFor: כתובת האימייל של העסק. היא מקבלת עותק של כל אימייל על המכתב, מהתשלום ועד המסירה, והלקוח רואה כתובת זו לפני התשלום.
customerEmailstring · רשות
כתובת האימייל של הלקוח המשלם, אם היא בידיכם. דף התשלום נפתח כשהיא כבר ממולאת; אימיילים על המעקב נשלחים אליה.

כתובת

name, line1 ו-suburb הם שדות חובה; שמות ושורות מוגבלים ל-40 תווים. באוסטרליה המיקוד קובע את המדינה. מחוץ לאוסטרליה, הוסיפו country, ולמכתב לסין גם מספר טלפון נייד סיני ב-phone.

namestring · חובה
שמו המלא של האדם.
companystring · רשות
עסק או ארגון.
line1string · חובה
כתובת הרחוב, או תא דואר כגון "PO Box 123".
line2string · רשות
שורת כתובת שנייה.
suburbstring · חובה
הפרבר או העיירה.
statestring · רשות
באוסטרליה אפשר להשמיט: המדינה (state) נקבעת לפי המיקוד. אם היא מצוינת, אחד מהערכים ACT, NSW, NT, QLD, SA, TAS, VIC או WA, בהתאם למיקוד. מחוץ לאוסטרליה, האזור, אם המדינה משתמשת בו.
postcodestring · רשות
ארבע ספרות, חובה באוסטרליה. מחוץ לאוסטרליה, המיקוד, אם המדינה משתמשת בו.
countrystring · רשות
עבור אוסטרליה יש להשמיט. אחרת, שם המדינה באנגלית. הנמען יכול להיות מחוץ לאוסטרליה רק כאשר service הוא international.
phonestring · רשות
רק לנמען בסין: מספר הטלפון הנייד הסיני שלו, ש-China Post דורש.
tools/call
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "prepare_letter",
    "arguments": {
      "file": {
        "download_url": "https://files.example.com/letter.pdf",
        "file_id": "file_abc123",
        "file_name": "letter.pdf",
        "mime_type": "application/pdf"
      },
      "recipient": {
        "name": "Jane Citizen",
        "line1": "12 Example Street",
        "suburb": "Southbank",
        "postcode": "3006"
      },
      "sender": {
        "name": "Sam Sender",
        "line1": "1 Sample Road",
        "suburb": "Carlton",
        "postcode": "3053"
      },
      "service": "express"
    }
  }
}
structuredContent
{
  "jobId": "019d7a7f-a183-752d-9b3b-11511179033b",
  "reviewUrl": "https://unopost.com.au/pay?job=019d7a7f-a183-752d-9b3b-11511179033b",
  "currency": "AUD",
  "status": "CONVERTING",
  "service": "express",
  "instructions": "The letter is being laid out, usually for a few seconds. Then give the user reviewUrl to check the preview, enter an email and pay. Nothing is posted until payment. …"
}

העלאת הקובץ בעצמכם

TOOLcreate_letter_upload → finish_letter_upload

ללקוחות שיכולים לקרוא את הקובץ של המשתמש ולשלוח בקשת HTTP, אבל המארח שלהם לא מספק הפניות לקבצים. create_letter_upload מקבל את שם הקובץ ומחזיר uploadUrl, שתוקפו פג בתוך 5 דקות. שלחו אליו ב-PUT את הבייטים המקוריים, ואז קראו ל-finish_letter_upload עם ה-jobId ועם אותם שדות מכתב כמו ב-prepare_letter.

PUT uploadUrl
curl -X PUT "$UPLOAD_URL" \
  -H "Content-Type: application/octet-stream" \
  --data-binary @letter.pdf

get_letter_status

TOOLget_letter_status

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

CONVERTED
{
  "jobId": "019d7a7f-a183-752d-9b3b-11511179033b",
  "reviewUrl": "https://unopost.com.au/pay?job=019d7a7f-a183-752d-9b3b-11511179033b",
  "currency": "AUD",
  "status": "CONVERTED",
  "pageCount": 3,
  "costCents": 2000,
  "previewUrl": "https://unopost.com.au/preview/019d7a7f-a183-752d-9b3b-11511179033b/letter.pdf?Expires=...&Signature=...",
  "service": "express",
  "instructions": "Ready: give the user reviewUrl to check the preview, enter an email and pay by card. The letter is posted only once it's paid for. pageCount and costCents (AUD cents) are final."
}
FAILED
{
  "jobId": "019d7a7f-a183-752d-9b3b-11511179033b",
  "reviewUrl": "https://unopost.com.au/pay?job=019d7a7f-a183-752d-9b3b-11511179033b",
  "currency": "AUD",
  "status": "FAILED",
  "error": "document has more than 80 pages",
  "instructions": "Not posted, and nothing was charged. The document has more than 80 pages. Suggest splitting it into separate letters of up to 80 pages each. …"
}

get_letter_info

TOOLget_letter_info

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

tools/call
{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/call",
  "params": {
    "name": "get_letter_info",
    "arguments": {}
  }
}

מגבלות

pages
עד 80 עמודים למכתב. חלקו מסמך ארוך יותר למכתבים נפרדים.
regular
דואר רגיל, וכל מכתב מקופל, מקבל עד 12 עמודים. מכתבים ארוכים יותר נשלחים ב-Express Post, לא מקופלים.
size
עד 50 MB לקובץ.
files
PDF, Word (⁦.doc, .docx⁩), JPEG או PNG. מסמכי Word מעומדים על A4.
letter
קובץ אחד למכתב דרך המחבר. האתר מקבל עד 10.
rate
200 מכתבים בשעה מכל מארח AI.

סטטוסים

CREATED
שמור, ממתין לקובץ שלו.
CONVERTING
בעימוד.
CONVERTED AWAITING_PAYMENT
מוכן לבדיקה ולתשלום של המשתמש ב-reviewUrl.
PAID PAYING SENDING RETRYING MANUAL_CHECK
שולם. מכתבים ששולמו עד 14:30 לפי שעון מלבורן ביום עסקים נשלחים באותו יום.
POSTED UNDELIVERED
הופקד ב-Australia Post. מספר המעקב נשלח למשתמש באימייל.
DELIVERED
המעקב של Australia Post מראה שהמכתב נמסר.
FAILED
לא נשלח. error מציין את הסיבה, ו-instructions מה לעשות בשלב הבא. מכתב ששולם מוחזר במלואו.
PAYMENT_EXPIRED
לא שולם בזמן. המסמך שלו נמחק.
REFUNDED
בוטל או שלא ניתן היה לשלוח אותו, והסכום הוחזר לכרטיס.

שגיאות

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

כלי אף פעם לא גובה תשלום ולא שולח, כך ששגיאה אף פעם לא עולה למשתמש דבר. אבל ברגע ששגיאה מזכירה עבודה, המכתב הזה קיים: בדקו אותו עם get_letter_status במקום להכין מכתב שני.

arguments
ארגומנט חסר או שגוי: כתובת שהמשתמש צריך לאשר, אפשרויות שלא מתאימות זו לזו, סוג קובץ שאינו נתמך, preparedFor שנדחה או כתובת אימייל לא תקינה. ההודעה מציינת מה. תקנו וקראו שוב; שום דבר לא נוצר.
file
לא ניתן היה להביא את הקובץ המקורי מהמארח: תוקף הקישור פג, הוא נדחה, היה איטי מדי או הפנה מחדש יותר מדי פעמים, מצביע על כתובת פרטית, או שהקובץ ריק או גדול מ-50 MB. שום דבר לא נשלח. השיגו הפניה חדשה לקובץ, או השתמשו ב-create_letter_upload; לעולם אל תשלחו במקומו עותק טקסט.
job …
ההודעה מתחילה ב-job …: כשהמכתב נוצר אבל שלב מאוחר יותר נכשל. קראו ל-get_letter_status עם מזהה העבודה הזה, ואז ל-finish_letter_upload אם המכתב עדיין ממתין לכתובות שלו. אל תכינו מכתב נוסף.
rate limit
יותר מדי מכתבים ממארח ה-AI הזה בשעה הזו, או שהמחבר הגיע למגבלה היומית שלו. אל תנסו שוב בלולאה: אמרו למשתמש לנסות מאוחר יותר, או לשלוח את המכתב באתר של Unopost.
paused
השהינו לזמן מה קבלת מכתבים חדשים; מכתבים שכבר בטיפול ממשיכים כרגיל. נסו שוב מאוחר יותר.
not found
אין מכתב עם ה-jobId הזה, או שתוקף ההעלאה שלו פג אחרי 24 שעות. השתמשו רק במזהה עבודה ש-Unopost החזירה למשתמש הזה, והתחילו מחדש אם התוקף פג.
server
משהו השתבש אצלנו: Unopost API returned HTTP 5xx. המתינו כמה שניות ונסו פעם אחת נוספת.
FAILED
מכתב שלא ניתן להדפיס אינו שגיאת כלי: get_letter_status מחזיר FAILED עם error ועם instructions ברורות, כמו לפצל מסמך של יותר מ-80 עמודים או להסיר סיסמה.

תשלום ופרטיות

  • הוא אף פעם לא משלם ולא שולח. המחבר לא מחזיר קישור לתשלום. המשתמש משלם רק באתר, אחרי שראה את התצוגה המקדימה.
  • הקובץ המקורי, ללא שינוי. קבצים אף פעם לא עוברים בתוך הודעות MCP, ואף פעם לא מוחלפים בטקסט.
  • קישורים פרטיים. מזהה העבודה (job ID) הוא המפתח היחיד למכתב, ולכן העוזרים משתפים אותו ואת reviewUrl רק עם המשתמש.
  • ביטול לפני ההדפסה. אפשר לבטל מכתב ששולם ולקבל החזר מלא דרך reviewUrl עד שנתחיל להדפיס אותו.
  • נמחקים אחרי השליחה. המסמכים נמחקים ברגע שהמכתב נשלח, ואלה של מכתב שלא שולם אחרי 24 שעות.

Webhooks? השתמשו בתיבת דואר נכנס

למחבר אין webhooks. במקום זאת, תנו לעוזר notifyEmail של תיבת דואר שהתוכנה שלכם קוראת. כל אימייל על מכתב מגיע מ-notifications@unopost.com.au ונושא את פרטי המכתב בכותרות שלו, כך ששירות דואר שמריץ קוד על דואר נכנס, כמו Amazon SES, Postmark, Mailgun או SendGrid, יכול לפעול על כל עדכון ברגע שהוא מגיע.

  1. כוונו את notifyEmail לכתובת ששירות הדואר שלכם מקבל, כמו letters@yourbusiness.com.au.
  2. קבלו רק דואר מ-notifications@unopost.com.au שעובר DMARC, והשליכו את השאר.
  3. קראו את הכותרות, לא את הנוסח, שעשוי להשתנות. השליכו Unopost-Event-Id שכבר ראיתם.

כותרות

Unopost-Letter-Id
ה-jobId של המכתב, כפי שהמחבר החזיר אותו.
Unopost-Event
מה קרה: receipt, posted, tracking, retrying, delayed, awaiting-collection, delivered, cancelled, failed, refunded או refunded-printed.
Unopost-Event-Id
זהה עבור אותה הודעה, לא משנה כמה פעמים היא נשלחת, כך שאפשר להשליך כפילויות.
Unopost-Letter-Status
הסטטוס של המכתב אחריו: TO_POST, POSTED, DELAYED, AWAITING_AT_COLLECTION, DELIVERED, CANCELLED או REFUNDED.
Unopost-Tracking-Number
מספר המעקב של Australia Post, אחרי שהמכתב נשלח.
Unopost-Copy
business בעותק שעסק מקבל; לא באימייל של הלקוח עצמו.
Headers
From: Unopost <notifications@unopost.com.au>
Unopost-Letter-Id: 019d7a7f-a183-752d-9b3b-11511179033b
Unopost-Event: tracking
Unopost-Event-Id: evt_3f9a1c0b7e2d4a6b8c1d0e2f
Unopost-Letter-Status: POSTED
Unopost-Tracking-Number: 33LQV507012301000935005
Unopost-Copy: business
Amazon SES · receipt rule Lambda
export const handler = async (event) => {
  const { mail, receipt } = event.Records[0].ses;
  const { from } = mail.commonHeaders;
  const fromUs = from.length === 1 && /(^|<)notifications@unopost\.com\.au>?$/i.test(from[0]);
  // DMARC, not DKIM alone: only a DMARC pass means unopost.com.au signed it.
  if (!fromUs || receipt.dmarcVerdict.status !== 'PASS') return;
  const header = name =>
    mail.headers.find(h => h.name.toLowerCase() === name.toLowerCase())?.value;
  await recordUpdate({
    letterId: header('Unopost-Letter-Id'),
    event: header('Unopost-Event'),
    eventId: header('Unopost-Event-Id'), // drop one you've seen
    status: header('Unopost-Letter-Status'),
    trackingNumber: header('Unopost-Tracking-Number'),
  });
};

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

גילוי

סוכנים יכולים למצוא את המחבר בלי שיגידו להם. הוא רשום בקטלוג ה-AI שלנו, שמפנה לכרטיס שרת ה-MCP שלו.

מחירים

פריטמחיר
דואר רגיל, מקופל כך שייכנס לתיבת הדואר: עד 12 עמודים$10
דואר רשום, דואר רגיל עם חתימה בעת המסירה: עד 12 עמודים$16
Express Post, לא מקופל במעטפת B4: 20 עמודים כלולים, ולאחר מכן $0.30 לכל עמוד נוסף$20
Express Post עם חתימה בעת המסירה: 20 עמודים כלולים, ולאחר מכן $0.30 לכל עמוד נוסף$26
מעקב, הדפסה בצבע, דו-צדדית או בשחור-לבן, והידוקחינם

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

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