mydogwalker-client
v0.0.3
Published
[](https://circleci.com/bb/mydogwalker/mydogwalker-client/tree/master)
Readme
MyDogWalker API client library
Allows asynchronous requests to MyDogWalker REST API and get results with native Promise or async/await. Work on browser and server.
Client include:
- MyDogWalker API
- MyDogWalker AJAX API
- MyDogWalker Web Portal API
Install with:
npm i mydogwalker-clientInitialize
import MyDogWalkerClient from 'mydogwalker-client';
const api = new MyDogWalkerClient({
apiBaseUrl: 'https://website.com/api/v1',
apiToken: '<token>'
});Usage
// fetch all categories with await
const categoriesResponse = await api.productCategories.list();
const categories = categoriesResponse.json;
for(const category of categories){
console.log(category.name)
}
// fetch all categories with Promise
api.productCategories.list().then(({status, json}) => {
const categories = json;
for(const category of categories){
console.log(category.name)
}
});
// create a category
api.productCategories.create({name: 'Shoes', active: true}).then(({status, json}) => {
const categoryId = json.id;
});Error Handling
// with await
try {
const createResult = await api.productCategories.create({ name: 'Shoes' });
const newCategory = createResult.json;
} catch(e) {
console.log(e);
}
// with Promise
api.productCategories.create({ name: 'Shoes' })
.then(({status, json}) => {
if(status === 200) {
// success
const newCategory = json;
} else {
// 404 or bad request
}
})
.catch(err => {
console.log(err)
});Methods
api.authorize(baseUrl, user, pass)api.sitemap.list()api.sitemap.retrieve(path)api.employees.list({offset: 0,limit: 10,active: true,fields: 'id, name',sort: 'name'})
api.employees.retrieve(id)api.employees.create(data)api.employees.update(id, data)api.employees.delete(id)api.appointments.list({offset: 0,limit: 10,fields: 'id, name',customer_id: '<id>',employee_id: '<id>',date_from: '<date>',date_to: <date>})
api.appointments.retrieve(id)api.appointments.create(data)api.appointments.update(id, data)api.appointments.delete(id)api.appointments.cancel(id)api.appointments.checkin(id)api.appointments.checkout(id)api.appointmentStatuses.list()api.appointmentStatuses.retrieve(id)api.appointmentStatuses.create(data)api.appointmentStatuses.update(id, data)api.appointmentStatuses.delete(id)api.customers.list({offset: 0,limit: 10,active: true,fields: 'id, name',pet_id: '<id>',sort: 'address,name'})
api.customers.retrieve(id)api.customers.create(data)api.customers.update(id, data)api.customers.delete(id)api.customers.updateAddress(id, data)api.pets.list()api.pets.retrieve(id)api.pets.create(customerId, data)api.pets.update(id, data)api.pets.delete(id)api.pets.image.upload(id)api.pets.image.delete(id)api.schedules.list({offset: 0,limit: 10,active: true,fields: 'id, name',scheduleStatus: ['<id>','<id>'],customer_id: '<id>'})
api.schedules.retrieve(id)api.schedules.create(data)api.schedules.update(id, data)api.schedules.delete(id)api.schedulesStatuses.list()api.schedulesStatuses.retrieve(id)api.schedulesStatuses.create(data)api.schedulesStatuses.update(id, data)api.schedulesStatuses.delete(id)api.customPrices.list()api.customPrices.retrieve(id)api.customPrices.create(data)api.customPrices.update(id, data)api.customPrices.delete(id)api.areaGroup.list({active: true,fields: 'id, name'})
api.areaGroup.retrieve(id)api.areaGroup.create(data)api.areaGroup.update(id, data)api.areaGroup.delete(id)api.areaGroup.delete(id)api.services.list({fields: 'id, name, price',active: true,discontinued: false,on_sale: true,sort: 'name,price'})
api.services.retrieve(id)api.services.create(data)api.services.update(id, data)api.services.delete(id)api.services.imageUpload(id, formData)api.services.imageDelete(id)api.orders.list({offset: 0,limit: 10,paid: false,closed: false,fields: 'number, amount_outstanding',appointments: ['<id>','<id>'],customer_id: '<id>'})
api.orders.retrieve(id)api.orders.create(data)api.orders.update(id, data)api.orders.delete(id)api.orders.finalize(id)api.orders.generate(customer_id, from_date, to_date)api.orders.generateAll(from_date, to_date)api.orders.discount.create(data)api.orders.discount.update(id, data)api.orders.discount.delete(id)api.orderStatuses.list()api.orderStatuses.retrieve(id)api.orderStatuses.create(data)api.orderStatuses.update(id, data)api.orderStatuses.delete(id)api.payments.list()api.payments.retrieve()api.payments.create()api.payments.update()api.payments.delete()api.paymentMethods.listapi.paymentMethods.retrieveapi.paymentMethods.createapi.paymentMethods.updateapi.paymentMethods.deleteapi.paymentGateways.retrieveapi.paymentGateways.updateapi.theme.export()api.theme.install(formData)api.theme.settings.retrieve()api.theme.settings.update(settings)api.theme.settings.retrieveSchema()api.theme.assets.uploadFile(formData)api.theme.assets.deleteFile(fileName)api.settings.retrieveapi.settings.uploadImageapi.settings.retrieveEmailSettingsapi.settings.updateEmailSettingsapi.settings.retrieveEmailTemplateapi.settings.updateEmailTemplateapi.checkoutFields.listapi.checkoutFields.retrieveapi.checkoutFields.updateapi.pages.listapi.pages.retrieveapi.pages.createapi.pages.updateapi.pages.deleteapi.tokens.listapi.tokens.retrieveapi.tokens.createapi.tokens.updateapi.tokens.deleteapi.redirects.listapi.redirects.retrieveapi.redirects.createapi.redirects.updateapi.redirects.deleteapi.files.list(filter)api.files.upload(formData)api.files.delete(fileName)api.webhooks.listapi.webhooks.retrieveapi.webhooks.createapi.webhooks.updateapi.webhooks.deleteapi.apps.settings.retrieve(appKey)api.apps.settings.update(appKey, data)api.theme.placeholders.list()api.theme.placeholders.retrieve(placeholderKey)api.theme.placeholders.create(data)api.theme.placeholders.update(placeholderKey, data)api.theme.placeholders.delete(placeholderKey)
Web Store Methods
api.webstore.init(token)api.webstore.authorize(email, admin_url)api.webstore.account.retrieve()api.webstore.account.update(data)api.webstore.account.updateDeveloper(data)api.webstore.services.list()api.webstore.services.retrieve(serviceId)api.webstore.services.settings.retrieve(serviceId)api.webstore.services.settings.update(serviceId, settings)api.webstore.services.actions.call(serviceId, actionId)api.webstore.services.logs.list(serviceId)
