APIs and developer resources

APIs and developer resources

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:

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.

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:

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.

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:

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.

email

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.

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:

Type of Dat

Example

Description

String

Hello there!

A text, array of characters.

Boolean:

Type of Data

Example

Description

Boolean

true

true or false.

Integer:

Type of Data

Example

Description

Integer

1

A number with no decimal places.

NotificationTypeString:

Type of Data

Example

Description

NotificationTypeString

new_enquiry

Can be one of the following: new_enquiry, new_client, or new_draft

ShedTypeString:

Type of Data

Example

Description

ShedTypeString

C Shed

Can be either a “C Shed” (Cold rolled) or “Solid Shed” (Hot formed) steel shed type.

ShedUsageString:

Type of Data

Example

Description

ShedUsageString

Domestic

Can be either “Rural”, “Carport”, “Domestic”, “Commercial” or “Extension”

ISO Date String:

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.

Issuer Info details:

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.

email

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.

AddressInfo details:

Company Info details:

Issuer Info:

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.

Last updated