Pisano, sağlamış olduğu adaptör altyapısı ile beraber, şirketlerin kullandığı SMS servislerine entegre olarak müşteri geri bildirimi toplayabilir.
SMS ile anket gönderimi için aşağıdaki adımlar takip edilmelidir:
-
SMS servis sağlayıcısının tanımlanması: etkileşimli videodan yararlanarak tanımlamaları yapabilirsiniz.
- SMS kanalının tanımlanması, ilgili akışa bağlanması ve kullanılacak servis sağlayıcısının seçilmesi
- SMS kanalı üzerinden SMS gönderilebilmesi için link kısaltma servisinin aktif olması gerekmektedir. Pisano servisi bulut üzerinde aktiftir. On-prem kullanımlarda müşteri link kısaltma servisinin konfigüre edilmiş olması veya Pisano servisinin kullanılması beklenir.
-
SMS anketinin tetiklenmesi
-
Csv dosyası yükleyerek manuel tetikleme: Toplu anket gönderimi için tercih edilebilir. Anketin gönderimi her gün sıklıkla yapılmayacaksa kullanılır. Anketler manuel tetikleneceği için iş birimi tarafından ön hazırlık yapılması gerekir.
-
Workflow ile sms anketi tetiklemesi: planlanmış zamanlarda toplu anket gönderiminin otomatik olarak yapılması isteniyorsa tercih edilir.
-
API kullanarak (SMS Sharing) anketin tetiklenmesi (bu sayfada): işlem bazlı anketlerin otomatik olarak tetiklenmesi için tercih edilir. Müşteri işlemi gerçekleştirdikten hemen sonra anket gönderimi yapılabilir. API'nin ne zaman tetikleneceğine isteği gönderen sistem karar verir. API tetiklendiği anda SMS gönderimi sağlanır.
-
API kullanarak (SMS Sharing) anketin tetiklenmesi
Endpoint Bilgileri
POST https://<pisanoURL>/v1/sms_campaigns/:campaign_id/sms_sharings/
*** pisanoURL bilgisi Pisano tarafından sizinle paylaşılacaktır.
*** On-prem müşterileri için pisanoURL bilgisi, sistem yöneticisi tarafından API configmap (ENV) içerisinde api_host değişkenindeki bilgi ile değiştirilmelidir.
Parametreler
|
Parametre |
Değer |
|
campaign_id |
SMS ile gönderilecek kampanya ID (aşağıda anlatılmıştır) |
|
phone_numbers |
Telefon numaraları array’i |
|
custom_attributes |
Müşteri özel bilgi alanları ve değerleri. JSON Object |
|
built_in_responses |
Linke gömülecek geri bildirim bazlı bilgiler. JSON Object |
Başlıklar (HTTP Header)
|
Başlık |
Değer |
|
Content-Type |
application/json |
|
Authorization |
Token token=<API_TOKEN> |
Örnek cURL İsteği
curl --location 'https://<pisanoEnvironment>/v1/sms_campaigns/<campaignID>/sms_sharings' \
--header 'Authorization: <token>' \
--header 'Content-Type: application/json' \
--data '{
"phone_numbers": [
"<phone1>",
"<phone2>"
],
"custom_attributes": {
"<phone1>": {
"name": "<name1>",
"external_id": "<external_id1>",
"email": "<email1>"
},
"<phone2>": {
"name": "<name2>",
"external_id": "<external_id2>",
"email": "<email2>"
}
},
"built_in_responses": {
"<phone1>": {
"Segment": "<Segment1>",
"Location": "<Location1>",
"TransactionDate": "<TransactionDate1>"
},
"<phone2>": {
"Segment": "<Segment2>",
"Location": "<Location2>",
"TransactionDate": "<TransactionDate2>"
}
}
}'
# - 20 requests in 5 seconds
# - 40 requests in 25 seconds
# - 80 requests in 125 seconds (~2 min)
# - 160 requests in 625 seconds (~10 min)
Tek bir requestte best practice olarak max 5000 musteri icin tetikleme gerceklestirilmesi tavsiye edilmektedir.
On premise kurulumlarda Email & SMS & Push Notification & Link throttle limitleri artırılabilir veya tamamen kaldırılabilir
On premise kurulumlarda Throttle kuralları IP bazlı konfigüre edilebilir.
API id alma (campaign_id)
- Kanallar > SMS Kanallarına gidip ve "Kampanya Düzenle" butonuna tıklayınız.

- API kullanımında hangi kampanya için gönderim yapılmasını belirleyen API ID bu ekran üzerinden alınmaktadır. Örnek API ID:
13c53943-e63e-4910-9eac-91d56f7ef521 - Metin sonuna anket için oluşan link sistem tarafından gönderim sırasında otomatik olarak eklenmektedir

TOKEN alma - Pisano'da tüm API kullanımları için TOKEN almalısınız.
API Yanıt Kodları
|
Response Status Code |
Status |
Status Code |
Message |
|---|---|---|---|
|
200 |
OK (Successful) |
|
|
|
400 |
bad_request |
13000 |
An error occured |
|
401 |
unauthorized |
13001 |
Wrong authentication token |
|
404 |
NOT_FOUND |
13002 |
Requested resource not found! |
|
404 |
not_found |
13003 |
Reset Token not found |
|
404 |
not_found |
13005 |
This node, nor any of their parent has any flow |
|
403 |
forbidden |
13007 |
It's not allowed to update Pisano node |
|
400 |
bad_request |
13008 |
Record could not be deleted |
|
400 |
bad_request |
13009 |
Updated question already has responses |
|
404 |
not_found |
13010 |
User not found |
|
401 |
unauthorized |
13011 |
User is inactive |
|
409 |
conflict |
13012 |
Password does not match the old password |
|
403 |
forbidden |
13013 |
Permission denied |
|
400 |
bad_request |
13014 |
Wrong activation code |
|
400 |
bad_request |
13015 |
Required field not present in params! |
|
404 |
not_found |
13016 |
Token not found |
|
400 |
bad_request |
13017 |
Duplicate value |
|
404 |
not_found |
13018 |
Response not found |
|
404 |
not_found |
13019 |
Activation token not found |
|
400 |
bad_request |
13020 |
You selected a reserved node type. Please choose another one. |
|
400 |
bad_request |
13024 |
Multiple responses given for a non-multiple choice question |
|
400 |
bad_request |
13026 |
Captcha is invalid |
|
400 |
bad_request |
13028 |
Invalid parameters |
|
400 |
bad_request |
13029 |
Invalid security hash |
|
400 |
bad_request |
13030 |
Invalid authentication token |
|
400 |
bad_request |
13031 |
Invalid proxy server parameters |
|
409 |
conflict |
13032 |
Wrong credentials |
|
400 |
bad_request |
13033 |
Invalid SDK credentials |
|
400 |
bad_request |
13034 |
Invalid Flow |
|
404 |
not_found |
13035 |
Node not found |
|
403 |
forbidden |
13036 |
Account locked |
|
400 |
bad_request |
13037 |
Malformatted CSV |
|
400 |
bad_request |
13038 |
Required customer identitiy keys not present in params! |