Create and Manage RFPs

3 minute read

Subscriber users can create, assign, and delete requests for proposal (RFPs) both in Service Automation and via the API.

Required Parameters

Below are parameters required to send the API requests described in this guide:

rfpId

Learn how to get the RFP ID.

If you create an RFP via the API, the Id is returned in the response body.

TradeId

Retrieve a list of trades using one of the methods below, and save the TradeId of the required trade.

Location.Id (locationId)

Send one of the following requests to get the Id of the required location:

ProviderId

Use this method to retrieve providers that service the required trade. Save the Id of the provider you want to assign the RFP to.

Create an RFP

The parameters required to create an RFP using the API are TradeId, Description, Location.Id, and ProviderId. Other parameters are optional. If you want to link an existing work order to the request, make sure you enter valid values for the PONumber and WONumber parameters.

When ready, send the following API request to create an RFP:

POST /rfps

Header Value
Content-Type application/json
Parameter Parameter type Example value
request Body See below

Example request:

POST https://sb2api.servicechannel.com/v3/rfps HTTP/1.1
Authorization: Bearer {access_token}
Content-Type: application/json

{
   "Number": "",
   "PONumber": "",
   "WONumber": "",
   "TradeId": 90480,
   "Description": "New doors for the office",
   "Date": "",
   "DueHrs": 48,
   "DueDate": "",
   "Location": {
      "Id": 2006071467,
      "StoreId": ""
   },
   "ProviderId": 2000090505,
   "ResponseDate": "",
   "ProposalNotificationEmail": "LFAlways1776@gmail.com",
   "ProviderEmail": "",
   "ProposalTemplateId": 0,
   "WorkOrderId": 0,
   "ProjectId": 0
}

Example response

{
   "Id": 894667
}

Response code: HTTP/1.1 201 Created

If the request succeeds, an RFP ID is returned in the response body.

This is how your created RFP appears in the UI in Service Automation:

An RFP created via the API is displayed on the RFPs List in Service Automation

Assign an RFP to Another Provider

To assign an RFP to another provider, first get the rfpId and ProviderId as described earlier in this guide. Please note that the provider you want to assign the RFP to should have access to the location and trade for which the RFP was created.

Now you can submit the below request to assign an RFP to the selected provider:

PUT /rfps/{rfpId}/assign

Header Value
Content-Type application/json
Parameter Parameter type Example value
rfpId Path 894450
request Body See below

AssignRfpRequest object

Element Data type Required Note
ProviderId Integer Required The unique numeric identifier of the provider to assign the RFP to.
ProviderEmail String Optional Provider’s email address to send a notification about the assigned RFP to. The default is the email address of the provider who is assigned the RFP.

Example request:

PUT https://sb2api.servicechannel.com/rfps/894450/assign HTTP/1.1
Authorization: Bearer {access_token}
Content-Type: application/json

{
   "ProviderId": 2000090505,
   "ProviderEmail": ""
}

Example response

{
   "id": 894467
}

Response code: HTTP/1.1 200 OK

An RFP ID is returned in the response body in case of a successful request.

Delete an RFP

Should your request for proposal be no longer relevant, you can delete it either by RFP ID or by RFP number and location ID. Make sure you have the required parameters before passing these requests.

To delete an RFP sent to a specific provider by its unique numeric Id, submit the following API request:

DELETE /rfps/{id}

Parameter Parameter type Example value
id Integer 894450

Example request:

DELETE https://sb2api.servicechannel.com/v3/rfps/894450 HTTP/1.1
Authorization: Bearer {access_token}

Response code: HTTP/1.1 204 No Content

Another way to delete an RFP is by passing its number and locationId it was created for. If there are several requests for proposal with the same number within a location, all of them will be deleted.

DELETE /rfps/{number}/locations/{locationId}

Parameter Parameter type Example value
number String rfp552020121129
locationId Integer 2006071467

Example request:

DELETE https://sb2api.servicechannel.com/v3/rfps/rfp552020121129/locations/2006071467 HTTP/1.1
Authorization: Bearer {access_token}

Response code: HTTP/1.1 204 No Content

Updated: