MyDogWalker API client library
![CircleCI](https://circleci.com/bb/mydogwalker/mydogwalker-client/tree/master.svg?style=svg)
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-client
Initialize
import MyDogWalkerClient from 'mydogwalker-client';
const api = new MyDogWalkerClient({
apiBaseUrl: 'https://website.com/api/v1',
apiToken: '<token>'
});
Usage
const categoriesResponse = await api.productCategories.list();
const categories = categoriesResponse.json;
for(const category of categories){
console.log(category.name)
}
api.productCategories.list().then(({status, json}) => {
const categories = json;
for(const category of categories){
console.log(category.name)
}
});
api.productCategories.create({name: 'Shoes', active: true}).then(({status, json}) => {
const categoryId = json.id;
});
Error Handling
try {
const createResult = await api.productCategories.create({ name: 'Shoes' });
const newCategory = createResult.json;
} catch(e) {
console.log(e);
}
api.productCategories.create({ name: 'Shoes' })
.then(({status, json}) => {
if(status === 200) {
const newCategory = json;
} else {
}
})
.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.list
api.paymentMethods.retrieve
api.paymentMethods.create
api.paymentMethods.update
api.paymentMethods.delete
api.paymentGateways.retrieve
api.paymentGateways.update
api.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.retrieve
api.settings.uploadImage
api.settings.retrieveEmailSettings
api.settings.updateEmailSettings
api.settings.retrieveEmailTemplate
api.settings.updateEmailTemplate
api.checkoutFields.list
api.checkoutFields.retrieve
api.checkoutFields.update
api.pages.list
api.pages.retrieve
api.pages.create
api.pages.update
api.pages.delete
api.tokens.list
api.tokens.retrieve
api.tokens.create
api.tokens.update
api.tokens.delete
api.redirects.list
api.redirects.retrieve
api.redirects.create
api.redirects.update
api.redirects.delete
api.files.list(filter)
api.files.upload(formData)
api.files.delete(fileName)
api.webhooks.list
api.webhooks.retrieve
api.webhooks.create
api.webhooks.update
api.webhooks.delete
api.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)