signup-genius-client
NodeJS Signup Genius API Client
Installation
npm install signup-genius-client
Usage
Note: You must have a SignUpGenius Pro account and API key to access the API.
'use strict'; const Client = apiKey = 'YourAPIKey'; const client = apiKey; // Promisesclient ; // Async/Awaitasync { try const signups = await client; // Do something with signup data catche // Handle error };
SignupGeniusClient Class
Methods
SignupGeniusClient.prototype.getProfile()
client
Profile Schema
// Account info memberid: Number firstname: String lastname: String issubadmin: Boolean adminfor: String subscription: ispro: Boolean prolevel: String // Contact info email: String mobilephone: String workphone: String homephone: String preferredphone: String // Location info address1: String address2: String city: String state: String zipcode: String
SignupGeniusClient.prototype.getAllSignups()
Gets a report of all signups (active and inactive)
client
All Signups Schema
// Signup // General signupid: Number title: String signupurl: String contactname: String // Time info startdate: Number // Unix timestamp enddate: Number // Unix timestamp startdatestring: String enddatestring: String starttime: Number endtime: Number offset: String // Images mainimage: String thumbnail: String // Group info groupid: Number group: String // Slot info slotmetrics: totalslots: Number totalslotsfilled: Number totalavailableslots: Number percentageavailable: String percentagefilled: String
SignupGeniusClient.prototype.getActiveSignups()
Gets a report of all active signups.
client
Active Signups Schema
// Active Signup // General signupid: Number title: String signupurl: String contactname: String // Time info startdate: Number enddate: Number startdatestring: String enddatestring: String starttime: Number endtime: Number // Images mainimage: String thumbnail: String // Group info groupid: Number group: String // Slot info slotmetrics: totalslots: Number totalslotsfilled: Number totalavailableslots: Number percentageavailable: String percentagefilled: String
SignupGeniusClient.prototype.getExpiredSignups()
Gets a report of all expired signups.
client ;
Expired Signups Schema
// Expired Signup // General signupid: Number title: String signupurl: String contactname: String // Time info startdate: Number enddate: Number startdatestring: String enddatestring: String starttime: Number endtime: Number // Images mainimage: String thumbnail: String // Group info groupid: Number group: String // Slot info slotmetrics: totalslots: Number totalslotsfilled: Number totalavailableslots: Number percentageavailable: String percentagefilled: String
SignupGeniusClient.prototype.getSignupReport(signupID)
Gets a signup report that includes information about registered (filled) and unfilled slots for a given signup. If you are wanting information about filled slots only, you probably want to use the client.getSignupRegistrants(signupID)
method instead.
client ;
Signup Report Schema
Note: The SignUp Genius API documentation indicates that there should also be an array of custom questions sent along with this response. There is a bug in their current API version (v2) that is preventing the customquestions
array from being returned, even if the given signup does have custom questions.
// Signup Report (filled and unfilled slots) // General signupid: Number slotitemid: Number itemmemberid: Number status: String item: String myqty: Number // Time info startdate: Number enddate: Number startdatestring: String enddatestring: String starttime: Number endtime: Number offset: String hastime: Number // May not be present for unfilled slots // Location info location: String // User info firstname: String lastname: String email: String comment: String amountpaid: String // Array of custom question responses, // does not inlcude questions themselves customfields: id: Number customfieldid: Number value: String
SignupGeniusClient.prototype.getSignupRegistrants(signupID)
Gets a report of registrants (filled slots) for a given signup.
client ;
Signup Registrants Schema
Note: The SignUp Genius API documentation indicates that there should also be an array of custom questions sent along with this response. There is a bug in their current API version (v2) that is preventing the customquestions
array from being returned, even if the given signup does have custom questions.
// Signup Report (filled slots) // General signupid: Number slotitemid: Number itemmemberid: Number status: String item: String myqty: Number // Time info startdate: Number enddate: Number startdatestring: String enddatestring: String starttime: Number endtime: Number offset: String hastime: Number // Location info location: String // User info firstname: String lastname: String email: String comment: String amountpaid: String // Array of custom question responses, // does not inlcude questions themselves customfields: id: Number customfieldid: Number value: String
SignupGeniusClient.prototype.getSlotsAvailable
Gets a report of slots available for a given signup.
client ;
Slots Available Schema
Note: The SignUp Genius API documentation indicates that there should also be an array of custom questions sent along with this response. There is a bug in their current API version (v2) that is preventing the customquestions
array from being returned, even if the given signup does have custom questions.
// Signup Report (available slots) // General signupid: Number slotitemid: Number itemmemberid: Number status: String item: String myqty: Number // Time info startdate: Number enddate: Number startdatestring: String enddatestring: String starttime: Number endtime: Number offset: String // Location info location: String // User info firstname: String lastname: String email: String comment: String amountpaid: String // Array of custom question responses, // does not inlcude questions themselves customfields: id: Number customfieldid: Number value: String