{
  "info": {
    "name": "WAG WAG API v0.1 — Pilot",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
    "description": "Pilot kurulumundan sonra baseUrl ve apiKey değişkenlerini kendi ortamında tanımla. Anahtarı paylaşma. Aynı işlemde aynı idempotencyKey kullan. Bu dosya hazır erişim sağlamaz."
  },
  "auth": {
    "type": "bearer",
    "bearer": [
      {
        "key": "token",
        "value": "{{apiKey}}",
        "type": "string"
      }
    ]
  },
  "variable": [
    {
      "key": "baseUrl",
      "value": "",
      "type": "string"
    },
    {
      "key": "apiKey",
      "value": "",
      "type": "string"
    },
    {
      "key": "resourceId",
      "value": "00000000-0000-4000-8000-000000000001",
      "type": "string"
    },
    {
      "key": "idempotencyKey",
      "value": "islem-0001",
      "type": "string"
    },
    {
      "key": "MESSAGE_ID",
      "value": "00000000-0000-4000-8000-000000000003",
      "type": "string"
    }
  ],
  "item": [
    {
      "name": "Servis sağlığı",
      "request": {
        "method": "GET",
        "header": [],
        "url": "{{baseUrl}}/v1/health",
        "description": "API / veritabanı erişimini kontrol eder. Worker veya WhatsApp bağlantısının sağlıklı olduğunu tek başına göstermez.",
        "auth": {
          "type": "noauth"
        }
      }
    },
    {
      "name": "Hesabım ve yetkiler",
      "request": {
        "method": "GET",
        "header": [],
        "url": "{{baseUrl}}/v1/me",
        "description": "Kullanılan anahtarın müşteri hesabını ve yetki kapsamlarını döndürür."
      }
    },
    {
      "name": "API anahtarı oluştur",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": "{{baseUrl}}/v1/keys",
        "description": "Kendi anahtarında bulunan yetkilerle yeni bir anahtar üretir. Sır yalnız bir kez gösterilir.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"label\": \"Raporlama\",\n  \"scopes\": [\n    \"messages:read\"\n  ]\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "API anahtarını iptal et",
      "request": {
        "method": "DELETE",
        "header": [],
        "url": "{{baseUrl}}/v1/keys/{{resourceId}}",
        "description": "Kendi hesabındaki anahtarı geçersiz kılar."
      }
    },
    {
      "name": "Hat oluştur",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          },
          {
            "key": "Idempotency-Key",
            "value": "{{idempotencyKey}}"
          }
        ],
        "url": "{{baseUrl}}/v1/connections",
        "description": "Yeni API hattı oluşturur. HighLevel’deki mevcut hattı devralmaz.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"label\": \"Müşteri destek hattı\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "Hatları listele",
      "request": {
        "method": "GET",
        "header": [],
        "url": "{{baseUrl}}/v1/connections",
        "description": "Bu hesaba ait hat kayıtlarını döndürür."
      }
    },
    {
      "name": "Hat kaydını oku",
      "request": {
        "method": "GET",
        "header": [],
        "url": "{{baseUrl}}/v1/connections/{{resourceId}}",
        "description": "Kaydedilen bağlantı bilgisidir; güncel sağlayıcı sorgusu için /status kullan."
      }
    },
    {
      "name": "Bağlantıyı sorgula",
      "request": {
        "method": "GET",
        "header": [],
        "url": "{{baseUrl}}/v1/connections/{{resourceId}}/status",
        "description": "Sağlayıcıdan yeni durum sorgusu yapar. Gönderim için open gerekir."
      }
    },
    {
      "name": "QR bağlantısını başlat",
      "request": {
        "method": "POST",
        "header": [],
        "url": "{{baseUrl}}/v1/connections/{{resourceId}}/connect",
        "description": "Bağlı hattı yeniden başlatmaz. QR çağrısı 60 saniyelik sınır taşır."
      }
    },
    {
      "name": "QR bilgisini oku",
      "request": {
        "method": "GET",
        "header": [],
        "url": "{{baseUrl}}/v1/connections/{{resourceId}}/pairing",
        "description": "Yalnız henüz süresi dolmamış, mevcut QR bilgisini verir."
      }
    },
    {
      "name": "Mesaj gönder",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          },
          {
            "key": "Idempotency-Key",
            "value": "{{idempotencyKey}}"
          }
        ],
        "url": "{{baseUrl}}/v1/messages",
        "description": "Metin veya desteklenen medya gönderir. HTTP 201 sonrası status ve error_code değerlerini kontrol et.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"connection_id\": \"00000000-0000-4000-8000-000000000001\",\n  \"to\": \"+15550001111\",\n  \"content\": {\n    \"type\": \"text\",\n    \"text\": \"Merhaba\"\n  }\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "Mesajı oku",
      "request": {
        "method": "GET",
        "header": [],
        "url": "{{baseUrl}}/v1/messages/{{resourceId}}",
        "description": "Mesajın güncel durumunu ve içeriğini döndürür."
      }
    },
    {
      "name": "Medya dosyasını al",
      "request": {
        "method": "GET",
        "header": [],
        "url": "{{baseUrl}}/v1/messages/{{resourceId}}/media",
        "description": "Gelen dosya sağlayıcıda artık yoksa media_unavailable dönebilir."
      }
    },
    {
      "name": "Sohbetleri listele",
      "request": {
        "method": "GET",
        "header": [],
        "url": "{{baseUrl}}/v1/conversations",
        "description": "Kaydedilen sohbetler son etkinliğe göre sıralanır; canlı listede kimlikle tekilleştirme yap."
      }
    },
    {
      "name": "Sohbet mesajlarını listele",
      "request": {
        "method": "GET",
        "header": [],
        "url": "{{baseUrl}}/v1/conversations/{{resourceId}}/messages",
        "description": "En yeni mesajdan eskiye doğru cursor ile sayfalanır."
      }
    },
    {
      "name": "Olay geçmişini oku",
      "request": {
        "method": "GET",
        "header": [],
        "url": "{{baseUrl}}/v1/events",
        "description": "Bu hesaba ait bağlantı ve mesaj olaylarını yeniden eskiye döndürür."
      }
    },
    {
      "name": "Webhook alıcısı ekle",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": "{{baseUrl}}/v1/webhooks",
        "description": "Genel HTTPS adresi gerektirir. signing_secret yalnız bu yanıtta gösterilir.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"url\": \"https://uygulaman.example/webhooks/wagwag\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "Webhook alıcılarını listele",
      "request": {
        "method": "GET",
        "header": [],
        "url": "{{baseUrl}}/v1/webhooks",
        "description": "İmza sırları döndürülmez."
      }
    },
    {
      "name": "Webhook alıcısını kapat",
      "request": {
        "method": "DELETE",
        "header": [],
        "url": "{{baseUrl}}/v1/webhooks/{{resourceId}}",
        "description": "Sonraki olayların bu adrese teslimini durdurur."
      }
    },
    {
      "name": "Mesaj çevirisi",
      "item": [
        {
          "name": "Çeviri ayarlarını oku",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{apiKey}}"
              }
            ],
            "url": "{{baseUrl}}/v1/translation-settings",
            "description": "Başlangıçta kapalı, varsayılan Türkçe. Gerçek yanıtta languages alanı tüm desteklenen dilleri listeler."
          }
        },
        {
          "name": "Çeviriyi aç / dili değiştir",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{apiKey}}"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": "{{baseUrl}}/v1/translation-settings",
            "description": "Hesap ayarını değiştirir. Geçmişi otomatik çevirmez; kapatınca bekleyen işler iptal edilir.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"enabled\": true,\n  \"target_language\": \"tr\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Gelen mesajı çevir",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{apiKey}}"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": "{{baseUrl}}/v1/messages/{{MESSAGE_ID}}/translation",
            "description": "Metin veya medya açıklaması. Mesaj, içerik ve dil bazında tekilleşir; Idempotency-Key gerekmez. Yeni/bekleyen iş 202, hazır önbellek 200 döner. WhatsApp gönderimi yapmaz.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"target_language\": \"tr\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Çeviri sonucunu oku",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{apiKey}}"
              }
            ],
            "url": "{{baseUrl}}/v1/messages/{{MESSAGE_ID}}/translation",
            "description": "Çeviri başlatmaz. Belirtilen dilde iş yoksa 404 translation_not_found. Webhook alternatifi."
          }
        }
      ]
    }
  ]
}
