Dış sistemlerden toplamış olduğunuz geribildirimlerinizi Pisano üzerine, bir API çağrımı ile kolaylıkla aktarabilirsiniz.
Öncelikle, aktarım yapmak istediğiniz geri bildirimlere ait sorularınızı Pisano üzerinde bir Akış yaratarak tanımlamanız gerekir. (Akış yaratma detayları için: Akış Nasıl Oluşturulur? )
Akış yaratılırken dikkat edilmesi gereken nokta, her bir soru için Soru Anahtarı Değerinin tanımlanmış olmasıdır. Bu değerler API çağrımı esnasında kullanılacaktır.
Örneğin;

Burada verilen soru anahtarı, API çağrımı esnasında, ilgili soruya değer atanması için kullanılacaktır.
Aktarım yapılmak istenen tüm alanlar Pisano'daki akış üzerine tanımlandıktan sonra API çağrımı yapılabilir.
Dikkat: Her API çağrımı ile Pisano'ya 1 adet geri bildirim aktarılmış olur. Toplu olarak aktarım yapmak mümkün değildir. API, aktarım gerçekleştiğinde, Pisano'da oluşan yeni geri bildirimin UUID değerini döner.
Yüklü aktarım işlemleri, Pisano ekipleri ile görüşülüp, sistemi yormamak adına mesai saatleri dışında bir zamanda yapılmalıdır.
Soru ve Veri Tipleri Bazında API Request Detayları:
API çağrılırken; düz metin, tarih, kod gibi sorulara ait alanlar aşağıdaki kalıpta (body ile) gönderilmelidir:
{
"question_key": "shorttext",
"body": "Detaylı bilgi"
},
NPS, Memnuniyet sorusu gibi seçimli sorular ise şu şekilde (option_key ile) gönderilmelidir:
{
"question_key": "NPS",
"option_key": "10"
},
api.pisano.com.tr/external/v1/flows/{flow_id} API'si ile erişilebilir. Aşağıdaki, soru tipleri bazında soru seçeneklerinin gösterildiği gibi, her soru bazında bir dönüş alınacaktır. Dönen bu detayda, sorunun KEY değerine questions.key, soru seçenekli bir soru ise alabileceği değerlere de question.key.options[n].key ile ulaşılabilir.Soru Tipleri:
- Sentiment

Soru Seçenekleri:
"id": "b0c319c1-4fff-466a-83b8-fff48d3291cc",
"key": "sentiment",
"body": {
"TR": "Pisano'dan aldığınız hizmeti nasıl değerlendirirsiniz?"
},
"style": "plain",
"options": [
{
"id": "acc1e7c9-2145-4634-b2d4-034c57fb90e1",
"key": "Very Bad",
"body": {
"TR": ":frowning:"
}
},
{
"id": "0883f3c2-97fc-4fb7-a190-99016b662108",
"key": "Bad",
"body": {
"TR": ":slight_frown:"
}
},
{
"id": "f37b377e-5d29-4248-8c45-9335652367cb",
"key": "Average",
"body": {
"TR": ":neutral_face:"
}
},
{
"id": "e82f5f8f-db77-44c8-8961-f3d9ab2c953b",
"key": "Good",
"body": {
"TR": ":slight_smile:"
}
},
{
"id": "5b6b1126-a547-4e2e-b408-62012722aa3d",
"key": "Very Good",
"body": {
"TR": ":smiley:"
}
}
]
}
Örnek Gönderim Formatı:
{
"question_key": "sentiment",
"option_key": "Very Good"
},
- NPS

