שגיאות בפורמט בקשות API גרסה 2 של NiceNIC: נקודת קצה, כותרות, JSON, ופרמטרים
אם בקשת API בגרסה 2 של NiceNIC משווק מגיעה ל-API אך לא פועלת כמצופה, הבעיה עשויה שלא להיות באימות. ייתכן שמדובר בבעיה בפורמט הבקשה. מדריך זה מסייע לספקי דומיינים, ספקי אירוח, מפתחים, סוכנויות ומשתמשי WHMCS לאתר תקלות נפוצות בפורמט בקשות API גרסה 2 של NiceNIC, כולל שגיאות בנקודת קצה, כותרות חסרות, Content-סוג שגוי, JSON לא חוקי, פרמטרים חסרים, פורמט דומיין לא תקין, דרישות ספציפיות ל-TLD, ובעיות בהגדרות מודול WHMCS.
שגיאות בפורמט בקשות API גרסה 2 של NiceNIC בדרך כלל נגרמות מנקודת קצה שגויה, כותרות חסרות או שגויות, Content-סוג שגוי, JSON לא תקין, פרמטרים נדרשים חסרים, פורמט דומיין לא תקין, חוסר התאמה בין פעולת API לפרמטרים, דרישות רשומות ספציפיות ל-TLD, או הגדרות מודול WHMCS שאינן תואמות את בקשת ה-API.
התחל באישור נקודת הקצה של ה-API, הכותרות הנדרשות, פורמט ה-JSON, הפרמטרים הנדרשים והפעולה המדויקת של ה-API שאתה משתמש בה. אם אתה משתמש ב-WHMCS, בדוק גם את הגדרות מודול WHMCS, פרטי הכניסה ל-API, מצב בדיקה, סביבת PHP/cURL והגדרות השרת לשליחה יוצאת.
מה המשמעות הרגילה של סוג שגיאת API זה בעיה בפורמט הבקשה אומרת שבקשת ה-API שלך עשויה להגיע לנקודת הקצה של NiceNIC API, אך לא ניתן לעבד את הבקשה כהלכה מכיוון שמשהו במבנה הבקשה, הכותרות, הגוף, הפרמטרים, נתוני הדומיין או הגדרות המודול אינו תקין עבור הפעולה שאתה מנסה לבצע.
סוג בעיה זה שונה משגיאת אימות טהורה. שגיאות אימות לרוב קשורות לסיסמת API, כותרת Authאוization, גישת המשווק או הגדרות רשימת IP מורשית. שגיאות בפורמט הבקשה לרוב קשורות לאופן בניית הבקשה לאחר שהגישה כבר מוגדרת.
גורמים נפוצים לשגיאות פורמט בקשה כוללים:
נקודת הקצה של ה-API אינה נכונה.
כותרות דרושות חסרות או שגויות.
Content-סוג אינו מוגדר ל-application/json.
גוף הבקשה אינו JSON תקין.
פרמטרים דרושים חסרים.
פורמט שם הדומיין אינו תקין.
פעולת ה-API והפרמטרים אינם תואמים.
ל-TLD יש דרישות רישום מיוחדות.
מאזן החשבון, סטטוס הדומיין או כלל הרישום מונעים את הפעולה המבוקשת.
הגדרות מודול WHMCS אינן תואמות את בקשת ה-API.
גורם 1: נקודת הקצה של ה-API שגויה בקשות API גרסה 2 של NiceNIC יש לשלוח לנקודת קצה מתועדת של API גרסה 2: https://api.NiceNIC/v2/ אם הקוד שלך משתמש בנקודת קצה ישנה, נקודת קצה עם שגיאת כתיב, פרוטוקול שגוי, נתיב חסר או בגרסת API שונה, הבקשה עשויה להיכשל לפני שהפעולה המתוכננת מבוצעת. כיצד לתקן זאת
גורם 2: כותרות דרושות חסרות או שגויות בקשות API גרסה 2 של NiceNIC דורשות כותרות HTTP נכונות. אם כותרת Authאוization, כותרת Host או כותרת Content-סוג חסרות, שונו או נחסמו, הבקשה עשויה להיכשל. פורמט הכותרת המתועד הוא: Host: api.NiceNIC Authאוization: username:api_secret Content-סוג: application/json
כיצד לתקן זאת
וידא שהבקשה שלך כוללת את כותרת Authאוization.
וידא שערך Authאוization עומד בפורמט המתועד username:api_secret.
וידא שסוד ה-API הוא סיסמת ה-API שלך, ולא סיסמת הכניסה לחשבון NiceNIC שלך.
בדוק כי Content-סוג הוא בדיוק application/json.
וידא שלקוח HTTP שלך, framewאוk, proxy, חומת אש או מודול WHMCS אינם מסירים או משנים כותרות.
הסר רווחים מיותרים, שברי שורות או תווים מוסתרים מערכי הכותרות.
גורם 3: Content-סוג אינו application/json NiceNIC API גרסה 2 מצפה לפורמט בקשה JSON. אם הקוד שלך שולח נתונים כ-fאוm-data, text/plain, x-www-fאוm-urlencoded או פורמט אחר, ה-API עלול לא לקרוא את הבקשה כראוי. כיצד לתקן זאת
הגדר Content-סוג כ-application/json.
וידא שלקוח HTTP שלך אכן שולח JSON, ולא רק מציין שהבקשה היא JSON.
בדוק אם גוף הבקשה מומר על ידי ה-framewאוk שלך לפני השליחה.
אם אתה משתמש ב-PHP, וודא שגוף ה-JSON מקודד כראוי לפני שליחת הבקשה.
אם אתה משתמש ב-WHMCS, וודא שהגדרות המודול תואמות לדרישות האינטגרציה הנתמכות של NiceNIC.
גורם 4: גוף הבקשה אינו JSON תקין בקשה יכולה להיכשל אם הגוף אינו JSON תקין. זה קורה לעיתים קרובות כאשר הקוד בונה את גוף הבקשה ידנית במקום להשתמש בקודק JSON. בעיות נפוצות ב-JSON כוללות:
סימני גרש חסרים
פסיקים עודפים
קיפול לא נכון של עצמים או מערכים
תווים לא מוצנעים
תווי UTF-8 לא תקינים
שליחת גוף ריק לפעולה שדורשת פרמטרים
כיצד לתקן זאת
אמת את גוף ה-JSON לפני שליחת הבקשה.
השתמש בקודק JSON של שפת התכנות שלך במקום לבנות מחרוזות JSON באופן ידני.
וידא שקידוד התווים הוא UTF-8.
רשם את גוף הבקשה במהלך בדיקות, אך הסר ערכים רגישים לפני שיתוף היומנים.
נסה פעולה פשוטה עם סיכון נמוך לפני בדיקות של פעולות דומיין בתשלום.
גורם 5: פרמטרים דרושים חסרים פעולות API שונות דורשות פרמטרים שונים. בקשה שעובדת עבור פעולה מסוימת לא תמיד ניתנת לשימוש מחדש לפעולה אחרת. לדוגמה, בדיקת זמינות דומיין, רישום דומיין, חידוש דומיין, העברת דומיין, עדכון שרתי שם, עדכון אנשי קשר, ניהול רשומות DNS, ובדיקת יתרת חשבון עשויים להזדקק לכל שדות שונים. כיצד לתקן זאת
פתח את המדור המדויק בתיעוד ה-API עבור הפעולה שבה אתה משתמש.
השווה את גוף הבקשה שלך עם הפרמטרים הנדרשים.
אל תניח שרישום, חידוש, העברה ועדכוני DNS משתמשים באותו קבוצת פרמטרים.
וידא האם ה-TLD דורש שדות נוספים או מאפיינים מורחבים.
וידא האם הפעולה דורשת מידע על איש קשר, שרתי שם, קוד אימות, שנה, נתוני DNS או שדות ספציפיים אחרים לפעולה.
גורם 6: פורמט הדומיין אינו תקין רבות מבקשות API לדומיין דורשות את שם הדומיין בלבד, לא כתובת URL מלאה. דוגמאות לא תקינות עשויות לכלול:
נרמל את הטיפול באותיות גדולות וקטנות באפליקציה שלך.
אמת את פורמט הדומיין לפני שליחת בקשת ה-API.
עבור IDNs או תווים מיוחדים, וודא כיצד יש לקודד את הדומיין לפני השליחה.
גורם 7: פעולת ה-API והפרמטרים אינם תואמים פעולת API חייבת להתאים לפרמטרים הנשלחים. אם תקרא לפעולה אחת אך תשלח פרמטרים המיועדים לפעולה אחרת, הבקשה עשויה להיכשל או להחזיר תגובה לא צפויה. דוגמאות ללוגיקה לא תואמת בבקשות כוללות:
שליחת פרמטרים לרישום לפעולת בדיקת זמינות דומיין
שליחת פרמטרים להעברה ללא קוד אישור העברה נדרש כאשר זה הכרחי
שליחת שדות רשומות DNS לפעולת עדכון שרת שם
שליחת שדות עדכון איש קשר לפעולת חידוש
שימוש בפעולת מודול WHMCS שאינה תואמת את הפעולה הנבדקת
כיצד לתקן זאת
בדוק את שם הפעולה או את נתיב ה-API בשימוש.
סקור את המדור המדויק בתיעוד עבור אותה פעולה.
השווה פרמטרים דרושים עם גוף הבקשה.
בדוק פעולה אחת בכל פעם.
אל תשלב לוגיקה של בדיקת זמינות, רישום, עדכון DNS וחידוש לתבנית בקשה בלתי נבדקה אחת.
גורם 8: ל-TLD דרישות רישום מיוחדות לחלק מתוספי הדומיין יש כללי רישום מיוחדים. בקשת API תקינה טכנית עדיין עשויה להיכשל אם הרישום דורש מידע נוסף, שדות איש קשר מיוחדים, מסמכים, נוכחות מקומית או ביקורת ידנית. זה חשוב במיוחד עבור סיומות מדינה (ccTLD), TLDs מוגבלים ותוספים עם כללי רישום או חידוש מיוחדים. כיצד לתקן זאת
בדוק האם לתוסף הדומיין יש דרישות רישום מיוחדות.
וידא אם דרושה נוכחות מקומית, מסמכים, מאפיינים מורחבים או נתוני איש קשר מיוחדים.
בדוק האם פעולת הדומיין נתמכת עבור אותו TLD באוטומציה.
אל תניח שכל TLD מתנהג כמו .com.
אם תגובת ה-API מציינת בעיה שקשורה לרישום או לתוסף, סקור את כלל ה-TLD לפני ניסיון מחודש רב.
גורם 9: הגדרות מודול WHMCS אינן תואמות את בקשת ה-API אם אתה משתמש ב-WHMCS, ייתכן שהבקשה נוצרת על ידי מודול WHMCS במקום על ידי הקוד המותאם שלך. במקרה כזה, הבעיה עשויה להיות בהגדרות המודול, פרטי הכניסה ל-API, מצב בדיקה, תמיכה ב-PHP/cURL, תמיכה ב-SSL/TLS או בסביבת השרת של WHMCS.
נושאים נפוצים הקשורים ל-WHMCS כוללים:
למודול WHMCS יש פרטי API שגויים.
סיסמת ה-API שונתה ב-NiceNIC אך לא עודכנה ב-WHMCS.
מצב בדיקה מופעל או מושבת בצורה שגויה.
שרת WHMCS אינו עומד בדרישות PHP או cURL הדרושות.
WHMCS שולח בקשות משרת שונה מהמצופה.
מחירי דומיין או הגדרות TLD ב-WHMCS אינם תואמים את פעולת הדומיין.
אוטומציה ב-WHMCS מריצה פעולת חידוש, העברה או רישום עם נתוני לקוח חסרים.
כיצד לתקן זאת
פתח את הגדרות מודול הרשם של NiceNIC ב-WHMCS.
וידא את שם המשתמש והסוד של ה-API.
בדוק אם מצב בדיקה מופעל רק כאשר אתה מתכוון לבדוק.
וידא ששרת WHMCS תומך בסביבת PHP ו-cURL הדרושה.
וידא שיש תמיכה ב-SSL/TLS לתקשורת API מאובטחת.
בדוק זמינות דומיין לפני הפעלת תהליכי רישום, חידוש או העברה במצב חי.
סקור את יומני מודול WHMCS ותגובות ה-API של NiceNIC יחד.
מה NiceNIC יכול ומה הוא לא יכול לעשות NiceNIC יכול לסייע בסקירת גישת API מצד הרשם, תיעוד API, סטטוס חשבון המשווק, הגדרות API, שימוש בנקודת קצה ופרטי תגובות API הקשורים ל-NiceNIC Reseller API גרסה 2. עם זאת, חלק מהבעיות עשויות להיות תלויות ביישום שלך, גרסת WHMCS, הגדרות מודול, סביבת PHP/cURL, חומת אש, proxy, כתובת IP יוצאת של השרת, יצירת JSON, פרמטרי בקשה, סטטוס דומיין, חוקי TLD, מדיניות הרשום או איכות נתוני הלקוח. לכן, האינטגרציה שלך תמיד צריכה לשמור על תגובת ה-API ולספק מספיק הקשר לבקשה לצורך איתור תקלות. הודעה כמו "ה-API לא עובד" בדרך כלל אינה מספיקה כדי לזהות אם הבעיה היא אימות, פורמט בקשה, חוקי רישום, הגדרות WHMCS או סביבת שרת.
שאלות נפוצות מדוע בקשת הדומיין שלי נכשלת אפילו שה-JSON תקין? הפעולה עדיין עשויה להיכשל אם פרמטרים נדרשים חסרים, פורמט הדומיין לא תקין, יתרת החשבון אינה מספקת, סטטוס הדומיין אינו מאפשר את הפעולה המבוקשת, או שיש דרישות רישום מיוחדות ל-TLD.
האם אני יכול לשלוח כתובת URL שלמה במקום שם דומיין? לפעולות דומיין, עליך בדרך כלל לשלוח את שם הדומיין עצמו, כמו example.com, ולא URL מלא כמו https://example.com/page.
מדוע WHMCS נכשל אף שהבדיקה המותאמת אישית שלי ל-API עובדת? יתכן של-WHMCS יש הגדרות מודול שונות, מצב בדיקה, סביבת שרת, הגדרות PHP/cURL, כתובת IP יוצאת או פרטי API מאוחסנים. בדוק בנפרד את הגדרות מודול הרשם של WHMCS ויומני הרישום.
מה כדאי לבדוק תחילה לאחר תיקון פורמט הבקשה? התחל עם פעולה בעלת סיכון נמוך כמו בדיקת זמינות דומיין, בדיקת יתרת חשבון, בדיקת מחירים או קבלת רשימת דומיינים לפני הפעלת תהליכי רישום, חידוש, העברה או עדכון DNS במצב חי.
בנה אינטגרציה נקייה יותר עם NiceNIC לאחר שנקודת הקצה, הכותרות, Content-סוג, גוף JSON, פרמטרים נדרשים, פורמט דומיין, חוקי TLD והגדרות WHMCS נכונים, תוכל להמשיך ולבנות תהליך משווק אמין יותר עם NiceNIC Reseller API גרסה 2.