ProsperWorks Webhooks

What Are Webhooks?

Customers who integrate business systems want to be able to capture events that take place in ProsperWorks in real time. These events within ProsperWorks can trigger events in other integrated systems.

When a record is created, changed or deleted in ProsperWorks, you can trigger a process in another system,  real-time after the initial change. For example, when a Person’s record is updated in ProsperWorks, the record for the same Person in a billing system is simultaneously updated.

The event in ProsperWorks triggers the event in the connected system quickly, to minimize the chance of data inconsistency and to ensure that all  required steps will be performed  efficiently.

 

How to Use Webhooks

**We only support sending webhooks to HTTPS endpoints

Webhook concepts

Subscription

Register a URL that notifications will be sent to.

Notification

The object delivered by a webhook

Topic

The type of event that triggers a notification and the object it is related to

Subscription Types

Topics available for subscription

  • Create = a new record is created
  • Update = any field in the existing entity record is changed. Excludes: new entity relationships, new Activity or any change in meta data. Update events also exclude changes in Tags.
  • Delete = an existing record is removed

 

Subscribe to a notification

Request

Method: POST

Url: https://api.prosperworks.com/developer_api/v1/webhooks

Event options: { “new”, “update”, “delete” }

Type options: { “lead”, “project”, “task”, “opportunity”, “company”, “person” }

Optionally, you can include the in the request a custom secret in a key:value pair format. This data can be used to authenticate the request on the receiving endpoint.

 

Here is an example CURL request to subscribe to updates on opportunities: 

**target URL must be https. To test this you can usehttps://ngrok.com or http://requestb.in

curl --request POST \
--header "Content-Type: application/json" \
--header "X-PW-AccessToken:YOURTOKEN" \
--header "X-PW-Application: developer_api" \
--header "X-PW-UserEmail:YOUREMAIL" \
https://api.prosperworks.com/developer_api/v1/webhooks \
--data '{"target":"https://yourTargetURL.com","type": "deal","event": "update","secret":{"key":"value"}}'

 

Response

 

Unsubscribe from a notification

Request

Method: DELETE

Url: https://api.prosperworks.com/developer_api/v1/webhooks/<subscription_id>


Response

Receive Notification

Request

Our server sends the notifications as POST requests.

Url: <provided by user>

Notifications deliver the id's of the involved records as an array. An array may contain a single e.g. [17] or multiple ids e.g. [17,287,542] but it will always be an array format.

See the status of a specific notification

Request

Method: GET

Url: https://api.prosperworks.com/developer_api/v1/webhooks/<subscription_id>

Response

See the status of all active notifications

Request

Method: POST

Url: https://api.prosperworks.com/developer_api/v1/webhooks/

 

Response

 

Rate limits

The number of notifications sent are bound by the following limits. When a rate limit is exhausted, our system will stop sending notifications until the rate limit renews.

  • 600 notifications per minute per account
  • 1,800 notifications per account for every 10 minutes

Retries

Our server currently sends the notifications once, regardless of the results of the request. Please make sure the endpoint you specify is available as needed to receive notifications.

Was this article helpful?
1 out of 1 found this helpful
Have more questions? Submit a request

Comments

Article is closed for comments.