# Survey Tracker

## GET /partners/survey-tracker

> Get a survey tracker by ID

```json
{"openapi":"3.0.0","info":{"title":"Partners","version":"1.0.0"},"servers":[{"url":"https://api.fullwhere.com"}],"paths":{"/partners/survey-tracker":{"get":{"operationId":"PartnersSurveyTrackerController_getSurveyTracker","parameters":[{"name":"id","required":true,"in":"query","description":"The UUID of the survey tracker to retrieve","schema":{"type":"string"}},{"name":"X-API-KEY","in":"header","description":"Partner API Key","required":true,"schema":{"type":"string"}},{"name":"X-API-SECRET","in":"header","description":"Partner API Secret","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The survey tracker has been successfully retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartnerSurveyTracker"}}}},"400":{"description":"Invalid input format."},"401":{"description":"Unauthorized"},"404":{"description":"SurveyTracker not found."}},"summary":"Get a survey tracker by ID","tags":["Survey Tracker"]}}},"components":{"schemas":{"PartnerSurveyTracker":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier"},"createdAt":{"format":"date-time","type":"string","description":"Creation timestamp"},"updatedAt":{"format":"date-time","type":"string","description":"Last update timestamp"},"surveyId":{"type":"string","description":"Survey identifier"},"surveyName":{"type":"string","description":"Survey name"},"sendAt":{"format":"date-time","type":"string","description":"Estimate send date"},"sentAt":{"format":"date-time","type":"string","nullable":true,"description":"Actual send date when survey was sent","default":null},"resendAt":{"format":"date-time","type":"string","nullable":true,"description":"Date of resending the survey if it has not been completed within the time specified in the configuration","default":null},"resent":{"type":"boolean","description":"Determines whether a resend has been performed"},"sendingIndex":{"type":"number","description":"Index of the sending attempt (0 = first send, 1 = first resend, etc.)"},"customerId":{"type":"string","description":"Identifier of the customer associated with the survey tracker"},"purchaseId":{"type":"string","description":"Identifier of the purchase associated with the survey tracker"},"sendingType":{"description":"Type of survey sending","allOf":[{"$ref":"#/components/schemas/SurveySendingType"}]},"status":{"description":"Status of the survey tracker","allOf":[{"$ref":"#/components/schemas/SurveyTrackerStatus"}]},"link":{"type":"string","nullable":true,"description":"Link to access the survey\nOnly available after the survey has been sent","default":null},"newReviewLink":{"type":"string","nullable":true,"description":"Link of the external review page, if available (eg. Google Reviews)","default":null},"sentTo":{"type":"string","nullable":true,"description":"Email or phone number the survey was sent to\nOnly available after the survey has been sent","default":null},"switchedToSms":{"type":"boolean","description":"Indicates whether the survey was switched to SMS after failed whatsapp attempts"},"clicks":{"type":"number","description":"Number of clicks on the survey link"},"uniqueClicks":{"type":"number","description":"Number of unique clicks on the survey link"}},"required":["id","createdAt","updatedAt","surveyId","surveyName","sendAt","sentAt","resendAt","resent","sendingIndex","customerId","purchaseId","sendingType","status","link","newReviewLink","sentTo","switchedToSms","clicks","uniqueClicks"]},"SurveySendingType":{"type":"string","enum":["SMS","EMAIL","WHATSAPP","EXTERNAL"],"description":"Type of survey sending"},"SurveyTrackerStatus":{"type":"string","enum":["SCHEDULED","SENDING","SENT","DELIVERED","SPAMMED","BOUNCED","OPENED","LINK CLICKED","FAILED","MISSING CREDIT","CLOSED","REDIRECTED","PROCESSED"],"description":"Status of the survey tracker"}}}}
```

## POST /partners/survey-tracker/list

> List survey trackers

