Skip to content
English
  • There are no suggestions because the search field is empty.

Pisano External API - Link Sharing - Generate a Personalized Link Sharing URL

Generate a personalized Link Sharing URL

Generate a customer-specific survey link that can be delivered by a third-party system.

POST /external/v1/link_sharings/{link_channel_id}/generate_link

Authentication

Authentication Method Token token=<TOKEN>

Request

Path Parameters

Parameter Type Required Description Example
link_channel_id string Yes Link channel ID. <link_channel_id>

Headers

Header Required Description Example
Accept No Expected response format. application/json
Content-Type Yes Request content type. application/json
Authorization Yes Pisano API token. Token token=<TOKEN>

Request Body

{
  "customer": {
    "email": "<email>",
    "external_id": "<external_id>"
  },
  "built_in_responses": {
    "Segment": "<Segment>",
    "Location": "<Location>",
    "TransactionDate": "<TransactionDate>"
  },
  "options": {
    "shorten_url": true
  }
}

Request Body Fields

Field Type Required Description Example
link_channel_id string Yes Link channel ID. <link_channel_id>
customer object Yes Customer-specific fields. {}
customer.email string No Customer email address. <email>
customer.phone_number string No Customer phone number. <phone_number>
customer.name string No Customer name. <name>
customer.external_id string No Customer/external identifier. <external_id>
built_in_responses object No Feedback-related values embedded in the survey URL. {}
options object No Link generation options. {}
options.shorten_url boolean No When true, returns a shortened link. true

Request Example

cURL Request Example
curl --location 'https://<pisanoURL>/external/v1/link_sharings/<link_channel_id>/generate_link' \
--header 'Accept: application/json' \
--header 'Authorization: Token token=<TOKEN>' \
--header 'Content-Type: application/json' \
--data '{
  "customer": {
    "email": "<email>",
    "external_id": "<external_id>"
  },
  "built_in_responses": {
    "Segment": "<Segment>",
    "Location": "<Location>",
    "TransactionDate": "<TransactionDate>"
  },
  "options": {
    "shorten_url": true
  }
}'

Responses

201 Created

Response Schema

Schema
└── link string

Response Fields

Field Type Required Description Example
link string Generated personalized survey link. https://psn.vc/<short_code>

Response Example

JSON 201 Response Example
{
  "link": "https://psn.vc/<short_code>"
}

Error Responses

400 Bad request

Bad request

Error Code
13000
Error Message
An error occurred
401 Unauthorized

Unauthorized

Error Code
13001
Error Message
Wrong authentication token
404 Not found

Not found

Error Code
13002
Error Message
Requested resource not found

Additional Information

Rate Limits

20 requests in 8 seconds. On-premise throttle limits can be increased or removed and can be configured by IP.

Usage Limitations

For personalized links, Pisano documents one request per customer. A Link Channel must already exist and have a flow assigned.