Come registrare automaticamente su AirTable gli utenti che hanno completato una lezione di MasterStudy LMS
Ogni volta che un utente completa una lezione di MasterStudy LMS sul sito WordPress, invia dati personalizzati (riguardanti l'utente, la lezione e il corso) ad AirTable e crea record in una tabella specificata.

Integrazioni
Ogni volta che un utente completa una lezione di MasterStudy LMS, invieremo dati personalizzati ad AirTable e creeremo record in una tabella specificata.
In questo video, l'utente completa due lezioni di un corso dell'LMS. Quando ogni lezione viene completata, un'automazione Gato GraphQL crea un record in AirTable con i dati richiesti:
La tabella ha le colonne Name, ProfileURL ed Email con i dati dell'utente, e Course e Lesson dall'LMS.

Crea una query persistente contenente la seguente query GraphQL, e assegnale il titolo 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
}
}
]
}
}
})
}La query persistente riceverà i parametri dall'action hook stm_lms_lesson_passed di MasterStudy LMS (vedi sotto), e recupererà tutti i dati ad essi associati:
- Il nome, l'email e l'URL dell'utente
- Il titolo della lezione
- Il titolo del corso
Successivamente si connetterà all'API di AirTable e creerà i record con i dati forniti.
Per connetterci all'API abbiamo bisogno di token di accesso personale per l'autenticazione. Assicurati quindi di creare un token di accesso personale per la tua tabella e di assegnargli lo scope data.records:write.
Successivamente, creiamo una nuova automazione, indicando l'action stm_lms_lesson_passed di MasterStudy come trigger.
Questo action hook fornisce i seguenti dati:
do_action( 'stm_lms_lesson_passed', $user_id, $lesson_id, $course_id );Dobbiamo inoltre fornire il dizionario JSON per le variabili dinamiche, in modo da passare tutti e tre i parametri dell'action come variabili alla query GraphQL:
{
"userId": 1,
"lessonId": 2,
"courseId": 3
}
Per l'action, selezioniamo la query persistente appena creata Export MasterStudy LMS lesson data to AirTable, e forniamo il dizionario JSON per le variabili GraphQL statiche, con i dati di AirTable:
{
"baseId": "{ your baseId }",
"tableName": "{ your tableName }",
"personalAccessToken": "{ your access token }"
}
Infine pubblica l'automazione. D'ora in poi, ogni volta che l'utente completa una lezione, la tabella AirTable verrà popolata automaticamente.