วิธีลงทะเบียนผู้ใช้ที่เรียนจบบทเรียนจาก MasterStudy LMS ใน AirTable โดยอัตโนมัติ
เมื่อผู้ใช้เรียนจบบทเรียนจาก MasterStudy LMS บนเว็บไซต์ WordPress ระบบจะส่งข้อมูลที่กำหนดเอง (เกี่ยวกับผู้ใช้ บทเรียน และหลักสูตร) ไปยัง AirTable และสร้างระเบียนในตารางที่ระบุ

การรวม
ทุกครั้งที่ผู้ใช้เรียนจบบทเรียนจาก MasterStudy LMS ระบบจะส่งข้อมูลที่กำหนดเองไปยัง AirTable และสร้างระเบียนในตารางที่ระบุ
ในวิดีโอนี้ ผู้ใช้เรียนจบสองบทเรียนจากหลักสูตรใน LMS เมื่อแต่ละบทเรียนเสร็จสิ้น ระบบอัตโนมัติของ Gato GraphQL จะสร้างระเบียนใน AirTable พร้อมข้อมูลที่จำเป็น:
ตารางมีคอลัมน์ Name, ProfileURL และ Email สำหรับข้อมูลผู้ใช้ และ Course กับ Lesson สำหรับข้อมูลจาก LMS

สร้าง persisted query ที่มี GraphQL query ต่อไปนี้ และตั้งชื่อเป็น Export MasterStudy LMS lesson data to AirTable:
query ExportUserData(
$userId: ID!
$lessonId: ID!
$courseId: ID!
) {
user(by: { id: $userId }) {
displayName
@export(as: "userDisplayName")
email
@export(as: "userEmail")
url
@export(as: "userURL")
}
course: customPost(by: {id: $courseId}, customPostTypes:["stm-courses"]) {
title
@export(as: "courseTitle")
}
lesson: customPost(by: {id: $lessonId}, customPostTypes:["stm-lessons"]) {
title
@export(as: "lessonTitle")
}
}
query CreateRecordInAirTable(
$baseId: String!
$tableName: String!
$personalAccessToken: String!
)
@depends(on: "ExportUserData")
{
url: _sprintf(
string: "https://api.airtable.com/v0/%s/%s",
values: [$baseId, $tableName]
)
bearerToken: _sprintf(
string: "Bearer %s",
values: [$personalAccessToken]
)
@remove
response: _sendJSONObjectItemHTTPRequest(input: {
url: $__url,
method: POST,
options: {
headers: [
{
name: "Authorization",
value: $__bearerToken
}
]
json: {
records: [
{
fields: {
Name: $userDisplayName,
ProfileURL: $userURL,
Email: $userEmail,
Course: $courseTitle,
Lesson: $lessonTitle
}
}
]
}
}
})
}persisted query จะรับพารามิเตอร์จาก action hook stm_lms_lesson_passed ของ MasterStudy LMS (ดูด้านล่าง) และดึงข้อมูลที่เกี่ยวข้องทั้งหมด:
- ชื่อ อีเมล และ URL ของผู้ใช้
- ชื่อบทเรียน
- ชื่อหลักสูตร
จากนั้นระบบจะเชื่อมต่อกับ AirTable API และสร้างระเบียนด้วยข้อมูลที่ได้รับ
ในการเชื่อมต่อกับ API เราต้องใช้ personal access tokens สำหรับการยืนยันตัวตน ดังนั้นให้สร้าง personal access token สำหรับตารางของคุณ และกำหนดขอบเขต data.records:write
ต่อมา สร้าง automation ใหม่ โดยกำหนด action stm_lms_lesson_passed ของ MasterStudy เป็น trigger
action hook นี้ให้ข้อมูลดังต่อไปนี้:
do_action( 'stm_lms_lesson_passed', $user_id, $lesson_id, $course_id );เราต้องระบุ JSON dictionary สำหรับตัวแปรแบบ dynamic ด้วย เพื่อส่งพารามิเตอร์ทั้งสามจาก action เป็นตัวแปรให้กับ GraphQL query:
{
"userId": 1,
"lessonId": 2,
"courseId": 3
}
สำหรับ action ให้เลือก persisted query ที่สร้างใหม่ Export MasterStudy LMS lesson data to AirTable และระบุ JSON dictionary สำหรับตัวแปร GraphQL แบบ static พร้อมข้อมูลจาก AirTable:
{
"baseId": "{ your baseId }",
"tableName": "{ your tableName }",
"personalAccessToken": "{ your access token }"
}
สุดท้ายให้เผยแพร่ automation นับจากนี้ไป ทุกครั้งที่ผู้ใช้เรียนจบบทเรียน ตารางใน AirTable จะถูกอัปเดตโดยอัตโนมัติ