MasterStudy LMS'den ders tamamlayan kullanıcıları AirTable'a otomatik olarak nasıl kaydedebilirsiniz
Bir kullanıcı WordPress sitesinde MasterStudy LMS'den bir dersi tamamladığında, kullanıcı, ders ve kursla ilgili özel verileri AirTable'a gönderin ve belirtilen bir tabloda kayıtlar oluşturun.

Entegrasyonlar
Bir kullanıcı MasterStudy LMS'den bir dersi tamamladığında, AirTable'a özel veriler göndereceğiz ve belirtilen bir tabloda kayıtlar oluşturacağız.
Bu videoda kullanıcı, LMS'deki bir kurstan iki ders tamamlamaktadır. Her ders tamamlandığında, bir Gato GraphQL otomasyonu AirTable'da gerekli verilerle bir kayıt oluşturur:
Tabloda kullanıcıya ait verilerle Name, ProfileURL ve Email sütunları, LMS'den ise Course ve Lesson sütunları bulunmaktadır.

Aşağıdaki GraphQL sorgusunu içeren bir persisted query oluşturun ve ona Export MasterStudy LMS lesson data to AirTable başlığını verin:
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, parametreleri MasterStudy LMS'nin stm_lms_lesson_passed action hook'undan alacak (aşağıya bakın) ve bunlarla ilişkili tüm verileri getirecektir:
- Kullanıcının adı, e-postası ve URL'si
- Dersin başlığı
- Kursun başlığı
Ardından AirTable API'sine bağlanacak ve sağlanan verilerle kayıtları oluşturacaktır.
API'ye bağlanmak için kimlik doğrulaması amacıyla kişisel erişim token'larına ihtiyacımız var. Bu nedenle tablonuz için bir kişisel erişim token'ı oluşturduğunuzdan ve data.records:write kapsamını atadığınızdan emin olun.
Sonraki adımda, tetikleyici olarak MasterStudy'nin stm_lms_lesson_passed action'ını belirterek yeni bir otomasyon oluşturuyoruz.
Bu action hook şu verileri sağlar:
do_action( 'stm_lms_lesson_passed', $user_id, $lesson_id, $course_id );Ayrıca dinamik değişkenler için JSON sözlüğünü de sağlamalıyız; böylece action'ın üç parametresinin tümünü GraphQL sorgusuna değişken olarak aktarırız:
{
"userId": 1,
"lessonId": 2,
"courseId": 3
}
Action için, yeni oluşturulan persisted query olan Export MasterStudy LMS lesson data to AirTable'ı seçiyoruz ve AirTable verilerini içeren statik GraphQL değişkenleri için JSON sözlüğünü sağlıyoruz:
{
"baseId": "{ your baseId }",
"tableName": "{ your tableName }",
"personalAccessToken": "{ your access token }"
}
Son olarak otomasyonu yayımlayın. Artık kullanıcı bir dersi her tamamladığında AirTable tablosu otomatik olarak doldurulacaktır.