Workspace API

Rekomendacje

Endpointy „Rekomendacje” Zanfia Workspace API — ze schematami i przykładami kodu.

5 min czytaniaOstatnia aktualizacja: 26 lip 2026

Rekomendacje ("wall of love"): moderuj i wyróżniaj przesłane rekomendacje, dodawaj lub importuj je ręcznie, zarządzaj publicznymi formularzami zbierania i poproś konkretnego klienta o rekomendację e-mailem. Usunięcie rekomendacji jest nieodwracalne — panel zamiast tego ukrywa je przez status. Wszystkie endpointy wymagają nagłówka Authorization: Bearer — zobacz Uwierzytelnianie.

Lista rekomendacji

GET/testimonials

Authorization

bearerAuth
AuthorizationBearer <token>

API key from Dashboard → Integrations → API, MCP and CLI.

In: header

Query Parameters

status?string

Value in

  • "pending"
  • "approved"
  • "hidden"
productId?string
tag?string
limit?integer
Rangevalue <= 200
cursor?string

Response Body

application/json

application/json

curl -X GET "https://example.com/testimonials"
{  "testimonials": [    {      "id": "string",      "type": "text",      "featured": true,      "quote": "string",      "rating": 0,      "author": {        "name": "string",        "avatarUrl": "string",        "role": "string"      },      "video": {        "bunnyVideoId": "string",        "bunnyLibraryId": "string",        "thumbnailUrl": "string",        "durationSec": 0      },      "productIds": [        "string"      ],      "tags": [        "string"      ],      "source": "form",      "importedFrom": "string",      "submittedAt": 0,      "status": "pending",      "authorEmail": "string",      "formId": "string",      "approvedAt": 0,      "clientId": "string"    }  ],  "nextCursor": "string"}
{  "error": "string"}

Dodaj rekomendację

POST/testimonials

Authorization

bearerAuth
AuthorizationBearer <token>

API key from Dashboard → Integrations → API, MCP and CLI.

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Manual add / import by a workspace member (video manual adds are not supported).

Response Body

application/json

application/json

curl -X POST "https://example.com/testimonials" \  -H "Content-Type: application/json" \  -d '{    "type": "text",    "quote": "string",    "authorName": "string"  }'
{  "testimonial": {    "id": "string",    "type": "text",    "featured": true,    "quote": "string",    "rating": 0,    "author": {      "name": "string",      "avatarUrl": "string",      "role": "string"    },    "video": {      "bunnyVideoId": "string",      "bunnyLibraryId": "string",      "thumbnailUrl": "string",      "durationSec": 0    },    "productIds": [      "string"    ],    "tags": [      "string"    ],    "source": "form",    "importedFrom": "string",    "submittedAt": 0,    "status": "pending",    "authorEmail": "string",    "formId": "string",    "approvedAt": 0,    "clientId": "string"  }}
{  "error": "string"}

Poproś klienta o rekomendację

POST/testimonials/requests

Authorization

bearerAuth
AuthorizationBearer <token>

API key from Dashboard → Integrations → API, MCP and CLI.

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Ask a specific customer for a testimonial (one-off, creator-initiated). The form is resolved server-side: formId if given, else the active form for productId, else the workspace-general form.

Response Body

application/json

application/json

curl -X POST "https://example.com/testimonials/requests" \  -H "Content-Type: application/json" \  -d '{    "clientId": "string"  }'
{  "ok": true}
{  "error": "string"}

Edytuj rekomendację

PATCH/testimonials/{testimonialId}

Authorization

bearerAuth
AuthorizationBearer <token>

API key from Dashboard → Integrations → API, MCP and CLI.

In: header

Path Parameters

testimonialId*string

Testimonial id

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

curl -X PATCH "https://example.com/testimonials/string" \  -H "Content-Type: application/json" \  -d '{}'
{  "testimonial": {    "id": "string",    "type": "text",    "featured": true,    "quote": "string",    "rating": 0,    "author": {      "name": "string",      "avatarUrl": "string",      "role": "string"    },    "video": {      "bunnyVideoId": "string",      "bunnyLibraryId": "string",      "thumbnailUrl": "string",      "durationSec": 0    },    "productIds": [      "string"    ],    "tags": [      "string"    ],    "source": "form",    "importedFrom": "string",    "submittedAt": 0,    "status": "pending",    "authorEmail": "string",    "formId": "string",    "approvedAt": 0,    "clientId": "string"  }}
{  "error": "string"}

Usuń rekomendację

DELETE/testimonials/{testimonialId}

Authorization

bearerAuth
AuthorizationBearer <token>

API key from Dashboard → Integrations → API, MCP and CLI.

In: header

Path Parameters

testimonialId*string

Testimonial id

Response Body

application/json

application/json

curl -X DELETE "https://example.com/testimonials/string"
{  "deleted": true}
{  "error": "string"}

Lista formularzy rekomendacji

GET/testimonial-forms

Authorization

bearerAuth
AuthorizationBearer <token>

API key from Dashboard → Integrations → API, MCP and CLI.

In: header

Response Body

application/json

application/json

curl -X GET "https://example.com/testimonial-forms"
{  "forms": [    {      "id": "string",      "name": "string",      "slug": "string",      "productId": "string",      "headline": "string",      "questions": [        "string"      ],      "collectRating": true,      "collectRole": true,      "allowVideo": true,      "thankYouMessage": "string",      "active": true,      "createdAt": 0    }  ]}
{  "error": "string"}

Utwórz formularz rekomendacji

POST/testimonial-forms

Authorization

bearerAuth
AuthorizationBearer <token>

API key from Dashboard → Integrations → API, MCP and CLI.

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

curl -X POST "https://example.com/testimonial-forms" \  -H "Content-Type: application/json" \  -d '{    "name": "string"  }'
{  "form": {    "id": "string",    "name": "string",    "slug": "string",    "productId": "string",    "headline": "string",    "questions": [      "string"    ],    "collectRating": true,    "collectRole": true,    "allowVideo": true,    "thankYouMessage": "string",    "active": true,    "createdAt": 0  }}
{  "error": "string"}

Edytuj formularz rekomendacji

PATCH/testimonial-forms/{formId}

Authorization

bearerAuth
AuthorizationBearer <token>

API key from Dashboard → Integrations → API, MCP and CLI.

In: header

Path Parameters

formId*string

Form id

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

curl -X PATCH "https://example.com/testimonial-forms/string" \  -H "Content-Type: application/json" \  -d '{}'
{  "form": {    "id": "string",    "name": "string",    "slug": "string",    "productId": "string",    "headline": "string",    "questions": [      "string"    ],    "collectRating": true,    "collectRole": true,    "allowVideo": true,    "thankYouMessage": "string",    "active": true,    "createdAt": 0  }}
{  "error": "string"}

Usuń formularz rekomendacji

DELETE/testimonial-forms/{formId}

Authorization

bearerAuth
AuthorizationBearer <token>

API key from Dashboard → Integrations → API, MCP and CLI.

In: header

Path Parameters

formId*string

Form id

Response Body

application/json

application/json

curl -X DELETE "https://example.com/testimonial-forms/string"
{  "deleted": true}
{  "error": "string"}

Czy ten artykuł był pomocny?

Powiązane artykuły

Coś się nie zgadza? Napisz do nas na support@zanfia.com.