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

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

Buat persisted query yang berisi GraphQL query berikut, dan beri judul Export MasterStudy LMS course data to AirTable:
query IsCourseFinished(
$courseProgress: Int!
) {
isCourseFinished: _equals(value1: $courseProgress, value2: 100)
@export(as: "isCourseFinished")
}
query ExportUserData(
$courseId: ID!
$userId: ID!
)
@depends(on: "IsCourseFinished")
@include(if: $isCourseFinished)
{
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")
}
}
query CreateRecordInAirTable(
$baseId: String!
$tableName: String!
$personalAccessToken: String!
)
@depends(on: "ExportUserData")
@include(if: $isCourseFinished)
{
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
}
}
]
}
}
})
}Perhatikan bagaimana query IsCourseFinished memeriksa apakah kemajuan kursus adalah 100 (yaitu kursus telah selesai), dan hanya kemudian menjalankan sinkronisasi data ke AirTable.
Persisted query akan menerima parameter dari action hook stm_lms_progress_updated milik MasterStudy LMS (lihat di bawah), dan mengambil data berikut:
- Nama, email, dan URL pengguna
- Judul kursus
Selanjutnya akan terhubung ke AirTable API, dan membuat catatan dengan data yang diberikan.
Untuk terhubung ke API, kami memerlukan personal access tokens untuk autentikasi. Pastikan untuk membuat personal access token untuk tabel Anda, dan tetapkan scope data.records:write.
Selanjutnya, kami membuat otomatisasi baru, dengan menyediakan action stm_lms_progress_updated dari MasterStudy sebagai pemicu.
Action hook ini menyediakan data berikut:
do_action( 'stm_lms_progress_updated', $course_id, $user_id, $progress );Kami juga harus menyediakan kamus JSON untuk variabel dinamis, untuk meneruskan ketiga parameter dari action sebagai variabel ke GraphQL query:
{
"courseId": 1,
"userId": 2,
"courseProgress": 3
}
Untuk action, kami memilih persisted query yang baru dibuat Export MasterStudy LMS course data to AirTable, dan menyediakan kamus JSON untuk variabel GraphQL statis, dengan data dari AirTable:
{
"baseId": "{ your baseId }",
"tableName": "{ your tableName }",
"personalAccessToken": "{ your access token }"
}
Terakhir, publikasikan otomatisasi. Mulai sekarang, setiap kali pengguna menyelesaikan kursus, tabel AirTable akan terisi secara otomatis, seperti yang terlihat dalam video di atas:
