PushizoDocs
API referansı

Konuşmalar (WhatsApp, iki yönlü SMS)

Konuşmalar (WhatsApp, iki yönlü SMS) — 11 işlem (GET /v1/apps/{appId}/conversations, GET /v1/apps/{appId}/conversations/{conversationId}, GET /v1/apps/{appId}/conversations/{conversationId}/messages, …). OpenAPI 3.1.0 sözleşmesinden üretilir.

WhatsApp şablonları ve iki yönlü SMS/WhatsApp konuşmaları, anahtar sözcük (keyword) otomasyonları.

Taban adres: https://api.pushizo.com · Etiket: conversations · Etkileşimli belge (Scalar)

İşlemler

Ayrıntılar

Konuşmalar (SMS, WhatsApp, RCS; son mesaja göre; kanal/durum/okunmamış/kişi filtresi)

GET/v1/apps/{appId}/conversationsDene (etkileşimli API belgesi, yeni sekme)

Kimlik doğrulama: API anahtarı — kapsam users:read (admin her kapsamı içerir).

Parametreler

AdKonumTürZorunluAçıklamaÖrnek
limitsorguintegerHayırVarsayılan: 50; Aralık: 1–20050
cursorsorgustringHayırUzunluk: 1–∞"eyJpZCI6Im1zZ18wMUpE…"
channelsorguenumHayırDeğerler: "sms", "whatsapp", "rcs""sms"
statussorguenumHayırDeğerler: "open", "closed""open"
unreadsorguenumHayırDeğerler: "true", "false""true"
qsorgustringHayırUzunluk: 2–255"ayse"
appIdyolstringEvet"app_01JD3W5Q7X9K2M4N6P8R0T1V3W"

Yanıtlar

200 — Başarılı.

Şema: ConversationPage

AlanTürZorunluAçıklama
dataarray<object>Evet
data[].idstringEvet
data[].channelenumEvetDeğerler: "sms", "whatsapp", "rcs"
data[].statusenumEvetDeğerler: "open", "closed"
data[].subscription_idstringEvet
data[].subscription_statusstringEvet
data[].user_idstring | nullEvet
data[].external_idstring | nullEvet
data[].contactstringEvet
data[].opted_inbooleanEvet
data[].last_message_atstringEvet
data[].last_inbound_atstring | nullEvet
data[].last_directionenum | nullEvet
data[].last_message_previewstring | nullEvet
data[].unread_countintegerEvet
data[].windowobject | nullEvet
data[].created_atstringEvet
next_cursorstring | nullEvet
has_morebooleanEvet

Örnek yanıt:

{
  "data": [
    {
      "channel": "sms",
      "status": "open",
      "id": "cnv_01JD3W5Q7X9K2M4N6P8R0T1V3W",
      "subscription_id": "sub_01JD3W5Q7X9K2M4N6P8R0T1V3W",
      "subscription_status": "örnek",
      "user_id": "usr_01JD3W5Q7X9K2M4N6P8R0T1V3W",
      "external_id": "user_42",
      "contact": "örnek",
      "opted_in": true,
      "last_message_at": "örnek",
      "last_inbound_at": "örnek",
      "last_direction": "inbound",
      "last_message_preview": "örnek",
      "unread_count": 1,
      "window": {
        "open": true,
        "expires_at": "örnek"
      },
      "created_at": "örnek"
    }
  ],
  "next_cursor": "eyJpZCI6Im1zZ18wMUpE…",
  "has_more": true
}

Hata yanıtları ortak zarfla döner (error.code, message, details, request_id): hata kataloğu. Tüm yanıtlar X-RateLimit-* başlıklarını taşır (hız sınırları).

Örnekler

curl -X GET "https://api.pushizo.com/v1/apps/app_01JD3W5Q7X9K2M4N6P8R0T1V3W/conversations?limit=50" \
  -H "Authorization: Bearer $PUSHIZO_API_KEY"

Konuşma (WhatsApp oturum penceresi ve açık rıza durumu dahil)

GET/v1/apps/{appId}/conversations/{conversationId}Dene (etkileşimli API belgesi, yeni sekme)

Kimlik doğrulama: API anahtarı — kapsam users:read (admin her kapsamı içerir).

Parametreler

AdKonumTürZorunluAçıklamaÖrnek
conversationIdyolstringEvet"cnv_01JD3W5Q7X9K2M4N6P8R0T1V3W"
appIdyolstringEvet"app_01JD3W5Q7X9K2M4N6P8R0T1V3W"

Yanıtlar

200 — Başarılı.

Şema: Conversation

AlanTürZorunluAçıklama
idstringEvet
channelenumEvetDeğerler: "sms", "whatsapp", "rcs"
statusenumEvetDeğerler: "open", "closed"
subscription_idstringEvet
subscription_statusstringEvet
user_idstring | nullEvet
external_idstring | nullEvet
contactstringEvet
opted_inbooleanEvet
last_message_atstringEvet
last_inbound_atstring | nullEvet
last_directionenum | nullEvet
last_message_previewstring | nullEvet
unread_countintegerEvet
windowobject | nullEvet
created_atstringEvet

Örnek yanıt:

{
  "channel": "sms",
  "status": "open",
  "id": "cnv_01JD3W5Q7X9K2M4N6P8R0T1V3W",
  "subscription_id": "sub_01JD3W5Q7X9K2M4N6P8R0T1V3W",
  "subscription_status": "örnek",
  "user_id": "usr_01JD3W5Q7X9K2M4N6P8R0T1V3W",
  "external_id": "user_42",
  "contact": "örnek",
  "opted_in": true,
  "last_message_at": "örnek",
  "last_inbound_at": "örnek",
  "last_direction": "inbound",
  "last_message_preview": "örnek",
  "unread_count": 1,
  "window": {
    "open": true,
    "expires_at": "örnek"
  },
  "created_at": "örnek"
}

Hata yanıtları ortak zarfla döner (error.code, message, details, request_id): hata kataloğu. Tüm yanıtlar X-RateLimit-* başlıklarını taşır (hız sınırları).

Örnekler

curl -X GET "https://api.pushizo.com/v1/apps/app_01JD3W5Q7X9K2M4N6P8R0T1V3W/conversations/cnv_01JD3W5Q7X9K2M4N6P8R0T1V3W" \
  -H "Authorization: Bearer $PUSHIZO_API_KEY"

Konuşma mesajları (yeniden eskiye; giden mesaj durumu teslimattan)

GET/v1/apps/{appId}/conversations/{conversationId}/messagesDene (etkileşimli API belgesi, yeni sekme)

Kimlik doğrulama: API anahtarı — kapsam users:read (admin her kapsamı içerir).

Parametreler

AdKonumTürZorunluAçıklamaÖrnek
conversationIdyolstringEvet"cnv_01JD3W5Q7X9K2M4N6P8R0T1V3W"
limitsorguintegerHayırVarsayılan: 50; Aralık: 1–20050
cursorsorgustringHayırUzunluk: 1–∞"eyJpZCI6Im1zZ18wMUpE…"
appIdyolstringEvet"app_01JD3W5Q7X9K2M4N6P8R0T1V3W"

Yanıtlar

200 — Başarılı.

Şema: ConversationMessagePage

AlanTürZorunluAçıklama
dataarray<object>Evet
data[].idstringEvet
data[].directionenumEvetDeğerler: "inbound", "outbound"
data[].statusstringEvet
data[].bodystring | nullEvet
data[].contentmap<string, any>Evet
data[].message_idstring | nullEvet
data[].delivery_idstring | nullEvet
data[].sent_bystring | nullEvet
data[].error_codestring | nullEvet
data[].read_atstring | nullEvet
data[].created_atstringEvet
next_cursorstring | nullEvet
has_morebooleanEvet

Örnek yanıt:

{
  "data": [
    {
      "status": "örnek",
      "id": "cnv_01JD3W5Q7X9K2M4N6P8R0T1V3W",
      "direction": "inbound",
      "body": "Takip bağlantısı içeride",
      "content": {
        "contents": {
          "tr": "Siparişiniz yola çıktı"
        }
      },
      "message_id": "msg_01JD3W5Q7X9K2M4N6P8R0T1V3W",
      "delivery_id": "dlv_01JD3W5Q7X9K2M4N6P8R0T1V3W",
      "sent_by": "örnek",
      "error_code": "örnek",
      "read_at": "örnek",
      "created_at": "örnek"
    }
  ],
  "next_cursor": "eyJpZCI6Im1zZ18wMUpE…",
  "has_more": true
}

Hata yanıtları ortak zarfla döner (error.code, message, details, request_id): hata kataloğu. Tüm yanıtlar X-RateLimit-* başlıklarını taşır (hız sınırları).

Örnekler

curl -X GET "https://api.pushizo.com/v1/apps/app_01JD3W5Q7X9K2M4N6P8R0T1V3W/conversations/cnv_01JD3W5Q7X9K2M4N6P8R0T1V3W/messages?limit=50" \
  -H "Authorization: Bearer $PUSHIZO_API_KEY"

Yanıt gönder. WhatsApp: açık rıza zorunlu; son gelen mesajdan 24 saat içinde metin/medya, pencere dışında yalnızca onaylı şablon (aksi 422 WHATSAPP_WINDOW_CLOSED).

POST/v1/apps/{appId}/conversations/{conversationId}/messagesDene (etkileşimli API belgesi, yeni sekme)

Kimlik doğrulama: API anahtarı — kapsam notifications:write (admin her kapsamı içerir).

Parametreler

AdKonumTürZorunluAçıklamaÖrnek
conversationIdyolstringEvet"cnv_01JD3W5Q7X9K2M4N6P8R0T1V3W"
appIdyolstringEvet"app_01JD3W5Q7X9K2M4N6P8R0T1V3W"

İstek gövdesi (zorunlu)

Şema: ConversationReplyDto

AlanTürZorunluAçıklama
textstringHayırUzunluk: 1–4096
templateobjectHayır
template.namestringEvet
template.languagestringEvet
template.headerobjectHayır
template.body_paramsarray<string>HayırÖğe: 0–20
template.button_paramsarray<object>HayırÖğe: 0–10
template.button_params[].indexintegerEvetAralık: 0–9
template.button_params[].sub_typeenumEvetDeğerler: "url", "quick_reply", "copy_code"
template.button_params[].valuestringEvetUzunluk: 1–256
mediaobjectHayır
media.typeenumEvetDeğerler: "image", "video", "document", "audio"
media.urlstring (url)EvetUzunluk: 0–2000
media.filenamestringHayırUzunluk: 1–240
interactiveobjectHayır
interactive.typeenumEvetDeğerler: "button", "list"
interactive.headerstringHayırUzunluk: 1–60
interactive.footerstringHayırUzunluk: 1–60
interactive.buttonsarray<object>HayırÖğe: 1–3
interactive.buttons[].idstringEvetUzunluk: 1–256
interactive.buttons[].titlestringEvetUzunluk: 1–20
interactive.listobjectHayır
interactive.list.buttonstringEvetUzunluk: 1–20
interactive.list.sectionsarray<object>EvetÖğe: 1–10
interactive.list.sections[].titlestringHayırUzunluk: 1–24
interactive.list.sections[].rowsarray<object>EvetÖğe: 1–10
interactive.list.sections[].rows[].idstringEvetUzunluk: 1–200
interactive.list.sections[].rows[].titlestringEvetUzunluk: 1–24
interactive.list.sections[].rows[].descriptionstringHayırUzunluk: 1–72

Örnek:

