developer.myworkingfeedback.com
Open in
urlscan Pro
172.67.136.232
Public Scan
Submitted URL: https://api.workingfeedback.cloud/
Effective URL: https://developer.myworkingfeedback.com/
Submission: On November 05 via automatic, source certstream-suspicious — Scanned from GB
Effective URL: https://developer.myworkingfeedback.com/
Submission: On November 05 via automatic, source certstream-suspicious — Scanned from GB
Form analysis
0 forms found in the DOMText Content
NAV Go HTTP JavaScript Node.JS Python Ruby PHP * Working Feedback API v9.0.1 * Authentication * Feedback Requests * Create a new feedback request * Get an existing feedback request * List existing feedback requests * Reviews * Get a specific review * Get paginated company reviews * Schemas * FeedbackRequest * FeedbackRequestInput * Review * ErrorResponse * KeyValue WORKING FEEDBACK API V9.0.1 > Scroll down for code samples, example requests and responses. Select a > language for code samples from the tabs above or the mobile navigation menu. The Working Feedback API allows system integrators and clients to directly interact with the Working Feedback service from your own application using a simple REST-based API. All responses, including error messages, are returned in JSON. All URLs are relative to our API base domain which is https://api9.workingfeedback.co.uk AUTHENTICATION * HTTP Authentication, scheme: bearer All API resources are protected and require an access token, which should be passed as a Bearer token in the Authorization header. You can generate a personal access token from your Working Feedback dashboard. FEEDBACK REQUESTS At the heart of Working Feedback are feedback requests - requests sent via email or SMS asking the recipient to leave feedback on their experience. Working Feedback will handle the entire feedback request process from start to finish, meaning that integrators simply need to provide us the data necessary for creating a feedback request. CREATE A NEW FEEDBACK REQUEST > Code samples Copy to Clipboardpackage main import ( "bytes" "net/http" ) func main() { headers := map[string][]string{ "Content-Type": []string{"application/x-www-form-urlencoded"}, "Accept": []string{"application/json"}, "Authorization": []string{"Bearer {access-token}"}, } data := bytes.NewBuffer([]byte{jsonReq}) req, err := http.NewRequest("POST", "/request", data) req.Header = headers client := &http.Client{} resp, err := client.Do(req) // ... } Copy to ClipboardPOST /request HTTP/1.1 Content-Type: application/x-www-form-urlencoded Accept: application/json Copy to Clipboardconst inputBody = '{ "company": 0, "type": "email", "name": "string", "destination": "string", "platform": "workingfeedback", "businessName": "string", "jobTitle": "string", "source": "string", "treatmentType": "Unknown", "dateOfBirth": "string", "title": "string", "metadata": "string", "staffName": "string", "sendAfter": "string" }'; const headers = { 'Content-Type':'application/x-www-form-urlencoded', 'Accept':'application/json', 'Authorization':'Bearer {access-token}' }; fetch('/request', { method: 'POST', body: inputBody, headers: headers }) .then(function(res) { return res.json(); }).then(function(body) { console.log(body); }); Copy to Clipboardimport requests headers = { 'Content-Type': 'application/x-www-form-urlencoded', 'Accept': 'application/json', 'Authorization': 'Bearer {access-token}' } r = requests.post('/request', headers = headers) print(r.json()) Copy to Clipboardrequire 'rest-client' require 'json' headers = { 'Content-Type' => 'application/x-www-form-urlencoded', 'Accept' => 'application/json', 'Authorization' => 'Bearer {access-token}' } result = RestClient.post '/request', params: { }, headers: headers p JSON.parse(result) Copy to Clipboard<?php require 'vendor/autoload.php'; $headers = array( 'Content-Type' => 'application/x-www-form-urlencoded', 'Accept' => 'application/json', 'Authorization' => 'Bearer {access-token}', ); $client = new \GuzzleHttp\Client(); // Define array of request body. $request_body = array(); try { $response = $client->request('POST','/request', array( 'headers' => $headers, 'json' => $request_body, ) ); print_r($response->getBody()->getContents()); } catch (\GuzzleHttp\Exception\BadResponseException $e) { // handle exception or api errors. print_r($e->getMessage()); } // ... POST /request Creates a new email or SMS feedback request, queued for sending, with the given inputs. > Body parameter Copy to Clipboardcompany: 0 type: email name: string destination: string platform: workingfeedback businessName: string jobTitle: string source: string treatmentType: Unknown dateOfBirth: string title: string metadata: string staffName: string sendAfter: string PARAMETERS Name In Type Required Description body body FeedbackRequestInput true none > Example responses > 200 Response Copy to Clipboard{ "id": 0, "type": "SMS", "olderThan28Days": true, "destination": "string", "source": "string", "treatmentType": "Unknown", "platform": "workingfeedback", "opened": true, "sent": true, "success": true, "published": true, "reminders": 0, "rv_id": 0, "title": "string", "author": "string", "metadata": "string", "dates": { "created": "string", "updated": "string", "sent": "string", "reviewSubmitted": "string", "reviewModerated": "string", "reviewPublished": "string" } } RESPONSES Status Meaning Description Schema 200 OK A newly created feedback request that has been accepted for queueing FeedbackRequest 401 Unauthorized Your access token does not have permission to create feedback requests ErrorResponse 418 I’m a teapot A request for feedback has already been sent to this recipient within the threshold period (typically 28 days) ErrorResponse 422 Unprocessable Entity Queuing of the feedback request was rejected by our system. This may be because one or more inputs were invalid, or the person to be contacted was under the age of 18. Full details are returned in the error response ErrorResponse To perform this operation, you must be authenticated by means of one of the following methods: Bearer GET AN EXISTING FEEDBACK REQUEST > Code samples Copy to Clipboardpackage main import ( "bytes" "net/http" ) func main() { headers := map[string][]string{ "Accept": []string{"application/json"}, "Authorization": []string{"Bearer {access-token}"}, } data := bytes.NewBuffer([]byte{jsonReq}) req, err := http.NewRequest("GET", "/request/{id}", data) req.Header = headers client := &http.Client{} resp, err := client.Do(req) // ... } Copy to ClipboardGET /request/{id} HTTP/1.1 Accept: application/json Copy to Clipboard const headers = { 'Accept':'application/json', 'Authorization':'Bearer {access-token}' }; fetch('/request/{id}', { method: 'GET', headers: headers }) .then(function(res) { return res.json(); }).then(function(body) { console.log(body); }); Copy to Clipboardimport requests headers = { 'Accept': 'application/json', 'Authorization': 'Bearer {access-token}' } r = requests.get('/request/{id}', headers = headers) print(r.json()) Copy to Clipboardrequire 'rest-client' require 'json' headers = { 'Accept' => 'application/json', 'Authorization' => 'Bearer {access-token}' } result = RestClient.get '/request/{id}', params: { }, headers: headers p JSON.parse(result) Copy to Clipboard<?php require 'vendor/autoload.php'; $headers = array( 'Accept' => 'application/json', 'Authorization' => 'Bearer {access-token}', ); $client = new \GuzzleHttp\Client(); // Define array of request body. $request_body = array(); try { $response = $client->request('GET','/request/{id}', array( 'headers' => $headers, 'json' => $request_body, ) ); print_r($response->getBody()->getContents()); } catch (\GuzzleHttp\Exception\BadResponseException $e) { // handle exception or api errors. print_r($e->getMessage()); } // ... GET /request/{id} Retrieves the real-time state of an existing feedback request by ID. PARAMETERS Name In Type Required Description id path integer true none > Example responses > 200 Response Copy to Clipboard{ "id": 0, "type": "SMS", "olderThan28Days": true, "destination": "string", "source": "string", "treatmentType": "Unknown", "platform": "workingfeedback", "opened": true, "sent": true, "success": true, "published": true, "reminders": 0, "rv_id": 0, "title": "string", "author": "string", "metadata": "string", "dates": { "created": "string", "updated": "string", "sent": "string", "reviewSubmitted": "string", "reviewModerated": "string", "reviewPublished": "string" } } RESPONSES Status Meaning Description Schema 200 OK The feedback request associated with this id FeedbackRequest 401 Unauthorized Your access token does not have permission to get feedback requests ErrorResponse To perform this operation, you must be authenticated by means of one of the following methods: Bearer LIST EXISTING FEEDBACK REQUESTS > Code samples Copy to Clipboardpackage main import ( "bytes" "net/http" ) func main() { headers := map[string][]string{ "Accept": []string{"application/json"}, "Authorization": []string{"Bearer {access-token}"}, } data := bytes.NewBuffer([]byte{jsonReq}) req, err := http.NewRequest("GET", "/request/list/{companyId}", data) req.Header = headers client := &http.Client{} resp, err := client.Do(req) // ... } Copy to ClipboardGET /request/list/{companyId} HTTP/1.1 Accept: application/json Copy to Clipboard const headers = { 'Accept':'application/json', 'Authorization':'Bearer {access-token}' }; fetch('/request/list/{companyId}', { method: 'GET', headers: headers }) .then(function(res) { return res.json(); }).then(function(body) { console.log(body); }); Copy to Clipboardimport requests headers = { 'Accept': 'application/json', 'Authorization': 'Bearer {access-token}' } r = requests.get('/request/list/{companyId}', headers = headers) print(r.json()) Copy to Clipboardrequire 'rest-client' require 'json' headers = { 'Accept' => 'application/json', 'Authorization' => 'Bearer {access-token}' } result = RestClient.get '/request/list/{companyId}', params: { }, headers: headers p JSON.parse(result) Copy to Clipboard<?php require 'vendor/autoload.php'; $headers = array( 'Accept' => 'application/json', 'Authorization' => 'Bearer {access-token}', ); $client = new \GuzzleHttp\Client(); // Define array of request body. $request_body = array(); try { $response = $client->request('GET','/request/list/{companyId}', array( 'headers' => $headers, 'json' => $request_body, ) ); print_r($response->getBody()->getContents()); } catch (\GuzzleHttp\Exception\BadResponseException $e) { // handle exception or api errors. print_r($e->getMessage()); } // ... GET /request/list/{companyId} Lists recent feedback requests for any given companyId. PARAMETERS Name In Type Required Description companyId path integer true none > Example responses > 200 Response Copy to Clipboard{ "requests": [ { "id": 0, "type": "SMS", "olderThan28Days": true, "destination": "string", "source": "string", "treatmentType": "Unknown", "platform": "workingfeedback", "opened": true, "sent": true, "success": true, "published": true, "reminders": 0, "rv_id": 0, "title": "string", "author": "string", "metadata": "string", "dates": { "created": "string", "updated": "string", "sent": "string", "reviewSubmitted": "string", "reviewModerated": "string", "reviewPublished": "string" } } ] } RESPONSES Status Meaning Description Schema 200 OK A list of recent feedback requests (sorted descending) for the given company ID Inline 401 Unauthorized Your access token does not have permission to get feedback requests, or you do not have permission to view details for the given company ID ErrorResponse RESPONSE SCHEMA Status Code 200 Name Type Required Restrictions Description » requests [FeedbackRequest] false none none »» id integer false none The unique ID of this feedback request in our system »» type string false none The type of request to either - either SMS or email »» olderThan28Days boolean false none Whether or not this request is older than 28 days »» destination string false none The destination email address or mobile number that this feedback request has or will be sent to. For privacy, this field is obfuscated. After 28 days, [redacted] will be returned »» source string false none A human readable description of where this feedback request originated from. In most cases, this will be the name of the integration that submitted the request »» treatmentType string false none For healthcare industries only - whether or not this feedback request relates to an NHS or Private treatment (or Unknown). N/A is used for non healthcare industries »» platform string false none The platform that will be used for this feedback request. auto is recommended in all cases »» opened boolean false none Whether or not the email or SMS has been opened by the end user »» sent boolean false none Whether or not the feedback request has been sent by the system »» success boolean false none Whether or not this feedback request resulted in an eventual review submitted »» published boolean false none Whether or not the resulting review (if any) has been published by the moderation team »» reminders integer false none The number of follow up reminders sent by Working Feedback for this feedback request, if any »» rv_id integer false none The ID of the review that was collected as a result of this feedback request, if any »» title string false none The title given to this feedback request that will be pre-filled on opening (can be changed by the end user prior to submission) »» author string false none The name of the person that this feedback request was sent to. After 28 days, this will become [redacted] »» metadata string false none If supplied, the JSON metadata object attached to this feedback request in string representation »» dates object false none none »»» created string false none Timestamp when this feedback request was created in our system, in UTC »»» updated string false none Timestamp when this feedback request was last updated by our system, in UTC »»» sent string false none Timestamp when this feedback request was actually sent by our system, in UTC »»» reviewSubmitted string false none Timestamp when this feedback request resulted in a review submission, in UTC »»» reviewModerated string false none Timestamp when the resulting review submission was moderated, in UTC »»» reviewPublished string false none Timestamp when the resulting review submission was published and made live, in UTC ENUMERATED VALUES Property Value type SMS type email treatmentType Unknown treatmentType N/A treatmentType NHS treatmentType Private platform workingfeedback platform google platform auto To perform this operation, you must be authenticated by means of one of the following methods: Bearer REVIEWS Reviews collected by Working Feedback can be managed through this API. This includes - where applicable - reviews from Google and recommendations from Facebook. Note that reviews from third party platforms are prefixed with T for easy identification. GET A SPECIFIC REVIEW > Code samples Copy to Clipboardpackage main import ( "bytes" "net/http" ) func main() { headers := map[string][]string{ "Accept": []string{"application/json"}, "Authorization": []string{"Bearer {access-token}"}, } data := bytes.NewBuffer([]byte{jsonReq}) req, err := http.NewRequest("GET", "/review/{reviewId}", data) req.Header = headers client := &http.Client{} resp, err := client.Do(req) // ... } Copy to ClipboardGET /review/{reviewId} HTTP/1.1 Accept: application/json Copy to Clipboard const headers = { 'Accept':'application/json', 'Authorization':'Bearer {access-token}' }; fetch('/review/{reviewId}', { method: 'GET', headers: headers }) .then(function(res) { return res.json(); }).then(function(body) { console.log(body); }); Copy to Clipboardimport requests headers = { 'Accept': 'application/json', 'Authorization': 'Bearer {access-token}' } r = requests.get('/review/{reviewId}', headers = headers) print(r.json()) Copy to Clipboardrequire 'rest-client' require 'json' headers = { 'Accept' => 'application/json', 'Authorization' => 'Bearer {access-token}' } result = RestClient.get '/review/{reviewId}', params: { }, headers: headers p JSON.parse(result) Copy to Clipboard<?php require 'vendor/autoload.php'; $headers = array( 'Accept' => 'application/json', 'Authorization' => 'Bearer {access-token}', ); $client = new \GuzzleHttp\Client(); // Define array of request body. $request_body = array(); try { $response = $client->request('GET','/review/{reviewId}', array( 'headers' => $headers, 'json' => $request_body, ) ); print_r($response->getBody()->getContents()); } catch (\GuzzleHttp\Exception\BadResponseException $e) { // handle exception or api errors. print_r($e->getMessage()); } // ... GET /review/{reviewId} Get the review details (including private additional information) for a given reviewId. If no access token is passed then only publicly accessible fields are returned. PARAMETERS Name In Type Required Description reviewId path integer true none > Example responses > 200 Response Copy to Clipboard{ "id": "string", "status": "PUBLISHED", "author": { "name": "string", "job_title": "string", "business": "string", "email": "string" }, "has_reply": true, "anonymous": true, "title": "string", "text": "string", "rating": { "score": 0, "percentage": 0 }, "dates": { "submitted": "string", "published": "string", "rejected": "string", "investigated": "string", "restricted": "string", "escalated": "string", "verified": "string", "moderated": "string", "nhs_submitted": "string", "nhs_accepted": "string", "nhs_rejected": "string" } } RESPONSES Status Meaning Description Schema 200 OK The requested review Review 401 Unauthorized Your access token does not have permission to read review details, or you do not have permission to view details for the given company ID ErrorResponse To perform this operation, you must be authenticated by means of one of the following methods: Bearer GET PAGINATED COMPANY REVIEWS > Code samples Copy to Clipboardpackage main import ( "bytes" "net/http" ) func main() { headers := map[string][]string{ "Accept": []string{"application/json"}, "limit": []string{"0"}, "dateFrom": []string{"string"}, "dateTo": []string{"string"}, "ratings": []string{"string"}, "Authorization": []string{"Bearer {access-token}"}, } data := bytes.NewBuffer([]byte{jsonReq}) req, err := http.NewRequest("GET", "/company/{companyId}/reviews/{status}", data) req.Header = headers client := &http.Client{} resp, err := client.Do(req) // ... } Copy to ClipboardGET /company/{companyId}/reviews/{status} HTTP/1.1 Accept: application/json limit: 0 dateFrom: string dateTo: string ratings: string Copy to Clipboard const headers = { 'Accept':'application/json', 'limit':'0', 'dateFrom':'string', 'dateTo':'string', 'ratings':'string', 'Authorization':'Bearer {access-token}' }; fetch('/company/{companyId}/reviews/{status}', { method: 'GET', headers: headers }) .then(function(res) { return res.json(); }).then(function(body) { console.log(body); }); Copy to Clipboardimport requests headers = { 'Accept': 'application/json', 'limit': '0', 'dateFrom': 'string', 'dateTo': 'string', 'ratings': 'string', 'Authorization': 'Bearer {access-token}' } r = requests.get('/company/{companyId}/reviews/{status}', headers = headers) print(r.json()) Copy to Clipboardrequire 'rest-client' require 'json' headers = { 'Accept' => 'application/json', 'limit' => '0', 'dateFrom' => 'string', 'dateTo' => 'string', 'ratings' => 'string', 'Authorization' => 'Bearer {access-token}' } result = RestClient.get '/company/{companyId}/reviews/{status}', params: { }, headers: headers p JSON.parse(result) Copy to Clipboard<?php require 'vendor/autoload.php'; $headers = array( 'Accept' => 'application/json', 'limit' => '0', 'dateFrom' => 'string', 'dateTo' => 'string', 'ratings' => 'string', 'Authorization' => 'Bearer {access-token}', ); $client = new \GuzzleHttp\Client(); // Define array of request body. $request_body = array(); try { $response = $client->request('GET','/company/{companyId}/reviews/{status}', array( 'headers' => $headers, 'json' => $request_body, ) ); print_r($response->getBody()->getContents()); } catch (\GuzzleHttp\Exception\BadResponseException $e) { // handle exception or api errors. print_r($e->getMessage()); } // ... GET /company/{companyId}/reviews/{status} Get a paginated list of reviews for a given companyId, filtered by status and optionally dates and/or ratings. PARAMETERS Name In Type Required Description companyId path integer true The company ID of which you want to return reviews for status path string true One of published, rejected, or restricted to specify the review status to return page query integer false The page number to return when paginating results (default is 1) limit header integer false The maximum number of results to return per page dateFrom header string false The minimum date (in YYYY-MM-DD format) when specifing a date range dateTo header string false The maximum date (in YYYY-MM-DD format) when specifing a date range ratings header string false A comma separated list of star ratings to return ENUMERATED VALUES Parameter Value status published status rejected status restricted > Example responses > 200 Response Copy to Clipboard{ "reviews": [ { "id": "string", "status": "PUBLISHED", "author": { "name": "string", "job_title": "string", "business": "string", "email": "string" }, "has_reply": true, "anonymous": true, "title": "string", "text": "string", "rating": { "score": 0, "percentage": 0 }, "dates": { "submitted": "string", "published": "string", "rejected": "string", "investigated": "string", "restricted": "string", "escalated": "string", "verified": "string", "moderated": "string", "nhs_submitted": "string", "nhs_accepted": "string", "nhs_rejected": "string" } } ] } RESPONSES Status Meaning Description Schema 200 OK A paginated list of matching reviews for the given company ID Inline 401 Unauthorized Your access token does not have permission to read review details, or you do not have permission to view details for the company it relates to ErrorResponse 422 Unprocessable Entity The criteria specified was invalid. See the returned error for the exact reason(s) ErrorResponse RESPONSE SCHEMA Status Code 200 Name Type Required Restrictions Description » reviews [Review] false none none »» id string false none The unique ID of this review in our system »» status string false none The current status of the review »» author object false none none »»» name string false none The name of the author of this review »»» job_title string false none The job description of the author of this review »»» business string false none The business that the author of this review works at »»» email string false none The obfuscated email address of the authof of this review »» has_reply boolean false none Whether or not the review has a published reply associated with it »» anonymous boolean false none Whether or not the author is anonymous (name will be blanked if true) »» title string false none The title the author gave this review »» text string false none The text (main body) of the review itself »» rating object false none none »»» score integer false none The star rating given to this review (where 5 is the highest) »»» percentage integer false none The satisfaction rating of this review, expressed as a percentage »» dates object false none none »»» submitted string false none Timestamp when this review was submitted to us, in UTC »»» published string false none Timestamp when this review was published by our system, if applicable, in UTC »»» rejected string false none Timestamp when this review was rejected by our moderators, if applicable, in UTC »»» investigated string false none Timestamp when this review was investigated by our moderators, if applicable, in UTC »»» restricted string false none Timestamp when this review was restricted by our modereators, if applicable, in UTC »»» escalated string false none Timestamp when this review was escalated by the client, if applicable, in UTC »»» verified string false none Timestamp when this review was verified (anti-bot check) by the author, in UTC »»» moderated string false none Timestamp when this review was last moderated by our team, in UTC »»» nhs_submitted string false none Timestamp when this review was submitted to the NHS, if applicable, in UTC »»» nhs_accepted string false none Timestamp when this review was accepted and published by the NHS, if applicable, in UTC »»» nhs_rejected string false none Timestamp when this review was rejected for publication by the NHS, if applicable, in UTC ENUMERATED VALUES Property Value status PUBLISHED status REJECTED status RESTRICTED status UNDER_INVESTIGATION status PENDING status VERIFIED To perform this operation, you must be authenticated by means of one of the following methods: Bearer SCHEMAS FEEDBACKREQUEST Copy to Clipboard{ "id": 0, "type": "SMS", "olderThan28Days": true, "destination": "string", "source": "string", "treatmentType": "Unknown", "platform": "workingfeedback", "opened": true, "sent": true, "success": true, "published": true, "reminders": 0, "rv_id": 0, "title": "string", "author": "string", "metadata": "string", "dates": { "created": "string", "updated": "string", "sent": "string", "reviewSubmitted": "string", "reviewModerated": "string", "reviewPublished": "string" } } PROPERTIES Name Type Required Restrictions Description id integer false none The unique ID of this feedback request in our system type string false none The type of request to either - either SMS or email olderThan28Days boolean false none Whether or not this request is older than 28 days destination string false none The destination email address or mobile number that this feedback request has or will be sent to. For privacy, this field is obfuscated. After 28 days, [redacted] will be returned source string false none A human readable description of where this feedback request originated from. In most cases, this will be the name of the integration that submitted the request treatmentType string false none For healthcare industries only - whether or not this feedback request relates to an NHS or Private treatment (or Unknown). N/A is used for non healthcare industries platform string false none The platform that will be used for this feedback request. auto is recommended in all cases opened boolean false none Whether or not the email or SMS has been opened by the end user sent boolean false none Whether or not the feedback request has been sent by the system success boolean false none Whether or not this feedback request resulted in an eventual review submitted published boolean false none Whether or not the resulting review (if any) has been published by the moderation team reminders integer false none The number of follow up reminders sent by Working Feedback for this feedback request, if any rv_id integer false none The ID of the review that was collected as a result of this feedback request, if any title string false none The title given to this feedback request that will be pre-filled on opening (can be changed by the end user prior to submission) author string false none The name of the person that this feedback request was sent to. After 28 days, this will become [redacted] metadata string false none If supplied, the JSON metadata object attached to this feedback request in string representation dates object false none none » created string false none Timestamp when this feedback request was created in our system, in UTC » updated string false none Timestamp when this feedback request was last updated by our system, in UTC » sent string false none Timestamp when this feedback request was actually sent by our system, in UTC » reviewSubmitted string false none Timestamp when this feedback request resulted in a review submission, in UTC » reviewModerated string false none Timestamp when the resulting review submission was moderated, in UTC » reviewPublished string false none Timestamp when the resulting review submission was published and made live, in UTC ENUMERATED VALUES Property Value type SMS type email treatmentType Unknown treatmentType N/A treatmentType NHS treatmentType Private platform workingfeedback platform google platform auto FEEDBACKREQUESTINPUT Copy to Clipboard{ "company": 0, "type": "email", "name": "string", "destination": "string", "platform": "workingfeedback", "businessName": "string", "jobTitle": "string", "source": "string", "treatmentType": "Unknown", "dateOfBirth": "string", "title": "string", "metadata": "string", "staffName": "string", "sendAfter": "string" } PROPERTIES Name Type Required Restrictions Description company integer true none The company ID that this feedback request should be created for type string true none One of email or sms, to identify the type of feedback request to send name string true none The name of the recipient of this feedback request, as they should be addressed destination string true none The email address or mobile number this feedback request should be sent to platform string true none Recommended to set as auto to let Working Feedback decide the destination platform businessName string false none The name of the business that the recipient works for (e.g My Company Ltd) jobTitle string false none The job title of the person who this feedback request is being sent to source string false none The name of your platform or integration treatmentType string false none For healthcare industries only, the type of treatment that the recipient received dateOfBirth string false none The date of birth (in YYYY-MM-DD format) of the recipient title string false none An optional pre-filled title to be set when the recipient leaves feedback metadata string false none A JSON object containing optional metadata to attach, in string representation staffName string false none The full name of the staff member this feedback relates to, if any sendAfter string false none A timestamp of the earliest date and time this feedback request should be sent (useful for adding delays) ENUMERATED VALUES Property Value type email type sms platform workingfeedback platform google platform auto treatmentType Unknown treatmentType N/A treatmentType NHS treatmentType Private REVIEW Copy to Clipboard{ "id": "string", "status": "PUBLISHED", "author": { "name": "string", "job_title": "string", "business": "string", "email": "string" }, "has_reply": true, "anonymous": true, "title": "string", "text": "string", "rating": { "score": 0, "percentage": 0 }, "dates": { "submitted": "string", "published": "string", "rejected": "string", "investigated": "string", "restricted": "string", "escalated": "string", "verified": "string", "moderated": "string", "nhs_submitted": "string", "nhs_accepted": "string", "nhs_rejected": "string" } } PROPERTIES Name Type Required Restrictions Description id string false none The unique ID of this review in our system status string false none The current status of the review author object false none none » name string false none The name of the author of this review » job_title string false none The job description of the author of this review » business string false none The business that the author of this review works at » email string false none The obfuscated email address of the authof of this review has_reply boolean false none Whether or not the review has a published reply associated with it anonymous boolean false none Whether or not the author is anonymous (name will be blanked if true) title string false none The title the author gave this review text string false none The text (main body) of the review itself rating object false none none » score integer false none The star rating given to this review (where 5 is the highest) » percentage integer false none The satisfaction rating of this review, expressed as a percentage dates object false none none » submitted string false none Timestamp when this review was submitted to us, in UTC » published string false none Timestamp when this review was published by our system, if applicable, in UTC » rejected string false none Timestamp when this review was rejected by our moderators, if applicable, in UTC » investigated string false none Timestamp when this review was investigated by our moderators, if applicable, in UTC » restricted string false none Timestamp when this review was restricted by our modereators, if applicable, in UTC » escalated string false none Timestamp when this review was escalated by the client, if applicable, in UTC » verified string false none Timestamp when this review was verified (anti-bot check) by the author, in UTC » moderated string false none Timestamp when this review was last moderated by our team, in UTC » nhs_submitted string false none Timestamp when this review was submitted to the NHS, if applicable, in UTC » nhs_accepted string false none Timestamp when this review was accepted and published by the NHS, if applicable, in UTC » nhs_rejected string false none Timestamp when this review was rejected for publication by the NHS, if applicable, in UTC ENUMERATED VALUES Property Value status PUBLISHED status REJECTED status RESTRICTED status UNDER_INVESTIGATION status PENDING status VERIFIED ERRORRESPONSE Copy to Clipboard{ "message": "string", "errors": { "key": "string", "value": "string" } } PROPERTIES Name Type Required Restrictions Description message string true none A human readable description of the top-level error message errors KeyValue false none An array of individual key-value pairs containing errors that have occurred. This may be 1 or more errors per request KEYVALUE Copy to Clipboard{ "key": "string", "value": "string" } PROPERTIES Name Type Required Restrictions Description key string false none none value string false none none Go HTTP JavaScript Node.JS Python Ruby PHP