Cách tự động đăng ký trên AirTable những người dùng đã hoàn thành bài học từ MasterStudy LMS
Mỗi khi người dùng hoàn thành một bài học từ MasterStudy LMS trên trang WordPress, gửi dữ liệu tùy chỉnh (liên quan đến người dùng, bài học và khóa học) đến AirTable và tạo bản ghi trong một bảng được chỉ định.

Tích hợp
Mỗi khi người dùng hoàn thành một bài học từ MasterStudy LMS, chúng ta sẽ gửi dữ liệu tùy chỉnh đến AirTable và tạo bản ghi trong một bảng được chỉ định.
Trong video này, người dùng hoàn thành hai bài học từ một khóa học trên LMS. Khi mỗi bài học được hoàn thành, một quy trình tự động hóa Gato GraphQL sẽ tạo một bản ghi trong AirTable với dữ liệu cần thiết:
Bảng có các cột Name, ProfileURL và Email với dữ liệu từ người dùng, và Course cùng Lesson từ LMS.

Tạo một persisted query chứa GraphQL query sau và đặt tiêu đề là 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 sẽ nhận các tham số từ action hook stm_lms_lesson_passed của MasterStudy LMS (xem bên dưới), và lấy toàn bộ dữ liệu liên quan:
- Tên, email và URL của người dùng
- Tiêu đề bài học
- Tiêu đề khóa học
Sau đó, nó sẽ kết nối đến AirTable API và tạo các bản ghi với dữ liệu được cung cấp.
Để kết nối đến API, chúng ta cần personal access tokens để xác thực. Vì vậy, hãy đảm bảo tạo personal access token cho bảng của bạn và gán cho nó phạm vi data.records:write.
Tiếp theo, chúng ta tạo một quy trình tự động hóa mới, cung cấp action stm_lms_lesson_passed của MasterStudy làm trigger.
Action hook này cung cấp dữ liệu như sau:
do_action( 'stm_lms_lesson_passed', $user_id, $lesson_id, $course_id );Chúng ta cũng phải cung cấp từ điển JSON cho các biến động, để truyền cả ba tham số từ action làm biến cho GraphQL query:
{
"userId": 1,
"lessonId": 2,
"courseId": 3
}
Đối với action, chúng ta chọn persisted query vừa tạo Export MasterStudy LMS lesson data to AirTable và cung cấp từ điển JSON cho các biến GraphQL tĩnh, với dữ liệu từ AirTable:
{
"baseId": "{ your baseId }",
"tableName": "{ your tableName }",
"personalAccessToken": "{ your access token }"
}
Cuối cùng, hãy xuất bản quy trình tự động hóa. Từ bây giờ, mỗi khi người dùng hoàn thành một bài học, bảng AirTable sẽ được tự động điền dữ liệu.