שגיאה 200 ב-WhatsApp: לא סופק אסימון גישה
קוד שגיאה 200 אומר שהבקשה הגיעה ל-Meta בלי אסימון גישה (Access Token). התיאור של Meta הוא "No access token was provided", וה-API מחזיר את ההודעה 'Provide valid app ID'. היא מופיעה בנקודות הקצה מסוג GET מסוימות, למשל whatsapp_business_profile, כשהאסימון חסר. הקודים 200 עד 299 מכסים גם הרשאות שלא ניתנו או שהוסרו.
הקוד של Meta עבור "No access token was provided", שמוחזר עם ההודעה 'Provide valid app ID'.
הטווח ש-Meta מציינת להרשאה שלא ניתנה או שהוסרה.
בלי Advanced access, שגיאה 200 מוחזרת בקריאות whatsapp_business_management ל-WABA שאינם בבעלות העסק שלכם.
השגיאה מוחזרת גם בביטול רישום של מספר, כשחסרה ההרשאה whatsapp_business_management שנדרשת לכך.
למה שגיאה 200 אומרת 'Provide valid app ID'?
כי זו ההודעה ש-ה-API מחזיר, אף שהבעיה בפועל היא אסימון חסר.
במדריך השגיאות של Meta כתוב שקוד 200 מופיע בנקודות הקצה מסוג GET מסוימות, כמו whatsapp_business_profile, כשלא נכלל אסימון, ושה-API מחזיר אז את ההודעה 'Provide valid app ID'. אותו מדריך מציין שנקודות קצה אחרות עשויות להחזיר 190 או 104 על אותה השמטה.
כלומר הניסוח מצביע על מזהה האפליקציה, אבל התיקון הוא באסימון. בודקים שהכותרת Authorization קיימת וכתובה נכון, ושהמשתנה שמחזיק את האסימון אכן התמלא בזמן בניית הבקשה.
מתי שגיאה 200 מצביעה דווקא על הרשאה חסרה?
כשהאסימון קיים, אבל לאפליקציה אין את ההרשאה שהקריאה דורשת.
Meta מגדירה את הטווח 200 עד 299 כ-"Permission is either not granted or has been removed", עם אותו פתרון כמו בקוד 10: בודקים את האסימון בכלי ניפוי האסימונים (Access Token Debugger). מתועדים שני מקרים ספציפיים. מדריך ההרשאות קובע שאפליקציה שמשתמשת ב-whatsapp_business_management על WABA שאינם בבעלות העסק, בלי Advanced access, מקבלת שגיאה 200. מדריך הרישום קובע שביטול רישום של מספר בלי whatsapp_business_management מחזיר שגיאה 200. מדריך האסימונים מוסיף מקרה שלישי: אסימון של System User שלמשתמש שלו אין גישה למשאב המבוקש נדחה עם 200.
כדי להבדיל בין המקרים קוראים את טקסט ההודעה. אסימון חסר מחזיר 'Provide valid app ID'.
במה שגיאה 200 שונה משגיאה 190?
שגיאה 190 אומרת שנשלח אסימון שפג תוקפו. שגיאה 200, במשמעות הראשונה שלה, אומרת שלא נשלח אסימון בכלל.
ההפרדה הזו כתובה ישירות במדריך של Meta: הפתרון ל-200 הוא לוודא שהבקשה כוללת אסימון גישה תקין, וההגדרה מובחנת מ-190, שמכסה אסימונים שפג תוקפם או שאינם תקינים.
זה משנה איפה מחפשים. שגיאה 190 מפנה אתכם לאורך החיים של האסימון ולחידושו. שגיאה 200 עם 'Provide valid app ID' מפנה אתכם לקוד שבונה את הבקשה, כי פרטי הגישה מעולם לא יצאו מהמערכת שלכם.
טעויות נפוצות
- מחפשים בעיה במזהה האפליקציה. ההודעה מזכירה אותו, אבל הסיבה המתועדת של Meta היא בקשה בלי אסימון.
- מחדשים אסימון שמעולם לא נשלח. אסימון חדש שהבקשה עדיין משמיטה יוצר את אותה שגיאה.
- מתייחסים לכל שגיאה 200 כאל אסימון חסר. כשהאסימון קיים, הטווח 200 עד 299 מצביע על הרשאה חסרה.
EasyCoexistence שומרת את פרטי הגישה של כל חיבור שהיא מחברת, ומציגה בלוח הבקרה את מזהה המספר (phone number ID) ואת סטטוס החיבור, כך שאפשר לבדוק בקשה מול ערכים ש-Meta אכן הנפיקה.
שאלות נפוצות
האם שגיאה 200 יכולה להופיע במספר תקין?
כן. היא מתארת את הבקשה ולא את המספר. מספר במצב תקינות מושלם עדיין ידחה קריאה שמגיעה בלי אסימון.
למה נקודת קצה אחת החזירה 200 ואחרת 190?
לפי Meta, כשאסימון חסר, חלק מנקודות הקצה מסוג GET מחזירות 200, ואילו נקודות קצה אחרות עשויות להחזיר 190 או 104.
האם ביטול רישום של מספר דורש הרשאה מיוחדת?
כן. מדריך הרישום של Meta קובע שביטול רישום בלי whatsapp_business_management מחזיר שגיאה 200.
האם שגיאה 200 קשורה לשגיאה 10?
במשמעות של הרשאה, כן. בשתיהן התיאור הוא שהרשאה לא ניתנה או שהוסרה.
המשיכו לקרוא
מוכנים להתחיל?
מגדירים WhatsApp Coexistence בתוך דקות, לא חודשים. האפליקציה ממשיכה לעבוד בטלפון.
התחילו תקופת ניסיון בחינםנבדק ב-