yarn add @airlst/sdkSet API key
import { Api } from '@airlst/sdk'
Api.setApiKey('YOUR_API_KEY')Currently available methods:
Important: This method requires that API key must be company bound!
import { Event } from '@airlst/sdk'
const { data } = await new Event().list()import { Event } from '@airlst/sdk'
const { data } = await new Event().get('event-uuid')import { Guest } from '@airlst/sdk'
await new Event().generateTemporaryUploadUrl(eventUuid, fileMimeType, false);import { Guest } from '@airlst/sdk'
await new Event().saveTemporaryUpload(eventUuid, temporaryUrlData, fileName, fileSize, fileMimeType, false);import { Guest } from '@airlst/sdk'
const { data } = await new Guest('event-uuid').list({ page: 2, search: 'John' })Method accepts following parameters:
| Parameter | Type | Description |
|---|---|---|
page |
number |
Page number |
perPage |
number |
Number of items per page |
search |
string |
Quick search |
filters |
array |
Filters arrays |
filters.*.field |
string |
Filter field e.g: extended_fields->field1, booking:extended_fields->field1 |
filters.*.value |
string |
Filter field value |
filters.*.operator |
string |
Filter field operator. Optional. One of: eq (equal), neq (not equal), like, gt (greater than), gte (greater than or equal), lt (less than), lte (less than or equal). If operator is not provided eq will be used as default |
sorts |
array |
Sorts array |
sorts.*.field |
string |
Sort field |
sorts.*.direction |
string |
Sort field direction. One of: asc (ascending), desc (descending) |
sorts.*.order |
number |
Sort field order. Optional. Defines order/priority of the sort when sorting by multiple fields |
import { Guest } from '@airlst/sdk'
const { data } = await new Guest('event-uuid').validatedCode('guest-code')import { Guest } from '@airlst/sdk'
const { data } = await new Guest('event-uuid').get('guest-code')import { Guest } from '@airlst/sdk'
const { data } = await new Guest('event-uuid').create({
status: 'confirmed',
contact: {
first_name: 'John',
last_name: 'Doe',
}
})import { Guest } from '@airlst/sdk'
const { data } = await new Guest('event-uuid').createCompanion('guest-code', {
contact: {
first_name: 'John',
last_name: 'Doe',
}
})import { Guest } from '@airlst/sdk'
const { data } = await new Guest('event-uuid').update('guest-code', { status: 'confirmed' })import { Guest } from '@airlst/sdk'
await new Guest('event-uuid').archive('guest-code')import { Guest } from '@airlst/sdk'
const { data } = await new Guest('event-uuid').restore('guest-code')import { Guest } from '@airlst/sdk'
await new Guest('event-uuid').delete('guest-code')import { Guest } from '@airlst/sdk'
const { data } = await new Guest('event-uuid').checkin('guest-code', {
type: Guest.CheckinType.CHECK_IN,
device: 'Mobile',
location: 'Munich',
timestamp: Math.round(+new Date() / 1000),
})import { Guest } from '@airlst/sdk'
const { data } = await new Guest('event-uuid').createRecommendation('guest-code', {
status: 'confirmed',
contact: {
first_name: 'John',
last_name: 'Doe',
}
})The GuestManager class provides the same functionality as Guest but is designed for managing guest managers. It has all the same methods as Guest, with the key difference being that the list() method uses a different endpoint and returns GuestManagerInterface objects which include a managed_guests array instead of guest_managers.
import { GuestManager } from '@airlst/sdk'
const { data } = await new GuestManager('event-uuid').list({ page: 2, search: 'John' })Method accepts the same parameters as Guest list method (see Guest methods section above).
GuestManager supports all the same methods as Guest:
import { GuestManager } from '@airlst/sdk'
// Validate guest manager code
const { data } = await new GuestManager('event-uuid').validateCode('guest-manager-code')
// Get guest manager with code
const { data } = await new GuestManager('event-uuid').get('guest-manager-code')
// Create a new guest manager
const { data } = await new GuestManager('event-uuid').create({
status: 'confirmed',
contact: {
first_name: 'John',
last_name: 'Doe',
}
})
// Update existing guest manager
const { data } = await new GuestManager('event-uuid').update('guest-manager-code', { status: 'confirmed' })
// Check in a guest manager
const { data } = await new GuestManager('event-uuid').checkin('guest-manager-code', {
type: GuestManager.CheckinType.CHECK_IN,
device: 'Mobile',
location: 'Munich',
timestamp: Math.round(+new Date() / 1000),
})
// And all other methods: createCompanion, archive, restore, delete, createRecommendation, getAttachments, getAttachmentSignedUrlimport { EmailTemplate } from '@airlst/sdk'
const { data } = await new EmailTemplate('event-uuid').list()import { EmailTemplate } from '@airlst/sdk'
await new EmailTemplate('event-uuid').send('email-template-uuid',{
guests:[
"guest-code-1",
"guest-code-2"
]
})import { Contact } from '@airlst/sdk'
const { data } = await new Contact().validateCode('contact-code')import { Contact } from '@airlst/sdk'
const { data } = await new Contact().get('contact-code')import { Contact } from '@airlst/sdk'
const { data } = await new Contact().getEvents('contact-code')import { Guest } from '@airlst/sdk'
await new Guest('event-uuid').getAttachments('guest-code')Note: The generated URL will be valid for 10 minutes
import { Guest } from '@airlst/sdk'
await new Guest('event-uuid').getAttachmentSignedUrl('guest-code','attachment-uuid')import { Bookable } from '@airlst/sdk'
const { data } = await new Bookable('event-uuid').listGroups()import { Bookable } from '@airlst/sdk'
const { data } = await new Bookable('event-uuid').listBookables('bookable-group-uuid')import { Bookable } from '@airlst/sdk'
const { data } = await new Bookable('event-uuid').listAvailabilities('bookable-group-uuid', 'bookable-object-uuid', {
start_date: '2025-01-02',
end_date: '2025-02-03'
})import { Bookable } from '@airlst/sdk'
const { data } = await new Bookable('event-uuid').createReservation('bookable-group-uuid', {
guest_code: 'guest-code',
reservations: [
{
starts_at: '2025-02-04 13:20:00',
ends_at: '2025-02-04 13:40:00',
bookable_id: 'bookable-object-uuid'
}
]
})import { Bookable } from '@airlst/sdk'
await new Bookable('event-uuid').deleteReservation('guest-code', 'reservation-uuid')