APIs and developer resources
Last updated
Last updated
Shedmate Webhook documentation
Webhooks provide a way for Shedmate to integrate and notify your company of important events that happen in the system. The mechanism Shedmate uses for its Webhooks is based on HTTP requests and the body (payload) is sent in JSON format.
More about JSON format: https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Objects/JSON
You can use the data that comes with the Webhook for a lot of different things, you can send push notifications to your phone, send emails, send SMS, and automate workflows for marketing or CRM intelligence. The possibilities are endless.
If you are an administrator on your company account, you can follow the steps below if you are not, please ask your administrator to do so.
Also, you will need a subscriber for the data you are going to receive. This subscriber will provide an URL that we can “hook” into Shedmate. Shedmate will then call this URL to notify the subscriber when important events happen.
OPTIONAL STEP
As an example, we are going to use an account in Make, previously known as Integromat. Chances are you already have a system, server, or another automation platform as the subscriber, but if you like to follow along, go ahead and create an account in Make, then create a scenario with a Webhook to get the URL. If you are unsure how to do that, please use their help system to do so, then continue on with this documentation.
Create an account in Make: https://www.make.com/en/register
Setting up your webhook:
Log on to the portal and click on the company button on the left side menu.
Scroll down to the bottom of the page and page the URL in the WebhookUrl field of the company profile page. Done, now you can start receiving notifications from Shedmate in your system.
Shedmate Webhook Reference:
In this section, we will describe the data that comes with webhook notifications. Notice that more details on each “Type of Data” with descriptions and tables are provided at the end of this document.
Each Shedmate notification will come with a standard payload, containing metadata about the notification, some of your company details, and the details about that particular notification, as follows:
Payload Details:
Currently, Shedmate provides notifications for the following events:
When a new Job is created:
Description: This happens when a new job is created in Shedmate or a draft is promoted to a job.
Details:
When a new Client is created:
Description: This happens when a new client is created in Shedmate. This can happen when creating a new job and the client was created on the fly or the client was created directly.
Payload Details:
When a new Draft is created:
Description: This happens when a new draft is created in Shedmate.
Details: Same as Job payload. Notice that since it is a draft, less information about the job is sent.
When a new Enquiry is created:
Description: This happens when a new enquiry is sent from the enquiry system into Shedmate and becomes a draft in the company.
Details: Same as Job payload. Notice that since it is a draft, less information about the job is sent.
Data Types and Details:
String:
Boolean:
Integer:
NotificationTypeString:
ShedTypeString:
ShedUsageString:
ISO Date String:
Issuer Info details:
AddressInfo details:
Company Info details:
Issuer Info:
Key
Type of Data
Description
data
Varies
Varies depending on the type of notification, please check each notification in the next section to see details of each of them.
type
NotificationTypeString
The identification for the notification.
company
CompanyInfo
The information about the client that owns that job.
sentAt
ISO Date String (UTC)
The ISO date format for when the notification was sent.
createdAt
ISO Date String (UTC)
The ISO date format for when the Job was created
createdBy
IssuerInfo
The information about who created the job.
clientSnapShot
IssuerInfo
The information about the client that owns that job.
companyContactSnapShot
IssuerInfo
If this job is for a company or organization this will contain the company information.
responsibl
IssuerInfo
The information about who was assigned as the responsible for this job.
isThirdPartyBuilder
Boolean
Informs if this job is going to be built by your company or it is a supply only job.
clientIsTheBuilder
Boolean
Informs if this job is going to be built by the client or another company or individual builder.
thirdPartyBuilderSnapShot
IssuerInfo
If this has a third-party builder, this will inform the details of the builder.
jobType
ShedTypeString
“C Shed” representing cold rolled or “Solid Shed” representing hot formed steel shed.
usage
ShedUsageString
The usage of the shed, like “Rural”, “Carport”, “Domestic”, etc.
jobCount
Integer
The number portion of the job number. The first job of the company will be 1 and it will increase per job. It never resets, and it doesn’t come down even when you archive a job. It is unique per job, per company.
jobNumber
String
The complete “name” of the job, contains the client name, job count, type of shed, date, and even additional information when needed. It uniquely identifies a job and helps on ordering, bookkeeping, and so on.
jobNumberAddition
String
The Additional (optional) information of the job number
companyId
String
The unique identifier of your company inside of Shedmate System.
useClientAddress
Boolean
If the job site address is the same as the client’s postal address.
address
AddressInfo
The details of the job site.
enquiryComments
String
Optional comments that come from the Draft if it was created by a client on the Enquiry System. This will not be sent for jobs created as draft directly.
enquiryHeardAboutUs
String
This will contain the platform name that the client heard about the company when using the enquiry system. This will not be sent for jobs created as draft directly.
Key
Type of Data
Description
createdAt
ISO Date String (UTC)
The ISO date format for when the Job was created
createdBy
IssuerInfo
The information about who created the job.
companyId
String
The unique identifier of your company inside of Shedmate System.
isOrganization
Boolean
Identifies if this client is a company or a person.
organizationName
String
If this client is a company, this will have its name.
firstName
String
If this client is a person, this will contain their name.
lastName
String
If this client is a person, this will contain their last name.
String
The email address for the client.
phone1
String
The client’s phone number.
phone2
String
The client’s optional second phone number.
Address
AddressInfo
The client’s address details.
Type of Dat
Example
Description
String
Hello there!
A text, array of characters.
Type of Data
Example
Description
Boolean
true
true or false.
Type of Data
Example
Description
Integer
1
A number with no decimal places.
Type of Data
Example
Description
NotificationTypeString
new_enquiry
Can be one of the following: new_enquiry, new_client, or new_draft
Type of Data
Example
Description
ShedTypeString
C Shed
Can be either a “C Shed” (Cold rolled) or “Solid Shed” (Hot formed) steel shed type.
Type of Data
Example
Description
ShedUsageString
Domestic
Can be either “Rural”, “Carport”, “Domestic”, “Commercial” or “Extension”
Type of Data
Example
Description
ISO Date String (UTC)
2022-11-20T21:27:16.1798424+00:00
Contains year, month, day, hour, minutes, and seconds relative to UTC.
Type of Data
Description
IssuerInfo
It is an object containing the information in the table below
Contains name, email, phone number and more information about the issuer.
Key
Type of Data
Example
Description
firstName
String
John
If this is a person, it will contain their name.
lastName
String
Smith
If this is a person, it will contain their last name.
organizationName
String
Apple
If this is a company, it will contain their company name.
String
The person’s or company’s email.
isOrganization
Boolean
false
Identifies whether this issuer is a company or person.
phone1
String
“489 265 658”
The issuer’s main phone number.
phone2
String
“499 265 658”
The issuer’s optional phone number.
address
AdressInfo
It is an object containing the information in the AddressInfo table.
The issuer’s address details.
Key
Type of Data
Example
Description
number
String
1/2A
The number of the house or block.
name
String
Main Street
Name of the street, road, etc.
city
String
Melbourne
City, Town, Suburb, etc.
country
String
Australia
Country
state
String
Victoria
The State, Territory, or Province.
postal
String
5020
Postal code.
council
String
Greater Geelong
The council or county or city hall that regulates this address.
coordinates
String
-37.8473, 140.778
The GPS coordinates of the address.
Key
Type of Data
Example
Description
name
String
Blue Aussie Sheds LTDA
Your company name.
phone1
String
“489 265 658”
Your company number.
phone2
String
“499 265 658”
Your company optional second number.
streetNumber
String
1/2A
The number of the house or block.
streetName
String
Main Street West
Name of the street, road, etc.
city
String
Melbourne
City, Town, Suburb, etc.
state
String
Australia
The State, Territory, or Province.
country
String
Australia
Country
postalCode
String
5020
Postal code.
council
String
Greater Geelong
The council or county or city hall that regulates this address.
coordinates
String
-37.8473, 140.778
The GPS coordinates of the address.