Socket
Socket
Sign inDemoInstall

agendize

Package Overview
Dependencies
300
Maintainers
1
Versions
83
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

agendize

An npm package for Node.Js to interact with Agendize (https://www.agendize.com/) through API (http://developers.agendize.com/). It allows to create accounts under partner accounts. Or easily build an oAuth2 application. Create companies, services, staffs,


Version published
Maintainers
1
Weekly downloads
2
increased by100%

Weekly downloads

Readme

Source

Agendize NPM Module

This is a node.js module to interact with Agendize APIs. Agendize API documentation is available here: http://developers.agendize.com/. This module handles both partner authentication and application oAuth2 authentication modes.

Prerequisites

  • Have an Agendize Account

  • Requesting your API key to our wonderful Support team

    *if you are a pa rtner distributing Agendize accounts, you also need to request a SSO Token to our support team.

  • Finally understand how Agendize objects are working together. What is an Account? a Company, Service, Staff, Client or Appointment.

##Installation npm install -g agendize

##Initialization

Your Agendize application manages multiple accounts

As mentioned in the developer documentation, authentication will be handled by ssoToken and apiKey.

var Agendize = require('agendize');
var options = {
	apiKey:'abc1xxxxxxxxxxxxxx9jkl',
	token:'mno1xxxxxxxxxxxxxx9vwz'
}
var agendizeApi = new Agendize(options)

###Your Agendize application manages multiple accounts Authentication will be done following the oAuth2 processus. According to the documentation you will need a client ID, a client Secret and a Callback URL.

var Agendize = require('agendize');
var options = {
	client_id:'abc1xxxxxxxxxxxxxx9jkl',
	client_secret:'mno1xxxxxxxxxxxxxx9vwz',
	callback_url:'https://your.application.com/your/callback/path'
}
var agendizeApi = new Agendize(options)

##How it works Most of the functions available will have the form:

agendizeAPI.doSomethingWith(options,callback);
  • options is the input of the function and is discribed into each function description.

  • callback object is an asynchronously called function with error and result objects.

agendizeApi.doSomethingWith(options,function(error,result){
	if(error){
		//do something with the error
	}else{
		//do something with the result
	}
})

result object will contain the resulted created objects depending on the options parameter. See Agendize developers documentation for each resource body.

error object

##Authentication

  • If you are managing multiple accounts. Then access the reseller API following the bellow documentation. When accessing the Account or Scheduling APIs, insert the property sso_token inside the options object with the value of the account's sso_token you want to manage.

  • However if you work with oAuth2, insert the property access_token inside the options object with the value of the user's access_token you want to manage the account of.

##Available Functions

###Reseller API You can manage multiple accounts under a partner Agendize account.

Create accounts

agendizeApi.createAccount(options,callback) with required option:

options = {
	account:{
		email:'email_of_the_account@email.com'
	}
}

options can be:


options:{
		account:{
			email:String,
			password:String
		},
		staff:[
		{
			firstname:String,
			lastname:String,
			email:String
		}
		],
		company:{
			name:String
		},
		services:[{
			name:String,
			price:Int,
			duration:Int
		},
		{
			name:String,
			price:Int,
			duration:Int
		}],
		buttons:[
		{
			name:String
		}]
		,
		clients:[
		{
			firstname:String,
			lastname:String,
			address:{
				street:String,
				zipCode:String,
				city:String,
				country:String
			},
			emailAddresses:[
			{
				primary:Boolean,
				email:String
			}]
		}],
		appointments:[Date,Date],
		paymentProfile:{
			nativePlan:Boolean,
			id:Int
		}
	}
}

Note that according to Agendize objects management:

  • buttons creation need company
  • appointments creation need staff, service and client.
Check if an email is already used
agendizeApi.checkIfAccountExist(options,function(error,result){

})

with required option:

options = {
	email:'email_of_the_account@email.com'
}

result is set to true, or false, depending on if the email is known, or not, by Agendize.

Desactive an account
agendizeApi.desactiveAccount(options,function(error){

})

with required ption:

options = {
	account_id:Int
}
Change the plan of an account
agendizeApi.changePlan(options,function(error,result){

})

with required option:

options = {
	account_id:Int,
	destination_plan:Int
}

result is the updated account resource.

###Account API

####Get account information

agendizeApi.getAccount(options,function(error,result){

})

with required option:

  • If you are working with oAuth2:
options = {
	access_token:"abcdefg12345678qabcdefgh"
}

result will be the Agendize account resource of the access_token user owner.

However if you are a reseller and managing multiple accounts:

options = {
	sso_token:"abcdefg12345678qabcdefgh"
}

result will be the Agendize account resource of the sso_token user owner.

###Online Scheduling API ####Get Companies

agendizeApi.getCompanies(options,function(error,result){

})

with required option:

  • If you are working with oAuth2:
options = {
	access_token:"abcdefg12345678qabcdefgh"
}

result will be the Agendize company resource list of the access_token's user's account.

However if you are a reseller and managing multiple accounts:

options = {
	sso_token:"abcdefg12345678qabcdefgh"
}

result will be the Agendize company resource list of the sso_token user owner.

####Get Clients

agendizeApi.getClients(options,function(error,result){

})

with required option:

  • If you are working with oAuth2:
options = {
	access_token:"abcdefg12345678qabcdefgh"
}

result will be the Agendize client resource list of the access_token's user's account.

However if you are a reseller and managing multiple accounts:

options = {
	sso_token:"abcdefg12345678qabcdefgh"
}

result will be the Agendize client resource list of the sso_token user owner.

####Get Staffs

agendizeApi.getClients(options,function(error,result){

})

with required option:

  • If you are working with oAuth2:
options = {
	access_token:"abcdefg12345678qabcdefgh",
	company_id:"1234567"
}

result will be the Agendize staff resource list of the access_token's user's account related to the company id indicated.

However if you are a reseller and managing multiple accounts:

options = {
	sso_token:"abcdefg12345678qabcdefgh"
	company_id:"1234567"
}

result will be the Agendize client resource list of the sso_token user owner related to the company id indicated.

Create appointment
Create appointment with ids
agendizeApi.createAppointment(options,function(error,result){

})

options required attributes:

options = {
	sso_token:String,
	company_id:String,
	staff_id:String,
	client_id:String,
	service_id:String,
	date:Date
}

result will be the created appointment resource;

Create appointment with appointment
agendizeApi.createAppointmentWithAppointment(options,function(error,result){

})

options required attributes:

options = {
	sso_token:"abcdefg12345678qabcdefgh"
	appointment:{

	}
}

result will be the created appointment resource;

Click to call API

Make a click-to-call call

You need to have a click to call button on the Agendize account.

agendizeApi.call(options,function(error,result){

})

options required attributes:

options = {
	button_id:"123456789",
	number:"+1555555555"
}

#Run the examples You will need to have an Agendize developer account to use the examples then follow the bellow steps:

  • Go to the example project folder for instance cd examples/click-to-call
  • Install the needed npm modules with the command: npm install
  • Set the credentials of the agendize module in the index.js file
  • Start the application with node index.js

Keywords

FAQs

Last updated on 07 Nov 2017

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc