Cara mendaftarkan secara otomatis pengguna yang telah menyelesaikan pelajaran dari MasterStudy LMS ke AirTable
Setiap kali pengguna menyelesaikan pelajaran dari MasterStudy LMS di situs WordPress, kirim data kustom (mengenai pengguna, pelajaran, dan kursus) ke AirTable dan buat record pada tabel yang ditentukan.

Integrasi
Setiap kali pengguna menyelesaikan pelajaran dari MasterStudy LMS, kami akan mengirim data kustom ke AirTable dan membuat record pada tabel yang ditentukan.
Dalam video ini, pengguna menyelesaikan dua pelajaran dari sebuah kursus di LMS. Ketika setiap pelajaran selesai, otomatisasi Gato GraphQL akan membuat record di AirTable dengan data yang diperlukan:
Tabel memiliki kolom Name, ProfileURL, dan Email dengan data dari pengguna, serta Course dan Lesson dari LMS.

Buat persisted query yang berisi GraphQL query berikut, dan beri judul 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 akan menerima parameter dari action hook stm_lms_lesson_passed milik MasterStudy LMS (lihat di bawah), dan mengambil semua data yang terkait:
- Nama, email, dan URL pengguna
- Judul pelajaran
- Judul kursus
Kemudian, ia akan terhubung ke AirTable API dan membuat record dengan data yang diberikan.
Untuk terhubung ke API, kita membutuhkan personal access token untuk autentikasi. Pastikan untuk membuat personal access token untuk tabel Anda, dan tetapkan scope data.records:write.
Selanjutnya, kita membuat otomatisasi baru, dengan menyediakan action stm_lms_lesson_passed dari MasterStudy sebagai pemicu.
Action hook ini menyediakan data berikut:
do_action( 'stm_lms_lesson_passed', $user_id, $lesson_id, $course_id );Kita juga harus menyediakan kamus JSON untuk variabel dinamis, guna meneruskan ketiga parameter dari action sebagai variabel ke GraphQL query:
{
"userId": 1,
"lessonId": 2,
"courseId": 3
}
Untuk action, kita pilih persisted query yang baru dibuat Export MasterStudy LMS lesson data to AirTable, dan sediakan kamus JSON untuk variabel GraphQL statis, dengan data dari AirTable:
{
"baseId": "{ your baseId }",
"tableName": "{ your tableName }",
"personalAccessToken": "{ your access token }"
}
Terakhir, publikasikan otomatisasi tersebut. Mulai sekarang, setiap kali pengguna menyelesaikan pelajaran, tabel AirTable akan terisi secara otomatis.