API לשליחת טופס מקוון באתר gov.il
-
אני לא מאמין שקיים API מסודר,
אבל יכול להיות שקל לשלוח בקשת אינטרנט זהה למה שהטופס שולח בסיום ההגשה,
אם זה לא פשוט ככה אז צריך להשתמש בכלים שמדמים דפדפן.בשביל לזהות מה ואיך הדפדפן שולח לשרת בעת ובפרט בסיום המילוי,
עליך לפתוח את כלי המפתחים, לעבור ללשונית Network - רשת, ושמה לנקות את הבקשות הקודמות על ידי לחיצה על סמל האין כניסה, ולוודא שהסמל העגול שלידו מסומן באדום - כלומר מתעד פעולות רשת.
כעת תמלא את הטופס, ושים לב לבקשות. יש בקשות לא רלוונטיות, כמו רשימת ערים או תמונת כפתור שעלולים להיות תוך כדי, אבל יש בקשות יותר חשובות כמו בקשת טוקן וכדומה שעלולה להתברר כמעניינת.
הרגע הכי חשוב זה רגע שליחת הטופס, שלכאורה רק הוא נצרך. צריך לוודא לפני הלחיצה דבר ראשון שהאפשרות Preverse log מוסמנת שלא יעלם תיועד בעת ניווט מחדש לדף אישור/תודה באם ישנו. צריך לשים לב גם מה השורה האחרונה, כדי שיהיה קל לראות איזה פעילות יצרה הלחיצה.
כעת אתה לוחץ, בד"כ זה יוצר שורה שמייצגת בקשת POST, ובליחצה על השורה בכרטסת Payload (לא יודע איך זה בעברית) יש את המידע שהדפדפן שולח לשרת. בכרטסת Response יופיע תשובת השרת. נקודת המוצא היא שזו השורה היחידה הנדרשת, אז עליך לנסות לחקות אותה עם כלים תכנותיים, כמו fetch בקונסול של הדפדפן או כל דרך אחרת. אם זה עובד מוטב, אם לא צריך לבדוק לאט לאט את הpayload ואת כותרות הבקשה, האם יש בהם מידע שמסגיר עקבות קודמים כמו עוגיות וכדומה, ולפתור בעיה בעיה עד שהכל עובד.
מעקב הכונה שהשרת עלול לדחות בקשות שלא עולות בקנה אחד עם בקשות קודמות, ולעיתים יש אפילו תחכום לוודא שהבקשות היו בסדר/קצב/אופן אנושי, כשזה מגיע לבדיקות ברמה חריפה קשה לדעת את כל זה ולכן עוברים לאוטומציה של דפדפן שאז אתה עם הקוד פשוט מפעיל ברקע דפדפן שמשתדל לעשות כל מה שדפדפן רגיל עושה כמו אירוע מעבר עכבר וכולי. -
@ששא אני לא יודע איך למדוד אם מישהו "מתכנת רגיל" או לא, אבל יש לי נסיון עם אתר שבנוי עם טכנולוגיה דומה (asp), גם אתר ממשלתי, וזה בהחלט מורכב, אני התייאשתי ובסוף עשיתי את הפעולה עם דפדפן שפועל ברקע ואוטומציה.
לא התייאשתי מפני שזה לא אפשרי אלא מפני שלא היה שווה להשקיע בדרך זו כאשר יש דרכים פשוטים יותר, גם באתר המדובר היה הגנה מפני בוטים מה שהוסיף על המורכבות