---
title: "Retrieve a questionnaire link"
method: POST
path: "/questionnaire-links"
tags: ["Endpoints"]
---

# Retrieve a questionnaire link

`POST /questionnaire-links`

Each questionnaire link points to a specific rendered questionnaire. The link will expire after a set amount of time.

## Request body

- QuestionnaireLinkRequest — The request parameters for generating a transactional questionnaire link.
  - `type` string — The type parameter defines the transactional event type. This parameter is useful to connect a feedback with a specific transaction type (e.g. sales, after-sales, checkout, etc.). By default the type is `link_generation`.
  - `questionnaireTemplate` object, required — The `questionnaireTemplate` property identifies the questionnaire template used to render the actual questionnaire.
    - `id` string, required — The `id` property is the *eTrusted* ID of the questionnaire template to use. You can get the list of available templates using the [Templates API](/reference/getalltemplates)
  - `customer` object, required — The customer object includes all data of the customer who is invited to leave a review. If developers do not want to use the optional properties, they should omit them instead of including empty strings as their values.
    - `id` string — The ID of the customer who is invited to leave a review.
    - `firstName` string — First name of the customer who is invited to leave a review (e.g. `John`).
    - `lastName` string — Last name of the customer who is invited to leave a review (e.g. `Doe`).
    - `email` string, required — Email address of the customer who is invited to leave a review (e.g. `john.doe@example.com`). This must be a valid email address.
    - `mobile` string — Mobile telephone number of the customer who is invited to leave a review. The mobile number must have international format including `+` and country code. (e.g. `+49123456789`).
    - `address` string — Address of the customer who is invited to leave a review (e.g. `Anystreet 17, Anycity, Anystate 12345`).
  - `channel` object, required — A company can interact with their customers through different channels (e.g. online, offline, app, etc.). Those channels can be mapped in *eTrusted* under the account. The channel object contains the information about the channel associated with the review.
    - `id` string, required — The property `id` is the unique identifier of the channel associated with the review. Organisations can choose to use the *eTrusted* ID of the channel or an ID of any external system (e.g. `CH-123456`) if *eTrusted* is properly configured.
    - `type` 'user_defined' | 'etrusted' — `etrusted`: if the organisation chooses to use the *eTrusted* ID usually has the format `chl-xxxxxxxx-yyyy-xxxx-yyyy-xxxxxxxxxxxx`. `user_defined`: if the organisation uses an ID that was generated by themselves.
  - `transaction` object, required — The transaction object defines the transaction for which the customer shall write a review. If developers do not want to use the optional `date` property, they should omit it instead of including an empty strings as its value.
    - `reference` string, required — The reference property can contain any reference used by organisations to identify the transaction. This string must be unique (the order or invoice number, e.g. `order-12345`).
    - `date` string, date-time — The date reference specifies the date at which the event to be reviewed took place. It is a timestamp in the ISO 8601 and RFC3339 compliant format `yyyy-MM-dd’T’HH:mm:ss.SSSZ`. Check the [glossary](/docs/glossory#iso-8601) for examples of valid datetime formats.
  - `products` object[] — This is a list of products. It contains the products that are associated with the event. It includes all data needed for product reviews for these products. **NB:** The products property is required in case the `questionnaireTemplate` property is set to the id of the `Standalone Product Review Template`. If the product property is filled out for any of the other four `questionnaireTemplate` above, the product reviews page will be added to the generated questionnaire.
    - `gtin` string — The GTIN identifies the product globally. A GTIN can be an ISBN, an EAN, and much more. Refer to [gtin.info](https://www.gtin.info/)
    - `imageUrl` string — A link to a product image. *eTrusted* can display an image of the product to the customer who is writing a review. This makes it easier for customers to remember and recognize the product.
    - `name` string, required — The product name contains information about a product that is associated with the event (e.g. `Specialbrand T-Shirt White M`).
    - `mpn` string — The Manufacturer Part Number is an identifier for a product by the manufacturer if applicable. In some cases it can serve as a substitute for the GTIN.
    - `sku` string, required — The Stock Keeping Unit is a specific article number of the product, most often assigned by a specific retail shop as a scannable bar code. It lets the shops track movement of inventory. The SKU must be unique and usually consists of about 8 characters (e.g. `1234-TS-WH-M`).
    - `brand` string — The brand of the product (e.g. `specialbrand`). A product can only have one brand.
    - `url` string, required — A link to the product detail page in your online shop or public catalog (e.g. `http://www.specialbrandshop.com/article123-TS-WH-M/`).
  - `metadata` object — This object can be used to add information (besides what *eTrusted* provides by default) about the customer, event or anything else, e.g. for analysis purposes.
  - `system` string, required — The `system` property identifies the system that issued the questionnaire link API call (e.g. “salesforce”, “sap”, etc.).
  - `systemVersion` string, required — The `systemVersion` property identifies the version of the source system (e.g. “1.0”). This offers organisations the option to use different versions of the same integration without putting this information into the system name.

## Response `200`

OK

- QuestionnaireLinkResponse
  - `id` string, required — The property `id` identifies the actual questionnaire which was rendered (e.g. `qre-xxxxxxxx-yyyy-xxxx-yyyy-xxxxxxxxxxxx`).
  - `link` string, required — This is a link to the questionnaire which can be provided to the customer via the channel the organisation chooses (e.g., SMS, email, etc.). The link is shortened automatically so that it can also be used for channels with space limitations (e.g. SMS).
  - `token` string, required — The `questionnaireToken` is the jwt token of the questionnaire which was rendered. *eTrusted* uses the compact serialisation format as defined in JSON Web Signature (JWS) standard [rfc7515](https://datatracker.ietf.org/doc/html/rfc7515), like "head.payload.signature".

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden

---

[API](https://skmtc.net/etrusted/apis/accounts-api.md) · [All operations](https://skmtc.net/etrusted/apis/accounts-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/etrusted/accounts-api/versions/649ef7dac98c/schema)
