Contact Webhooks

These webhooks notify you of events related to worker contacts.

Worker Added Contact

By implementing this webhook endpoint, when a worker adds a contact at your organisation to share their availability with, the platform will notify you.

Endpoint

GET https://<yourbaseUrl>/contact/new/{workerId} HTTP/1.1
ParameterDescription
{workerId}Id of the worker that has added a contact at the company

Payload Schema

Not applicable

Payload Example

Not applicable

Contact Suggestions

One of the functions the portal provides to a hirer is the ability to receive contact suggestions from companies they have a relationship with.

On the "Invites" page, a hirer can select the "Search organisations" button which will display a list of companies who have implemented this endpoint. They can then select one or more people to send updatedge worker invitations.

The logic which drives the suggestions is up to the implemented - updatedge will simply send the logged in user's portal email address to the webhook and expect to receive back a list of matches in a given format. The suggestions may be determined in whatever way the implementer decides (e.g. they find the user in their system with the requested email address and return workers who have a relationship with them).

Endpoint

POST https://<yourbaseUrl>/contact-suggestions HTTP/1.1

Payload Schema

{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"filter": {
"description" : "The search text entered by the user to filter down results",
"type": "string"
},
"userEmailAddresses": {
"description" : "An array of email addresses to use as a basis for a suggestions search within your system.",
"type": "array",
"items": [
{
"type": "string"
},
{
"type": "string"
}
]
}
},
"required": [
"userEmailAddresses"
]
}

Payload Example

{
"filter" : "filterText",
"userEmailAddresses" : [
"someone@companyA.com",
"someoneelse@companyB.com",
]
}

Expected Response

HTTP 200 OK

Response Schema

{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array",
"items": [
{
"type": "object",
"properties": {
"name": {
"type": "string"
"description" : "Contact name"
},
"emailAddress": {
"type": "string",
"description" : "Contact's email address (to invite to join updatedge)"
},
"profileImageUrl": {
"type": "string",
"description" : "Full url to profile image to be retrieved from your endpoint"
},
"ratings": {
"type": "array",
"items": [
{
"type": "object",
"properties": {
"rating": {
"type": "integer"
"description": "Value from 1-5 where 5=best, 1=worst"
},
"ratingProvider": {
"type": "string",
"description" : "Name of entity within your system that has given this contact the rating"
},
"lastWorked": {
"type": "date-time"
"description" : "Date/time (UTC) that contact last worked at the rating provider"
}
},
"required": [
"rating",
"ratingProvider",
"lastWorked"
]
}
]
}
},
"required": [
"name",
"emailAddress",
"ratings"
]
}
]
}

Response Example

{[
{
"name": "Fred Smith",
"emailAddress": "fred@smith.com",
"profileImageUrl": "http://myorg.com/fred-smith.jpg",
"ratings": [
"rating": 3
"ratingProvider": "Another Organisation",
"lastWorked": "2019-01-02"
]
},
...
]}
```json