הקדמה
היה לי הכבוד להרצות בכנס No-Code שנערך עבור קהילת Web Creators, שם דיברתי על API באופן כללי ובפרט על WP REST API. במסגרת ההרצאה שוחחתי על כמה טריקים קטנים שיעזרו לכן.ם לבצע קריאות לאתרים ולהצליח לעשות כל מה שנפשכם חפצה בחיבור אתרי הוורדפרס הוורפרס שלכם לעולם, הן החוצה מן האתר והן פנימה אליו.
אם בא לכם לצפות במצגת שהכנתי – אתם מוזמנים להוריד אותה ממש כאן
מאיפה מתחילים?
ראשית כל – הגדרות
API – Application Programming Interface
ממש כמו שמשתמשים צריכים ממשק משתמש שבו הם יכולים לפעול ולהשתמש באפליקציה, כך גם אוטומציות זקוקות לממשק. כאשר אנו מבצעים קריאה לעמוד אינטרנט, הוא מחזיר אל הדפדפן שלנו את העמוד בצורה גרפית (ויזואלית), בממשק משתמש (UI – User Interface). כאשר שרת / אפליקציה / אוטומציה מבצעת את הקריאה הזאת – הוא מחזיר לנו את אותו העמוד בדיוק, רק בצורה ‘נתונית’ (דאטה), בממשק תוכנתי (API – Application Programming Interface).
REST – Representational State Transfer
בכל פעם שאנחנו מבקרים באפליקציה, אנחנו מקבלים ייצוג מסוים של מצב הנתונים הנוכחי בה. כאמור – המידע ישוקף אלינו בממשק שבו ניגשנו – יכול להיות ויזואלי / גראפי (UI) במקרה של דפדפן אינטרנט או נתוני (API) במקרה של אוטומציה או אפליקציה שניגשת למידע… במקרה של וורדפרס ושל REST API, אנו למעשה יכולים לקבל ייצוג נתוני של המידע העדכני באתר, מבלי לעבור בממשק המשתמש של האתר.
CRUD – Create, Read, Update, Delete
כפי שהסברתי בכנס וכפי שניתן לראות במצגת – יש אך ורק 4 פעולות שאנו מבצעים באמצעות API – יצירה, קריאה, עדכון ומחיקה. ברמה הפרקטית אנחנו עושים אותן באמצעות קריאות HTTP מסוג POST, GET, PUT, DELETE בהתאמה. קריאה מסוג GET נועדה לקרוא נתונים מהממשק, קריאה מסוג POST נועדה בד’כ ליצור נתונים חדשים בממשק. קריאה מסוג PUT נועדה לעדכון וקריאה מסוג DELETE נועדה למחיקה. יש לציין שבשביל להבין איזה קריאה אנחנו עושים מתי – אנחנו צריכים לגשת לדוקומנטציה של ה-API. בפוסט הנוכחי אתמקד ב-API של וורדפרד ובזה של ווקומרס, וניתן למצוא את הדוקומנטציות שלהם כאן (וורדפרס) וכאן (ווקומרס).
שניגש לעבודה?
בכנס הדגמתי תהליך מאוד פשוט של משיכת פרטים מאתרי וורדפרס לאפליקציה חיצונית (Airtable) ועדכון נתון באפליקציה החיצונית חזרה לאתר הוורדפרס שלנו. אדגיש כבר מעכשיו – כל קריאה שמשנה פרטים באתר או מבקשת מידע על פרטים רגישים באתר דורשת אותנטיקציה. זה אומר מצד אחד שלא הכל כ’כ קל עבורנו (את זה אנחנו הולכים לפתור כאן ועכשיו, אל דאגה…) אבל מצד שני שלא הכל כ’כ קל עבור אחרים – וטוב שכך – מטעמי אבטחה, כמובן.
עוד דגש חשוב – אני הולך להשתמש בהרבה אפליקציות לשם הדגמת התהליך, ביניהן: וורדפרס (אפליקציה לכל דבר), איירטייבל, אינטגרומט, זאפייר ואפילו סמוב בקטנה ורק לשם ההדגמה. אז איך מחברים הכל להכל באמצעות אוטומציה חכמה?!
קריאת כל הפוסטים / פוסט יחיד מהאתר
נתחיל מהפשוט ביותר, קריאת פוסטים מאתר וורדפרס – כל אחד יכול, ליטרלי!
הנה הקריאה שאתם צריכים לעשות, לפי הדוקומנטציה של וורדפרס:
וכאן אתם יכולים להוריד סנריו של אינטגרומט / מייק ולעשות לו Import כדי לנסות בעצמכם…