@xalantis/sdk
v0.1.0
Published
Official Xalantis JavaScript/TypeScript SDK
Maintainers
Readme
@xalantis/sdk
Official JavaScript/TypeScript SDK for the Xalantis API.
Installation
npm install @xalantis/sdkQuick Start
import { Xalantis } from '@xalantis/sdk'
const client = new Xalantis({
apiKey: 'xal_live_...',
})Tickets
Create a ticket
const { data: ticket } = await client.tickets.create({
subject: 'Login issue',
description: 'Cannot login since the latest update',
requester_email: '[email protected]',
priority: 'high',
category_slug: 'technical-support', // optional
})
console.log(ticket.uuid, ticket.reference)List tickets
const { data: tickets, meta } = await client.tickets.list({
status: 'open',
priority: 'high',
per_page: 10,
sort_by: 'created_at',
sort_dir: 'desc',
})
console.log(`${meta.total} tickets found`)Get a ticket
const { data: ticket } = await client.tickets.get('ticket-uuid')Update a ticket
await client.tickets.update('ticket-uuid', {
status: 'resolved',
priority: 'low',
})Reply to a ticket
await client.tickets.reply('ticket-uuid', {
content: 'This has been fixed in v2.1.0',
})
// Internal note (not visible to requester)
await client.tickets.reply('ticket-uuid', {
content: 'Deployed hotfix to production',
is_internal: true,
})List replies
const { data: replies } = await client.tickets.listReplies('ticket-uuid')Error Handling
import { Xalantis, XalantisError } from '@xalantis/sdk'
try {
await client.tickets.create({ ... })
} catch (error) {
if (error instanceof XalantisError) {
console.error(error.code) // 'VALIDATION_ERROR'
console.error(error.message) // 'Validation failed.'
console.error(error.status) // 422
console.error(error.details) // { subject: ['Required'] }
}
}TypeScript
All types are exported:
import type {
Ticket,
TicketPriority,
TicketStatus,
CreateTicketInput,
UpdateTicketInput,
TicketReply,
} from '@xalantis/sdk'License
MIT
