@ciptex/schedule-sdk
TypeScript icon, indicating that this package has built-in type declarations

0.3.2 • Public • Published

Race Schedule SDK

The schedule-api helper library lets you write Node.js code to make HTTP requests to the Ciptex Race Schedule API.

Do not use Basic Authentication in a front-end application. Doing so can expose your Twilio credentials to end-users as part of the bundled HTML/JavaScript sent to their browser.

Installation

The easiest way to install schedule-sdk is from NPM. You can run the command below from your project directory to install the library:

npm install --save @ciptex/schedule-sdk@latest

Then in your code:

import { ScheduleClient } from "@ciptex/schedule-sdk"

Testing your installation

Try Listing Configuration like this:

import { ScheduleClient, Schedule } from "@ciptex/schedule-sdk"
const accountSid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; // Your Account SID from www.twilio.com/console
const authToken = "your_auth_token"; // Your Auth Token from www.twilio.com/console
const client = new ScheduleClient({ accountSid, authToken });

const main = async () => {
	try {
		const schedules: Schedule[] = await client.schedule.list();
        console.log(schedules);
	}
	catch (error) {
		console.error(error);
	}
}

main()  

It's okay to hardcode your credentials when testing locally, but you should use environment variables to keep them secret before committing any code or deploying to production. Check out How to Set Environment Variables for more information.

Using This Library

Authenticate Client

const accountSid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
const authToken = "your_auth_token";
const client = new ScheduleClient({ accountSid, authToken });

Create A New Record

import { ScheduleClient, Schedule } from "@ciptex/schedule-sdk"
const accountSid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
const authToken = "your_auth_token";
const client = new ScheduleClient({ accountSid, authToken });

const main = async () => {
	try {
		const schedule: Schedule = await client.schedule.create({
			name: "Opening Hours",
			weekly: [{
				day: "mon",
				startTime: "09:00",
				endTime: "17:00"
			}],
			holiday: [{
				startDate: "2021-03-09T00:00",
				endDate: "2021-03-09T23:59",
				message: {
				sayMessage: "Hello World",
				sayVoice: "Polly.Amy-Neural",
				type: "say",
				sayLanguage: "en-gb"
				}
			}]
		});
		console.log(schedule);
	}
	catch (error) {
		console.error(error);
	}
}  

main()  

Get Existing Record

import { ScheduleClient } from "@ciptex/schedule-sdk"
const accountSid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
const authToken = "your_auth_token";
const client = new ScheduleClient({ accountSid, authToken });

const main = async () => {
	try {
    //GET EXAMPLE HERE
	}
	catch (error) {
		console.error(error);
	}
}  

main()  

Handling Exceptions

If the Schedule API returns a 400 or a 500 level HTTP response, the schedule-sdk library will throw an error which can be caught. 400-level errors are normal during API operation ("Invalid number", "Cannot deliver SMS to that number", for example) and should be handled appropriately.

More Documentation

Once you're up and running with the schedule-sdk library, you'll find code samples using the latest version in our REST API docs

Readme

Keywords

none

Package Sidebar

Install

npm i @ciptex/schedule-sdk

Weekly Downloads

105

Version

0.3.2

License

none

Unpacked Size

82.7 kB

Total Files

27

Last publish

Collaborators

  • adamneeld
  • abhishek_p_s_630
  • cazciptex
  • j-wright1
  • jamesturner27
  • danielgarner365
  • tomseldon_ciptex
  • sonyarouje
  • shaunhalliday
  • matthew.duggan
  • sinataavon
  • w1nck