Airmeet Webhooks

Modified on Mon, 08 Apr 2024 at 03:42 PM



TABLE OF CONTENTS


API endpoints: 


Default region (Mumbai): https://api-gateway.airmeet.com/prod

EU region: https://api-gateway-prod.eu.airmeet.com/prod

US region: https://api-gateway-prod.us.airmeet.com/prod


Community dashboard: https://www.airmeet.com/ (use this to get a key pair issued).


1. Why should I use Webhooks?

 

Webhooks provide an easy way for Airmeet to send real-time data to an application of your choice. You can use these to integrate with your workflows to automate campaigns and alerts.

 

Airmeet has webhooks for the following use cases - 

 

Available Triggers

Trigger Description

Trigger Id (TriggerMetaInfoId)

New Airmeet Created

Triggered when a new Airmeet is created for a community

trigger.airmeet.created

Airmeet Started

Triggered when the Airmeet is scheduled to start

trigger.airmeet.started

Airmeet Finished

Triggered when the Airmeet is scheduled to finish. This does not end the event, but the organizer can use this as a reminder to end the event.

trigger.airmeet.finished

Event Start Reminder

Triggered 4 hours before an Airmeet is scheduled to start

trigger.airmeet.reminder

New Registration Added

Triggered when a new registration is completed for any Airmeet in your community

trigger.airmeet.attendee.added


New Registration Added for a specific event

Triggered when a new registration is completed for a specific Airmeet event in your community


trigger.airmeet.registrant.added


See Note 1 below


Attendee Joined an Airmeet

When an attendee joins an Airmeet. All data for this trigger is sent post-event completion

trigger.airmeet.attendee.joined


See Note 1 below 

Attendee Joined a Session on Airmeet

When an attendee joins a Session on Airmeet. All data for this trigger is sent post-session completion

trigger.session.attendee.joined


See Note 1 below 

Attendee Answered a Poll on Airmeet

When an attendee answers a Poll on Airmeet. All data for this trigger is sent post-event completion

trigger.airmeet.polls


See Note 1 below 


Attendee Asked a Question
When an attendee asks a Question on Airmeet. All data for this trigger is sent post-event completion

trigger.airmeet.questions


See Note 1 below


Attendee Visited a Booth
When an attendee visits a Booth on Airmeet. All data for this trigger is sent post-event completion

trigger.attendee.booth.joined

See Note 1 below


Registration UTM for a specific eventTriggered when a new registration is added with UTM. UTM Source, UTM Medium and UTM Campaign details are shared.
trigger.airmeet.attendee.utms

See Note 1 below 

Attendee Clicked a CTA
Triggered when an attendee clicks a CTA

trigger.attendee.clicked_cta

See Note 1 below 


Attendee Entered Airmeet
Triggered when an attendee enters the event

trigger.attendee.entered_airmeet

See Note 1 below 


Attendee Engagement Score
Triggered post event. Attendee engagement score details are shared.

trigger.attendee.engagement_score 

See Note 1 below 


Attendee Leaderboard Score
Triggered post winner announcement. Attendee leaderboard score details are shared.

trigger.leaderboard.scoreboard 

See Note 1 below 


Attendee Joined the Stage


Triggered when an attendee joins the Stage

trigger.attendee.joined_stage 

See Note 1 below 


Attendee Viewed or Downloaded a Resource
Triggered when an attendee views or downloads a Resource

trigger.attendee.opened_resource 

See Note 1 below 


Attendee Joined a Booth
Triggered when an attendee joins a Booth

trigger.attendee.joined_booth 

See Note 1 below 


Attendee joined a Table
Triggered when an attendee joins a Table

trigger.attendee.joined_table

See Note 1 below 


Attendee Viewed a Session Replay
Triggered first when an attendee starts watching a Session Replay, and again when they have completed watching 90% of the replay content.

trigger.attendee.ondemand_session_attendance

See Note 1 below 


Attendee Joined a Session
Triggered when an attendee joins a Session

trigger.attendee.joined_session

See Note 1 below 




2. How to Register a webhook with Airmeet / How to subscribe to a Trigger?

 

Use this endpoint to register a webhook


Request Endpoint/platform-integration/v1/webhook-register

Request Method: POST

Request Headers:

  1. Content-Type: application/json

  2. Accept: application/json

  3. x-access-key

  4. x-secret-key

Request Payload:

{

 

   "name": "Trigger Label",                // String Type

 

   "description": "Trigger Description",   // String Type

 

   "triggerMetaInfoId": "Trigger Id",      // String Type

 

   "url": "Webhook Url"                    // String Type



   "platformName": "Company Name"         // String Type

}

Field

Description

Model

Required

name

Name for your webhook

string

Yes

description

Description for your webhook

string

No

triggerMetaInfoId

The trigger type

string 

Select from one of the available triggers ids mentioned earlier

Yes

url

Webhook url

url

Yes

platformName


Company Name

string


Yes


 

Note 1 - 

For Trigger Id trigger.airmeet.registrant.added, trigger.airmeet.attendee.joined, trigger.session.attendee.joined and trigger.airmeet.polls the webhook request endpoint URL has an additional query parameter 'airmeetId'. 

 

Sample format:  /platform-integration/v1/webhook-register?airmeetId=<airmeetid>

 

Where airmeetid is the uuid for an Airmeet event.

 

For Trigger Id trigger.session.attendee.joined a second query parameter 'sessionId' is also available :

/platform-integration/v1/webhook-register?airmeetId=<airmeetid>&sessionId=<sessionid> , 

 