{
  "text": "Takip bağlantısı içeride",
  "template": {
    "name": "Sipariş bildirimleri",
    "language": "tr",
    "header": {
      "type": "text",
      "text": "Takip bağlantısı içeride"
    },
    "body_params": [
      "örnek"
    ],
    "button_params": [
      {
        "index": 1,
        "sub_type": "url",
        "value": "user_42"
      }
    ]
  },
  "media": {
    "url": "https://example.com/orders/1001",
    "type": "image",
    "filename": "örnek"
  },
  "interactive": {
    "type": "button",
    "header": "örnek",
    "footer": "örnek",
    "buttons": [
      {
        "id": "cnv_01JD3W5Q7X9K2M4N6P8R0T1V3W",
        "title": "Siparişiniz yola çıktı"
      }
    ]
  }
}

Yanıtlar

202 — Başarılı.

Şema: ConversationReplyResult

AlanTürZorunluAçıklama
message_idstringEvet
conversation_messageobjectEvet
conversation_message.idstringEvet
conversation_message.directionenumEvetDeğerler: "inbound", "outbound"
conversation_message.statusstringEvet
conversation_message.bodystring | nullEvet
conversation_message.contentmap<string, any>Evet
conversation_message.message_idstring | nullEvet
conversation_message.delivery_idstring | nullEvet
conversation_message.sent_bystring | nullEvet
conversation_message.error_codestring | nullEvet
conversation_message.read_atstring | nullEvet
conversation_message.created_atstringEvet

Örnek yanıt:

{
  "message_id": "msg_01JD3W5Q7X9K2M4N6P8R0T1V3W",
  "conversation_message": {
    "status": "örnek",
    "id": "msg_01JD3W5Q7X9K2M4N6P8R0T1V3W",
    "direction": "inbound",
    "body": "Takip bağlantısı içeride",
    "content": {
      "contents": {
        "tr": "Siparişiniz yola çıktı"
      }
    },
    "message_id": "msg_01JD3W5Q7X9K2M4N6P8R0T1V3W",
    "delivery_id": "dlv_01JD3W5Q7X9K2M4N6P8R0T1V3W",
    "sent_by": "örnek",
    "error_code": "örnek",
    "read_at": "örnek",
    "created_at": "örnek"
  }
}

Hata yanıtları ortak zarfla döner (error.code, message, details, request_id): hata kataloğu. Tüm yanıtlar X-RateLimit-* başlıklarını taşır (hız sınırları).

Örnekler

curl -X POST "https://api.pushizo.com/v1/apps/app_01JD3W5Q7X9K2M4N6P8R0T1V3W/conversations/cnv_01JD3W5Q7X9K2M4N6P8R0T1V3W/messages" \
  -H "Authorization: Bearer $PUSHIZO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "text": "Takip bağlantısı içeride",
  "template": {
    "name": "Sipariş bildirimleri",
    "language": "tr",
    "header": {
      "type": "text",
      "text": "Takip bağlantısı içeride"
    },
    "body_params": [
      "örnek"
    ],
    "button_params": [
      {
        "index": 1,
        "sub_type": "url",
        "value": "user_42"
      }
    ]
  },
  "media": {
    "url": "https://example.com/orders/1001",
    "type": "image",
    "filename": "örnek"
  },
  "interactive": {
    "type": "button",
    "header": "örnek",
    "footer": "örnek",
    "buttons": [
      {
        "id": "cnv_01JD3W5Q7X9K2M4N6P8R0T1V3W",
        "title": "Siparişiniz yola çıktı"
      }
    ]
  }
}'

Gelen mesajları okundu işaretle

POST/v1/apps/{appId}/conversations/{conversationId}/readDene (etkileşimli API belgesi, yeni sekme)

Kimlik doğrulama: API anahtarı — kapsam users:write (admin her kapsamı içerir).

Parametreler

AdKonumTürZorunluAçıklamaÖrnek
conversationIdyolstringEvet"cnv_01JD3W5Q7X9K2M4N6P8R0T1V3W"
appIdyolstringEvet"app_01JD3W5Q7X9K2M4N6P8R0T1V3W"

Yanıtlar

200 — Başarılı.

Şema: Conversation

AlanTürZorunluAçıklama
idstringEvet
channelenumEvetDeğerler: "sms", "whatsapp", "rcs"
statusenumEvetDeğerler: "open", "closed"
subscription_idstringEvet
subscription_statusstringEvet
user_idstring | nullEvet
external_idstring | nullEvet
contactstringEvet
opted_inbooleanEvet
last_message_atstringEvet
last_inbound_atstring | nullEvet
last_directionenum | nullEvet
last_message_previewstring | nullEvet
unread_countintegerEvet
windowobject | nullEvet
created_atstringEvet

Örnek yanıt:

{
  "channel": "sms",
  "status": "open",
  "id": "cnv_01JD3W5Q7X9K2M4N6P8R0T1V3W",
  "subscription_id": "sub_01JD3W5Q7X9K2M4N6P8R0T1V3W",
  "subscription_status": "örnek",
  "user_id": "usr_01JD3W5Q7X9K2M4N6P8R0T1V3W",
  "external_id": "user_42",
  "contact": "örnek",
  "opted_in": true,
  "last_message_at": "örnek",
  "last_inbound_at": "örnek",
  "last_direction": "inbound",
  "last_message_preview": "örnek",
  "unread_count": 1,
  "window": {
    "open": true,
    "expires_at": "örnek"
  },
  "created_at": "örnek"
}

Hata yanıtları ortak zarfla döner (error.code, message, details, request_id): hata kataloğu. Tüm yanıtlar X-RateLimit-* başlıklarını taşır (hız sınırları).

Örnekler

curl -X POST "https://api.pushizo.com/v1/apps/app_01JD3W5Q7X9K2M4N6P8R0T1V3W/conversations/cnv_01JD3W5Q7X9K2M4N6P8R0T1V3W/read" \
  -H "Authorization: Bearer $PUSHIZO_API_KEY"

İki yönlü mesaj anahtar sözcükleri (org geneli + bu app) ve yasal (ayrılmış) sözcükler

GET/v1/apps/{appId}/sms-keywordsDene (etkileşimli API belgesi, yeni sekme)

Kimlik doğrulama: API anahtarı — kapsam admin (admin her kapsamı içerir).

Parametreler

AdKonumTürZorunluAçıklamaÖrnek
appIdyolstringEvet"app_01JD3W5Q7X9K2M4N6P8R0T1V3W"

Yanıtlar

200 — Başarılı.

Şema: SmsKeywordList

AlanTürZorunluAçıklama
dataarray<object>Evet
data[].idstringEvet
data[].keywordstringEvet
data[].scopeenumEvetDeğerler: "org", "app"
data[].app_idstring | nullEvet
data[].channelsarray<enum>Evet
data[].actionsmap<string, any>Evet
data[].enabledbooleanEvet
data[].descriptionstring | nullEvet
data[].created_atstringEvet
data[].updated_atstringEvet
reservedarray<string>Evet

Örnek yanıt:

{
  "data": [
    {
      "channels": [
        "sms"
      ],
      "enabled": true,
      "id": "cnv_01JD3W5Q7X9K2M4N6P8R0T1V3W",
      "keyword": "örnek",
      "scope": "org",
      "app_id": "app_01JD3W5Q7X9K2M4N6P8R0T1V3W",
      "actions": {
        "key": "örnek"
      },
      "description": "Sipariş durumu güncellemeleri",
      "created_at": "örnek",
      "updated_at": "örnek"
    }
  ],
  "reserved": [
    "örnek"
  ]
}

Hata yanıtları ortak zarfla döner (error.code, message, details, request_id): hata kataloğu. Tüm yanıtlar X-RateLimit-* başlıklarını taşır (hız sınırları).

Örnekler

curl -X GET "https://api.pushizo.com/v1/apps/app_01JD3W5Q7X9K2M4N6P8R0T1V3W/sms-keywords" \
  -H "Authorization: Bearer $PUSHIZO_API_KEY"

Anahtar sözcük oluştur (tag ekle/kaldır, olay → journey tetiği, otomatik yanıt, abonelik)

POST/v1/apps/{appId}/sms-keywordsDene (etkileşimli API belgesi, yeni sekme)

Kimlik doğrulama: API anahtarı — kapsam admin (admin her kapsamı içerir).

Parametreler

AdKonumTürZorunluAçıklamaÖrnek
appIdyolstringEvet"app_01JD3W5Q7X9K2M4N6P8R0T1V3W"

İstek gövdesi (zorunlu)

Şema: CreateKeywordDto

AlanTürZorunluAçıklama
keywordstringEvetUzunluk: 1–30
scopeenumHayırDeğerler: "org", "app"
channelsarray<enum>HayırÖğe: 1–3
actionsobjectEvet
actions.add_tagsmap<string, string>Hayır
actions.remove_tagsarray<string>HayırÖğe: 0–50
actions.eventobjectHayır
actions.event.namestringEvet
actions.event.propertiesmap<string, string>Hayır
actions.replyobjectHayır
actions.reply.textstringEvetUzunluk: 1–1600
actions.opt_inbooleanHayır
enabledbooleanHayır
descriptionstringHayırUzunluk: 0–300

Örnek:

{
  "keyword": "örnek",
  "actions": {
    "add_tags": {
      "key": "user_42"
    },
    "remove_tags": [
      "örnek"
    ],
    "event": {
      "name": "purchase",
      "properties": {
        "order_id": "1001"
      }
    }
  },
  "channels": [
    "sms"
  ],
  "enabled": true,
  "scope": "org",
  "description": "Sipariş durumu güncellemeleri"
}

Yanıtlar

201 — Başarılı.

Şema: SmsKeyword

AlanTürZorunluAçıklama
idstringEvet
keywordstringEvet
scopeenumEvetDeğerler: "org", "app"
app_idstring | nullEvet
channelsarray<enum>Evet
actionsmap<string, any>Evet
enabledbooleanEvet
descriptionstring | nullEvet
created_atstringEvet
updated_atstringEvet

Örnek yanıt:

{
  "channels": [
    "sms"
  ],
  "enabled": true,
  "id": "kw_01JD3W5Q7X9K2M4N6P8R0T1V3W",
  "keyword": "örnek",
  "scope": "org",
  "app_id": "app_01JD3W5Q7X9K2M4N6P8R0T1V3W",
  "actions": {
    "key": "örnek"
  },
  "description": "Sipariş durumu güncellemeleri",
  "created_at": "örnek",
  "updated_at": "örnek"
}

Hata yanıtları ortak zarfla döner (error.code, message, details, request_id): hata kataloğu. Tüm yanıtlar X-RateLimit-* başlıklarını taşır (hız sınırları).

Örnekler

curl -X POST "https://api.pushizo.com/v1/apps/app_01JD3W5Q7X9K2M4N6P8R0T1V3W/sms-keywords" \
  -H "Authorization: Bearer $PUSHIZO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "keyword": "örnek",
  "actions": {
    "add_tags": {
      "key": "user_42"
    },
    "remove_tags": [
      "örnek"
    ],
    "event": {
      "name": "purchase",
      "properties": {
        "order_id": "1001"
      }
    }
  },
  "channels": [
    "sms"
  ],
  "enabled": true,
  "scope": "org",
  "description": "Sipariş durumu güncellemeleri"
}'

Anahtar sözcüğü güncelle

PATCH/v1/apps/{appId}/sms-keywords/{keywordId}Dene (etkileşimli API belgesi, yeni sekme)

Kimlik doğrulama: API anahtarı — kapsam admin (admin her kapsamı içerir).

Parametreler

AdKonumTürZorunluAçıklamaÖrnek
keywordIdyolstringEvet"kw_01JD3W5Q7X9K2M4N6P8R0T1V3W"
appIdyolstringEvet"app_01JD3W5Q7X9K2M4N6P8R0T1V3W"

İstek gövdesi (zorunlu)

Şema: UpdateKeywordDto