Soru Seçenekleri:
"id": "3a767e40-1053-43d1-bb6e-16d971944a7e",
"key": "nps",
"body": {
"TR": "Pisano'dan aldığınız hizmeti çevrenize ne ölçüde önerirsiniz?"
},
"style": "score",
"options": [
{
"id": "fa9f40fc-2f2c-4896-8ef7-14cdade599d5",
"key": "0",
"body": {
"TR": "0"
}
},
{
"id": "bcae07d9-a9f7-45b6-a0bb-b1850b2d8526",
"key": "1",
"body": {
"TR": "1"
}
},
{
"id": "2f78686c-2e10-4961-be16-54c9ef691155",
"key": "2",
"body": {
"TR": "2"
}
},
{
"id": "51fa7688-a1ae-43c0-a939-ed812b0a0a6b",
"key": "3",
"body": {
"TR": "3"
}
},
{
"id": "1eeb66c8-c68c-489b-8d6d-ca64c36445f7",
"key": "4",
"body": {
"TR": "4"
}
},
{
"id": "0b15d90b-bb50-4dc1-9bfb-c62d1ee1f3e6",
"key": "5",
"body": {
"TR": "5"
}
},
{
"id": "184cdd6b-35c6-41db-9f84-454751b1facb",
"key": "6",
"body": {
"TR": "6"
}
},
{
"id": "c5385b90-2aa7-4fd3-a2d3-7bd8e4d1a044",
"key": "7",
"body": {
"TR": "7"
}
},
{
"id": "38b609f2-7507-4926-bb42-86017bedbcdf",
"key": "8",
"body": {
"TR": "8"
}
},
{
"id": "d783fbad-46e6-46d6-8acd-59dd4eba8241",
"key": "9",
"body": {
"TR": "9"
}
},
{
"id": "6665939a-de77-4c0b-ae10-0fe00f88739a",
"key": "10",
"body": {
"TR": "10"
}
}
]
}
Örnek Gönderim Formatı:
{
"question_key": "nps",
"option_key": "9"
},
- Tekli Seçim

Soru Seçenekleri:
"id": "99df85de-c02a-4b51-b32d-a4cee6d3a0a0",
"key": "singlechoice",
"body": {
"TR": "Ürün kullanımı kolaydır"
},
"style": "radio",
"options": [
{
"id": "f92a9add-1aeb-4158-8f4f-9efe352ba517",
"key": "Evet",
"body": {
"TR": "Evet"
}
},
{
"id": "6bc59b21-8469-4597-99ef-9eb416ca1e9e",
"key": "Hayır",
"body": {
"TR": "Hayır"
}
}
]
}
Örnek Gönderim Formatı:
{
"question_key": "singlechoice",
"option_key": "Evet"
},
- Çoklu Seçim

Soru Seçenekleri:
"id": "3dbf3019-4ecb-4a1a-99fc-692fe231a630",
"key": "multiplechoice",
"body": {
"TR": "En beğendiğiniz özellikler"
},
"style": "checklist",
"options": [
{
"id": "a1964278-c7a9-4f46-84b6-8fa5b09f21ae",
"key": "Arayüz",
"body": {
"TR": "Basit ve anlaşılır arayüz"
}
},
{
"id": "19a25f68-781b-4954-89a5-85d7f95250ab",
"key": "Rapor",
"body": {
"TR": "Kolay hazırlanabilir raporlar"
}
},
{
"id": "4500373f-69a6-4507-b861-f8530f19625e",
"key": "Tasarım",
"body": {
"TR": "Tasarım kolaylığı"
}
},
{
"id": "7c119933-1e53-4205-a5c4-30dad589eb25",
"key": "Paylaşım",
"body": {
"TR": "Paylaşım kolaylığı"
}
},
{
"id": "49476d89-7d6e-421d-ad2a-b3d68dfb0e9d",
"key": "Diğer",
"body": {
"TR": "Diğer"
}
}
]
},
Örnek Gönderim Formatı:
{
"question_key": "multiplechoice",
"body": "Arayüz,Rapor,Tasarım"
},
- Kısa Metin

Soru Seçenekleri:
{
"id": "3e9fbae6-aba2-416e-ba19-e064a5724bc4",
"key": "shorttext",
"body": {
"TR": "Detay verebilir misiniz? (Kısa Metin)"
},
"style": "text",
"options": []
},
Örnek Gönderim Formatı:
{
"question_key": "shorttext",
"body": "Kısa metin değeri"
},
- Uzun Metin

Soru Seçenekleri:
{
"id": "bf678c5e-db10-417d-81a9-72353e496804",
"key": "longtext",
"body": {
"TR": "Detay verebilir misiniz? (Uzun Metin)"
},
"style": "textarea",
"options": []
},
Örnek Gönderim Formatı:
{
"question_key": "longtext",
"body": "Uzun metin değeri"
},
- Tarih