Where sessionid is the uuid for the session in that Airmeet event.


Note 2 -

 

The name field is currently tightly linked to the triggerMetaInfoId. Please use the correct triggerMetaInfoId field to ensure that the webhooks are registered correctly

 

triggerMetaInfoId

name*

include airmeetId parameter*

include sessionId parameter*

trigger.airmeet.created




trigger.airmeet.attendee.added




trigger.airmeet.started




trigger.airmeet.finished




trigger.airmeet.reminder




trigger.airmeet.recording.available




trigger.airmeet.registrant.added


Yes*


trigger.airmeet.attendee.joined


Yes*


trigger.session.attendee.joined


Yes*

Yes*

trigger.airmeet.polls


Yes*


trigger.airmeet.questions


Yes*
trigger.attendee.booth.joined

Yes*
trigger.airmeet.attendee.utms

Yes*
trigger.attendee.clicked_cta

Yes*

trigger.attendee.entered_airmeet

Yes*

trigger.attendee.engagement_score

Yes*

trigger.leaderboard.scoreboard

Yes*

trigger.attendee.joined_stage

Yes*

trigger.attendee.opened_resource

Yes*

trigger.attendee.joined_booth

Yes*

trigger.attendee.joined_table

Yes*

trigger.attendee.ondemand_session_attendance

Yes*

trigger.attendee.joined_session

Yes*


name* : The name can be any text of your preference.


Response Headers:

  1. Content-Type: application/json

Response Payload:

{

 

 "statusCode": "200",                              // String Type

 

 "statusMessage": "SUCCESS",                        // String Type

 

 "payload": {

 

   "id": "Webhook Registration Id",

 

   "triggerMetaInfoId": "TriggerId",                // String Type

 

   "name": "Trigger Label",                         // String Type

 

   "description": "Trigger Description",            // String Type

 

   "url": "Webhook Url",                            // String Type

 

   "isActive": true,                                // Boolean Type

 

   "createdAt": "2020-08-04T06:38:51.106+00:00",    // DateTime Type

 

   "updatedAt": "2020-08-04T06:38:51.106+00:00",    // DateTime Type

 

   "updatedBy": "Updated By Person",                // String Type

 

   "createdBy": "Created By Person"                 // String Type

 

 }

 

}

 

3. How to De-register a webhook / How to unsubscribe from a trigger?

 

Use this endpoint to de-register a webhook


Request Endpoint/platform-integration/v1/webhook-deregister

Request Method: POST

Request Headers:

  1. Content-Type: application/json

  2. Accept: application/json

  3. x-access-key

  4. x-secret-key

Request Payload:

{

 

   "id": "Webhook Registration Id",        // String Type

 

   "triggerMetaInfoId": "Trigger Id",      // String Type

 

   "url": "Webhook Url"                    // String Type

 

}

 


Field

Description

Model

Required

id

Webhook Registration Id

string

Yes

triggerMetaInfoId

The trigger type

string 

Select from one of the available triggers ids mentioned earlier

Yes

url

Webhook url

url

Yes

 

Response Payload:

{

 

 "statusCode": "200",                              // String Type

 

 "statusMessage": "SUCCESS",                        // String Type

 

}


 

4. How to get sample payload data for each webhook?

 

Use this endpoint to get a sample payload for the different triggers


Request Endpoint/platform-integration/v1/sample-payload?triggerMetaInfoId=<triggerMetaInfoId>

Request Method: GET

Request Headers:

  1. Accept: application/json

  2. X-access-key

  3. x-secret-key


Response Headers:

  1. Content-Type: application/json

 


5. Get all Active Webhooks

Endpoint:

GET /platform-integration/v1/webhook-list?airmeetId=<airmeet_id> or 

GET /platform-integration/v1/webhook-list?sessionId=<session_id>

This API gives a list of all webhooks associated with the event or the session.


Headers:

X-Airmeet-Access-Token: airmeet_access_token 


Response:

200 OK - 

{
    "webhookDTOList": [
        {
            "id": "webhook id,
            "triggerMetaInfoId": "trigger.airmeet.attendee.registered",
            "name": "webhook name",
            "description": null,
            "url": "dummy url",
            "platformName": "platform name",
            "isActive": true,
            "metaData": "",
            "createdAt": "2024-04-04T11:26:35.000+00:00",
            "updatedAt": "2024-04-04T11:26:35.000+00:00",
            "createdBy": "foi_2344n",
            "updatedBy": null
        }      ]
}

400 Bad Request - in case the passed token is bad

401 Unauthorized - in case the passed token does not have permission for the passed airmeet_id

404 Not Found - in case the supplied airmeet_id param is invalid

412 Precondition Failed - the passed access token has expired

500 Internal Server Error - generic server error


6. Get x-access-key & x-secret-key kindly follow the following steps:

 

Step 1: Sign in to your airmeet account ( https://www.airmeet.com/signup )

Step 2: Click on the "Integrations" tab and select the "API Access Key" section.

Step 3: Click on "Generate access key" and provide a name/label to your key (can be anything that can be remembered later)

Step 4: After providing your label name 'X-Airmeet-Access-Key' with 'X-Airmeet-Secret-Key' would be generated, which can be used in API integration.

 

Access Key = X-Airmeet-Access-Key

Secret Key = X-Airmeet-Secret-Key






Need more help? Contact support@airmeet.com or visit our 24*7 Support Lounge.




Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select atleast one of the reasons

Feedback sent

We appreciate your effort and will try to fix the article