AlanTürZorunluAçıklama
keywordstringHayırUzunluk: 1–30
channelsarray<enum>HayırÖğe: 1–3
actionsobjectHayır
actions.add_tagsmap<string, string>Hayır
actions.remove_tagsarray<string>HayırÖğe: 0–50
actions.eventobjectHayır
actions.event.namestringEvet
actions.event.propertiesmap<string, string>Hayır
actions.replyobjectHayır
actions.reply.textstringEvetUzunluk: 1–1600
actions.opt_inbooleanHayır
enabledbooleanHayır
descriptionstring | nullHayır

Örnek:

{
  "channels": [
    "sms"
  ],
  "enabled": true,
  "keyword": "örnek",
  "actions": {
    "add_tags": {
      "key": "user_42"
    },
    "remove_tags": [
      "örnek"
    ],
    "event": {
      "name": "purchase",
      "properties": {
        "order_id": "1001"
      }
    }
  },
  "description": "Sipariş durumu güncellemeleri"
}

Yanıtlar

200 — Başarılı.

Şema: SmsKeyword

AlanTürZorunluAçıklama
idstringEvet
keywordstringEvet
scopeenumEvetDeğerler: "org", "app"
app_idstring | nullEvet
channelsarray<enum>Evet
actionsmap<string, any>Evet
enabledbooleanEvet
descriptionstring | nullEvet
created_atstringEvet
updated_atstringEvet

Örnek yanıt:

{
  "channels": [
    "sms"
  ],
  "enabled": true,
  "id": "kw_01JD3W5Q7X9K2M4N6P8R0T1V3W",
  "keyword": "örnek",
  "scope": "org",
  "app_id": "app_01JD3W5Q7X9K2M4N6P8R0T1V3W",
  "actions": {
    "key": "örnek"
  },
  "description": "Sipariş durumu güncellemeleri",
  "created_at": "örnek",
  "updated_at": "örnek"
}

Hata yanıtları ortak zarfla döner (error.code, message, details, request_id): hata kataloğu. Tüm yanıtlar X-RateLimit-* başlıklarını taşır (hız sınırları).

Örnekler

curl -X PATCH "https://api.pushizo.com/v1/apps/app_01JD3W5Q7X9K2M4N6P8R0T1V3W/sms-keywords/kw_01JD3W5Q7X9K2M4N6P8R0T1V3W" \
  -H "Authorization: Bearer $PUSHIZO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "channels": [
    "sms"
  ],
  "enabled": true,
  "keyword": "örnek",
  "actions": {
    "add_tags": {
      "key": "user_42"
    },
    "remove_tags": [
      "örnek"
    ],
    "event": {
      "name": "purchase",
      "properties": {
        "order_id": "1001"
      }
    }
  },
  "description": "Sipariş durumu güncellemeleri"
}'

Anahtar sözcüğü sil

DELETE/v1/apps/{appId}/sms-keywords/{keywordId}Dene (etkileşimli API belgesi, yeni sekme)

Kimlik doğrulama: API anahtarı — kapsam admin (admin her kapsamı içerir).

Parametreler

AdKonumTürZorunluAçıklamaÖrnek
keywordIdyolstringEvet"kw_01JD3W5Q7X9K2M4N6P8R0T1V3W"
appIdyolstringEvet"app_01JD3W5Q7X9K2M4N6P8R0T1V3W"

Yanıtlar

200 — Başarılı.

Şema: Ok

AlanTürZorunluAçıklama
oktrueEvet

Örnek yanıt:

{
  "ok": true
}

Hata yanıtları ortak zarfla döner (error.code, message, details, request_id): hata kataloğu. Tüm yanıtlar X-RateLimit-* başlıklarını taşır (hız sınırları).

Örnekler

curl -X DELETE "https://api.pushizo.com/v1/apps/app_01JD3W5Q7X9K2M4N6P8R0T1V3W/sms-keywords/kw_01JD3W5Q7X9K2M4N6P8R0T1V3W" \
  -H "Authorization: Bearer $PUSHIZO_API_KEY"

WhatsApp şablonları (Meta onay durumu ile)