```json
{"openapi":"3.0.0","info":{"title":"Partners","version":"1.0.0"},"servers":[{"url":"https://api.fullwhere.com"}],"paths":{"/partners/survey-tracker/list":{"post":{"operationId":"PartnersSurveyTrackerController_listSurveyTrackers","parameters":[{"name":"X-API-KEY","in":"header","description":"Partner API Key","required":true,"schema":{"type":"string"}},{"name":"X-API-SECRET","in":"header","description":"Partner API Secret","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartnerSurveyTrackerListingParamsDto"}}}},"responses":{"201":{"description":"The survey trackers have been successfully listed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartnerSurveyTrackerListingOutput"}}}},"400":{"description":"Invalid input format."},"401":{"description":"Unauthorized"}},"summary":"List survey trackers","tags":["Survey Tracker"]}}},"components":{"schemas":{"PartnerSurveyTrackerListingParamsDto":{"type":"object","properties":{"limit":{"type":"number","description":"Pagination limit","default":10,"minimum":1,"maximum":100},"page":{"type":"number","description":"Page to retrieve","default":1,"minimum":1},"fromSendAt":{"type":"string","description":"Date range start (sendAt)","nullable":true},"toSendAt":{"type":"string","description":"Date range end (sendAt)","nullable":true},"purchases":{"description":"Purchase IDs to filter survey trackers","minItems":1,"maxItems":100,"nullable":true,"type":"array","items":{"type":"string","format":"uuid"}},"customers":{"description":"Customer IDs to filter survey trackers","minItems":1,"maxItems":100,"nullable":true,"type":"array","items":{"type":"string","format":"uuid"}},"statuses":{"description":"Statuses to filter survey trackers","minItems":1,"items":{"type":"string","enum":["SCHEDULED","SENDING","SENT","DELIVERED","SPAMMED","BOUNCED","OPENED","LINK CLICKED","FAILED","MISSING CREDIT","CLOSED","REDIRECTED","PROCESSED"]},"nullable":true,"type":"array"},"sendingTypes":{"description":"Sending types to filter survey trackers","minItems":1,"items":{"type":"string","enum":["SMS","EMAIL","WHATSAPP","EXTERNAL"]},"nullable":true,"type":"array"}}},"PartnerSurveyTrackerListingOutput":{"type":"object","properties":{"items":{"description":"List of survey trackers","type":"array","items":{"$ref":"#/components/schemas/PartnerSurveyTracker"}},"meta":{"description":"Listing metadata","allOf":[{"$ref":"#/components/schemas/PartnerListingOutputMeta"}]}},"required":["items","meta"]},"PartnerSurveyTracker":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier"},"createdAt":{"format":"date-time","type":"string","description":"Creation timestamp"},"updatedAt":{"format":"date-time","type":"string","description":"Last update timestamp"},"surveyId":{"type":"string","description":"Survey identifier"},"surveyName":{"type":"string","description":"Survey name"},"sendAt":{"format":"date-time","type":"string","description":"Estimate send date"},"sentAt":{"format":"date-time","type":"string","nullable":true,"description":"Actual send date when survey was sent","default":null},"resendAt":{"format":"date-time","type":"string","nullable":true,"description":"Date of resending the survey if it has not been completed within the time specified in the configuration","default":null},"resent":{"type":"boolean","description":"Determines whether a resend has been performed"},"sendingIndex":{"type":"number","description":"Index of the sending attempt (0 = first send, 1 = first resend, etc.)"},"customerId":{"type":"string","description":"Identifier of the customer associated with the survey tracker"},"purchaseId":{"type":"string","description":"Identifier of the purchase associated with the survey tracker"},"sendingType":{"description":"Type of survey sending","allOf":[{"$ref":"#/components/schemas/SurveySendingType"}]},"status":{"description":"Status of the survey tracker","allOf":[{"$ref":"#/components/schemas/SurveyTrackerStatus"}]},"link":{"type":"string","nullable":true,"description":"Link to access the survey\nOnly available after the survey has been sent","default":null},"newReviewLink":{"type":"string","nullable":true,"description":"Link of the external review page, if available (eg. Google Reviews)","default":null},"sentTo":{"type":"string","nullable":true,"description":"Email or phone number the survey was sent to\nOnly available after the survey has been sent","default":null},"switchedToSms":{"type":"boolean","description":"Indicates whether the survey was switched to SMS after failed whatsapp attempts"},"clicks":{"type":"number","description":"Number of clicks on the survey link"},"uniqueClicks":{"type":"number","description":"Number of unique clicks on the survey link"}},"required":["id","createdAt","updatedAt","surveyId","surveyName","sendAt","sentAt","resendAt","resent","sendingIndex","customerId","purchaseId","sendingType","status","link","newReviewLink","sentTo","switchedToSms","clicks","uniqueClicks"]},"SurveySendingType":{"type":"string","enum":["SMS","EMAIL","WHATSAPP","EXTERNAL"],"description":"Type of survey sending"},"SurveyTrackerStatus":{"type":"string","enum":["SCHEDULED","SENDING","SENT","DELIVERED","SPAMMED","BOUNCED","OPENED","LINK CLICKED","FAILED","MISSING CREDIT","CLOSED","REDIRECTED","PROCESSED"],"description":"Status of the survey tracker"},"PartnerListingOutputMeta":{"type":"object","properties":{"itemCount":{"type":"number","description":"Total number of items for the given page."},"totalItems":{"type":"number","description":"Total number of items."},"itemsPerPage":{"type":"number","description":"Number of items per page."},"totalPages":{"type":"number","description":"Total number of pages."},"currentPage":{"type":"number","description":"Current page number."}},"required":["itemCount","totalItems","itemsPerPage","totalPages","currentPage"]}}}}
```

