Jak automatycznie rejestrować w AirTable użytkowników, którzy ukończyli lekcję z MasterStudy LMS
Za każdym razem, gdy użytkownik ukończy lekcję z MasterStudy LMS w witrynie WordPress, wyślij niestandardowe dane (dotyczące użytkownika, lekcji i kursu) do AirTable i utwórz rekordy w określonej tabeli.

Integracje
Za każdym razem, gdy użytkownik ukończy lekcję z MasterStudy LMS, wyślemy niestandardowe dane do AirTable i utworzymy rekordy w określonej tabeli.
W tym filmie użytkownik ukańcza dwie lekcje z kursu w LMS. Po ukończeniu każdej lekcji automatyzacja Gato GraphQL tworzy rekord w AirTable z wymaganymi danymi:
Tabela zawiera kolumny Name, ProfileURL i Email z danymi użytkownika oraz Course i Lesson z LMS.

Utwórz utrwalone query zawierające poniższe query GraphQL i nadaj mu tytuł 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
}
}
]
}
}
})
}Utrwalone query otrzyma parametry z action hook stm_lms_lesson_passed MasterStudy LMS (patrz poniżej) i pobierze wszystkie powiązane z nimi dane:
- Imię, adres e-mail i URL użytkownika
- Tytuł lekcji
- Tytuł kursu
Następnie połączy się z API AirTable i utworzy rekordy z dostarczonymi danymi.
Aby połączyć się z API, potrzebujemy osobistych tokenów dostępu do uwierzytelnienia. Upewnij się, że tworzysz osobisty token dostępu dla swojej tabeli i przypisujesz mu zakres data.records:write.
Następnie tworzymy nową automatyzację, podając action stm_lms_lesson_passed MasterStudy jako trigger.
Ten action hook dostarcza następujące dane:
do_action( 'stm_lms_lesson_passed', $user_id, $lesson_id, $course_id );Musimy również dostarczyć słownik JSON dla zmiennych dynamicznych, aby przekazać wszystkie trzy parametry z action jako zmienne do query GraphQL:
{
"userId": 1,
"lessonId": 2,
"courseId": 3
}
Dla action wybieramy nowo utworzone utrwalone query Export MasterStudy LMS lesson data to AirTable i dostarczamy słownik JSON dla statycznych zmiennych GraphQL z danymi z AirTable:
{
"baseId": "{ your baseId }",
"tableName": "{ your tableName }",
"personalAccessToken": "{ your access token }"
}
Na koniec opublikuj automatyzację. Od tej pory za każdym razem, gdy użytkownik ukończy lekcję, tabela w AirTable będzie automatycznie wypełniana.