Soru Seçenekleri:
{
"id": "3378d548-5ece-481b-8e21-ffdb037bea6c",
"key": "date",
"body": {
"TR": "Tarih"
},
"style": "datepicker",
"options": []
},
Örnek Gönderim Formatı:
{
"question_key": "date",
"body": "28/02/2024"
},
- Sayısal
Soru Seçenekleri:
{
"id": "1b37683f-e816-4e55-b809-cef618d4e973",
"key": "numeric",
"body": {
"TR": "Sayısal"
},
"style": "numeric",
"options": []
},
Örnek Gönderim Formatı:
{
"question_key": "numeric",
"body": "5363563"
},
- Yıldız
Soru Seçenekleri:
{
"id": "be9eaa06-2203-4e8e-9460-a28a01c54fcb",
"key": "star",
"body": {
"TR": "Yıldız"
},
"style": "star",
"options": [
{
"id": "fe68c3af-1df8-46bb-8c85-14f5a13c5cb7",
"key": "1",
"body": {
"TR": "1"
}
},
{
"id": "7ce17d8b-e42b-447d-85ca-09442188d91e",
"key": "2",
"body": {
"TR": "2"
}
},
{
"id": "cccff0de-8b92-4ffa-b65f-03d351ea0118",
"key": "3",
"body": {
"TR": "3"
}
},
{
"id": "8aa4c96c-934a-45fa-beb9-e6f706f536c5",
"key": "4",
"body": {
"TR": "4"
}
},
{
"id": "6e4f75db-e478-44be-ada7-ce3df0a4b4d6",
"key": "5",
"body": {
"TR": "5"
}
}
]
},
Örnek Gönderim Formatı:
{
"question_key": "star",
"option_key": "4"
},
Full Request Örneği:
curl --location 'api.pisano.com.tr/external/v1/feedbacks' \
--header 'Content-Type: application/json' \
--header 'Authorization: Token token="{Token}"' \
--data '{
"node_id": "fa5fa92f-b308-4b0f-b662-76fe22683759", //Ara yüzden alınır
"flow_id": "3cf2da01-00ea-4962-8d98-c3fa191c630b", // Ara yüzden alınır
"created_at": "1709118000", // Timestamp 28/02/2024 14:00
"customer": {
"name": "Customer Name",
"phone_number": "909999999999"
},
"responses": [
{
"question_key": "sentiment",
"option_key": "Very Good"
},
{
"question_key": "nps",
"option_key": "9"
},
{
"question_key": "singlechoice",
"option_key": "Evet"
},
{
"question_key": "multiplechoice",
"body": "Arayüz,Rapor,Tasarım"
},
{
"question_key": "shorttext",
"body": "Kısa metin değeri"
},
{
"question_key": "longtext",
"body": "Uzun metin değeri"
},
{
"question_key": "date",
"body": "28/02/2024"
},
{
"question_key": "numeric",
"body": "5363563"
},
{
"question_key": "star",
"option_key": "4"
}
]
}'
Response Değerleri:
'201':
description: Feedback Created
content:
application/json:
'404':
description: error payload
content:
application/json:
examples:
question_not_found:
value:
error_message: "Requested resource not found!"
data: "Requested resource not found!"
code: 13002
errors:
question_id: null
no_options:
value:
error_message: "Requested resource not found!"
data: "Requested resource not found!"
code: 13002
errors: "There is no options for this question key: q2 and id: 271b4039-f3a3-4f61-b7a0-8d5b6abe522e"
'400':
description: error payload
content:
application/json:
example:
error_message: "Invalid parameters"
data: "Invalid parameters"
code: 13028
errors:
details:
- node:
error: "blank"
- customer_form:
error: "custom_identity_keys"
- customer:
error: "is invalid"
messages:
node:
- "can't be blank"
customer_form:
- "must contain custom customer identity keys"
customer:
- "is invalid"
full_messages:
- "Node can't be blank"
- "Customer form must contain custom customer identity keys"
- "Customer is invalid"
'401':
description: "Error: Unauthorized"