## Generate survey trackers

> Generates external survey trackers for all applicable surveys based on the purchase ID provided.\
> Fullwhere does not send external survey trackers.\
> If an external survey tracker already exists for a survey/purchase combination, it will return the existing tracker.

```json
{"openapi":"3.0.0","info":{"title":"Partners","version":"1.0.0"},"servers":[{"url":"https://api.fullwhere.com"}],"paths":{"/partners/survey-tracker/generate":{"post":{"description":"Generates external survey trackers for all applicable surveys based on the purchase ID provided.\nFullwhere does not send external survey trackers.\nIf an external survey tracker already exists for a survey/purchase combination, it will return the existing tracker.","operationId":"PartnersSurveyTrackerController_generateSurveyTrackers","parameters":[{"name":"X-API-KEY","in":"header","description":"Partner API Key","required":true,"schema":{"type":"string"}},{"name":"X-API-SECRET","in":"header","description":"Partner API Secret","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartnerGenerateSurveyTrackerDto"}}}},"responses":{"201":{"description":"The survey trackers have been successfully generated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartnerSurveyTrackerGenerationOutput"}}}},"400":{"description":"Invalid input format."},"401":{"description":"Unauthorized"},"404":{"description":"Purchase not found."}},"summary":"Generate survey trackers","tags":["Survey Tracker"]}}},"components":{"schemas":{"PartnerGenerateSurveyTrackerDto":{"type":"object","properties":{"surveyId":{"type":"string","nullable":true,"description":"Optional survey ID to filter the search for matching surveys.\nPlease note that the survey must be valid for the specific purchase.\nOtherwise, an error will be returned.","format":"uuid"},"purchaseId":{"type":"string","description":"Purchase identifier to generate the survey link for","format":"uuid"}},"required":["purchaseId"]},"PartnerSurveyTrackerGenerationOutput":{"type":"object","properties":{"items":{"description":"List of generated survey trackers","type":"array","items":{"$ref":"#/components/schemas/PartnerSurveyTracker"}}},"required":["items"]},"PartnerSurveyTracker":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier"},"createdAt":{"format":"date-time","type":"string","description":"Creation timestamp"},"updatedAt":{"format":"date-time","type":"string","description":"Last update timestamp"},"surveyId":{"type":"string","description":"Survey identifier"},"surveyName":{"type":"string","description":"Survey name"},"sendAt":{"format":"date-time","type":"string","description":"Estimate send date"},"sentAt":{"format":"date-time","type":"string","nullable":true,"description":"Actual send date when survey was sent","default":null},"resendAt":{"format":"date-time","type":"string","nullable":true,"description":"Date of resending the survey if it has not been completed within the time specified in the configuration","default":null},"resent":{"type":"boolean","description":"Determines whether a resend has been performed"},"sendingIndex":{"type":"number","description":"Index of the sending attempt (0 = first send, 1 = first resend, etc.)"},"customerId":{"type":"string","description":"Identifier of the customer associated with the survey tracker"},"purchaseId":{"type":"string","description":"Identifier of the purchase associated with the survey tracker"},"sendingType":{"description":"Type of survey sending","allOf":[{"$ref":"#/components/schemas/SurveySendingType"}]},"status":{"description":"Status of the survey tracker","allOf":[{"$ref":"#/components/schemas/SurveyTrackerStatus"}]},"link":{"type":"string","nullable":true,"description":"Link to access the survey\nOnly available after the survey has been sent","default":null},"newReviewLink":{"type":"string","nullable":true,"description":"Link of the external review page, if available (eg. Google Reviews)","default":null},"sentTo":{"type":"string","nullable":true,"description":"Email or phone number the survey was sent to\nOnly available after the survey has been sent","default":null},"switchedToSms":{"type":"boolean","description":"Indicates whether the survey was switched to SMS after failed whatsapp attempts"},"clicks":{"type":"number","description":"Number of clicks on the survey link"},"uniqueClicks":{"type":"number","description":"Number of unique clicks on the survey link"}},"required":["id","createdAt","updatedAt","surveyId","surveyName","sendAt","sentAt","resendAt","resent","sendingIndex","customerId","purchaseId","sendingType","status","link","newReviewLink","sentTo","switchedToSms","clicks","uniqueClicks"]},"SurveySendingType":{"type":"string","enum":["SMS","EMAIL","WHATSAPP","EXTERNAL"],"description":"Type of survey sending"},"SurveyTrackerStatus":{"type":"string","enum":["SCHEDULED","SENDING","SENT","DELIVERED","SPAMMED","BOUNCED","OPENED","LINK CLICKED","FAILED","MISSING CREDIT","CLOSED","REDIRECTED","PROCESSED"],"description":"Status of the survey tracker"}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.fullwhere.com/developer/api-references/survey-tracker.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
