Webhooks API


Webhooks are HTTP callbacks that receive notification messages for events. Rather than making an API call when an event happens, File Request Pro can send an HTTP request to an endpoint you configure.

How do Webhooks work

File Request Pro offers and API to add webhooks to your account.

Webhooks Events

File request pro offers the following webhooks events

  • file.uploaded - Fires each time a file is uploaded to one of your pages.
  • request.created - Each time a new file request is created.
  • request.submitted - When a client response to your file request and the status is set to "To Review".
  • request.completed - When a request is marked as completed.
  • file.accepted - When a file is accepted.
  • file.rejected - When a file is rejected.


Notifications format

File Request Pro will send a POST request to your endpoint. The payload of the request will be a 2 fields JSON object:

  • type: type of notification
  • data: related object data


Security

File Request Pro signs the webhook post by including a frp-signature header in each event. This allows you to verify that the events were sent by File Request Pro, not by a third party.

The signature secret is return to you on the response while creating a webhook

Webhook API End-point

You should use our API to create, edit or delete a webhook.

GET /webhooks

Get a list of your webhooks

    GET https://filerequestpro.com/api/webhooks 

Response

{
    "success": true,
    "data": [
        {
            "id": 1,
            "url": "https://webhook.site/6b69ea4a-1d13-4038-adef-b18408e41c5e",
            "enabled_events": [
                "file.uploaded",
                "request.created",
                "request.submitted",
                "request.completed",
                "file.accepted",
                "file.rejected"
            ],
            "status": "enabled",
            "page_id": null
        }
    ]
}

POST /api/webhooks

Create a new webhook

curl --location --request POST 'https://filerequestpro.com/api/webhooks' \
--header 'Authorization: Bearer YOUR_TOKEN_HERE' \
--header 'Content-Type: application/json' \
--data-raw '{
    "url": "https://webhook.site/6b69ea4a-1d13-4038-adef-b18408e41c5e",
    "enabled_events": ["file.uploaded", "request.created", "request.submitted", "request.completed", "file.accepted", "file.rejected"],
    "status": "enabled"
}'

PUT /api/webhooks/{id}

Updates and existing webhook

curl --location --request PUT 'https://filerequestpro.com/api/webhooks/1' \
--header 'Authorization: Bearer YOUR_TOKEN_HERE' \
--header 'Content-Type: application/json' \
--data-raw '{
    "url": "https://webhook.site/6b69ea4a-1d13-4038-adef-b18408e41c5e",
    "enabled_events": ["request.created", "request.submitted", "request.completed", "file.accepted", "file.rejected"],
    "status": "disabled"
}'

DELETE /api/webhooks/{id}

Deletes a webhook