GET/v1/apps/{appId}/whatsapp/templatesDene (etkileşimli API belgesi, yeni sekme)

Kimlik doğrulama: API anahtarı — kapsam notifications:write (admin her kapsamı içerir).

Parametreler

AdKonumTürZorunluAçıklamaÖrnek
statussorgustringHayırUzunluk: 0–30"örnek"
appIdyolstringEvet"app_01JD3W5Q7X9K2M4N6P8R0T1V3W"

Yanıtlar

200 — Başarılı.

Şema: WhatsAppTemplateList

AlanTürZorunluAçıklama
dataarray<object>Evet
data[].idstringEvet
data[].external_idstring | nullEvet
data[].namestringEvet
data[].languagestringEvet
data[].categorystringEvet
data[].statusstringEvet
data[].componentsarray<map<string, any>>Evet
data[].body_paramsintegerEvet
data[].rejected_reasonstring | nullEvet
data[].quality_scorestring | nullEvet
data[].synced_atstringEvet

Örnek yanıt:

{
  "data": [
    {
      "name": "Sipariş bildirimleri",
      "status": "örnek",
      "id": "cnv_01JD3W5Q7X9K2M4N6P8R0T1V3W",
      "external_id": "user_42",
      "language": "tr",
      "category": "örnek",
      "components": [
        {
          "key": "örnek"
        }
      ],
      "body_params": 1,
      "rejected_reason": "örnek",
      "quality_score": "örnek",
      "synced_at": "örnek"
    }
  ]
}

Hata yanıtları ortak zarfla döner (error.code, message, details, request_id): hata kataloğu. Tüm yanıtlar X-RateLimit-* başlıklarını taşır (hız sınırları).

Örnekler

curl -X GET "https://api.pushizo.com/v1/apps/app_01JD3W5Q7X9K2M4N6P8R0T1V3W/whatsapp/templates" \
  -H "Authorization: Bearer $PUSHIZO_API_KEY"

WhatsApp şablonlarını Meta Graph API’den senkronla

POST/v1/apps/{appId}/whatsapp/templates/syncDene (etkileşimli API belgesi, yeni sekme)

Kimlik doğrulama: API anahtarı — kapsam admin (admin her kapsamı içerir).

Parametreler

AdKonumTürZorunluAçıklamaÖrnek
appIdyolstringEvet"app_01JD3W5Q7X9K2M4N6P8R0T1V3W"

Yanıtlar

200 — Başarılı.

Şema: WhatsAppTemplateSync

AlanTürZorunluAçıklama
totalintegerEvet
removedintegerEvet
dataarray<object>Evet
data[].idstringEvet
data[].external_idstring | nullEvet
data[].namestringEvet
data[].languagestringEvet
data[].categorystringEvet
data[].statusstringEvet
data[].componentsarray<map<string, any>>Evet
data[].body_paramsintegerEvet
data[].rejected_reasonstring | nullEvet
data[].quality_scorestring | nullEvet
data[].synced_atstringEvet

Örnek yanıt:

{
  "data": [
    {
      "name": "Sipariş bildirimleri",
      "status": "örnek",
      "id": "cnv_01JD3W5Q7X9K2M4N6P8R0T1V3W",
      "external_id": "user_42",
      "language": "tr",
      "category": "örnek",
      "components": [
        {
          "key": "örnek"
        }
      ],
      "body_params": 1,
      "rejected_reason": "örnek",
      "quality_score": "örnek",
      "synced_at": "örnek"
    }
  ],
  "total": 1,
  "removed": 1
}

Hata yanıtları ortak zarfla döner (error.code, message, details, request_id): hata kataloğu. Tüm yanıtlar X-RateLimit-* başlıklarını taşır (hız sınırları).

Örnekler

curl -X POST "https://api.pushizo.com/v1/apps/app_01JD3W5Q7X9K2M4N6P8R0T1V3W/whatsapp/templates/sync" \
  -H "Authorization: Bearer $PUSHIZO_API_KEY"

Bu sayfada