PpMeetings API Dokümantasyonu

PDF Dokümanı
Genel Bilgiler
Base URL: https://crm.karel.cloud/api/v1/PpMeetings
Kimlik Doğrulama: Tüm endpoint'ler Bearer Token ile korunmaktadır. Token, Authorization header'ında Bearer {token} formatında gönderilmelidir.

1. GetActivitiesOfDay

Açıklama

Belirli bir günün aktivitelerini (toplantılarını) getirir. Tarih parametreleri ile filtreleme yapılabilir.

HTTP Metodu

GET

Endpoint

GET /api/v1/PpMeetings

Query Parametreleri

Parametre Tip Zorunlu Açıklama Örnek Değer
year integer Evet Yıl bilgisi 2024
month integer Evet Ay bilgisi (1-12) 6
day integer Evet Gün bilgisi (1-31) 16
page integer Hayır Sayfalama için sayfa numarası (varsayılan: 0) 0
conclusion integer Hayır Sonuç tipine göre filtreleme 3
subject string Hayır Konuya göre filtreleme "dilara"
content string Hayır İçeriğe göre filtreleme "Ist"

Örnek İstek

GET https://crm.karel.cloud/api/v1/PpMeetings?year=2024&month=6&day=16

Headers

Authorization: Bearer {token}

Response

Başarılı bir istek için 200 OK durum kodu döner ve aşağıdaki yapıda bir response gelir:

Response Body

Alan Tip Açıklama
Result array[PpApiActivityViewModel] Toplantı listesi
ResultMessage string İşlem sonucu mesajı

PpApiActivityViewModel

Alan Tip Açıklama
MeetingId integer Toplantı ID'si
MeetAgainDate DateTime? Tekrar görüşme tarihi (varsa)
MeetingType integer Toplantı tipi ID'si
MeetingTypeName string Toplantı tipi adı
Subject string Toplantı konusu
StartDate DateTime Başlangıç tarihi ve saati
FinishDate DateTime Bitiş tarihi ve saati
Conclusion byte? Sonuç tipi (0: Olumsuz, 1: Olumlu, 2: Belirsiz, 3: Planlandı, 4: Tekrar Görüşülecek)
ContentOfMeeting string Toplantı içeriği
AddedBy string Ekleyen kullanıcı adı
RefOpportunityId int? Bağlı fırsat ID'si (varsa)
RefActivityOwnerCardId int Etkinlik sahibi kart ID'si
HasDisqualified bool Diskalifiye edilmiş katılımcı var mı?

Örnek Response

{
    "Result": [
        {
            "MeetingId": 887123,
            "MeetAgainDate": null,
            "MeetingType": 0,
            "MeetingTypeName": "Toplantı",
            "Subject": "Toplantı - Ahmet Yılmaz, Mehmet Demir",
            "StartDate": "2024-06-16T09:00:00",
            "FinishDate": "2024-06-16T15:00:00",
            "Conclusion": 3,
            "ContentOfMeeting": "Proje görüşmesi",
            "AddedBy": "admin@example.com",
            "RefOpportunityId": 12345,
            "RefActivityOwnerCardId": 8224,
            "HasDisqualified": false
        }
    ],
    "ResultMessage": "İşlem başarılı"
}

Örnek Kullanım Senaryosu

Kullanıcı, 16 Haziran 2024 tarihinde yapılan tüm toplantıları listelemek istediğinde bu endpoint kullanılır.

2. PointsOfMonth

Açıklama

Belirli bir ay için toplantı noktalarını getirir. Bu endpoint, aylık toplantı istatistiklerini ve puanlarını döndürür.

HTTP Metodu

GET

Endpoint

GET /api/v1/PpMeetings/PointsOfMonth

Query Parametreleri

Parametre Tip Zorunlu Açıklama Örnek Değer
cardId integer Hayır Kart ID'si (belirli bir kullanıcının toplantıları için filtreleme) 8224
month integer Hayır Ay bilgisi (1-12). Belirtilmezse mevcut ay kullanılır 5
year integer Hayır Yıl bilgisi. Belirtilmezse mevcut yıl kullanılır 2024
conclusion byte Hayır Sonuç tipine göre filtreleme (0: Olumsuz, 1: Olumlu, 2: Belirsiz, 3: Planlandı) 1
subject string Hayır Konuya göre filtreleme (içerik araması) "proje"
content string Hayır İçeriğe göre filtreleme (içerik araması) "görüşme"

Örnek İstek

GET https://crm.karel.cloud/api/v1/PpMeetings/PointsOfMonth?month=5&year=2024

Not: Tüm parametreler opsiyoneldir. Sadece month ve year belirtilmezse mevcut ay ve yıl kullanılır.

Headers

Authorization: Bearer {token}

Response

Başarılı bir istek için 200 OK durum kodu döner ve aşağıdaki yapıda bir response gelir:

Response Body

Alan Tip Açıklama
Result array[PpApiActivityPointsOfMonthViewModal] Aylık toplantı noktaları listesi
ResultMessage string İşlem sonucu mesajı

PpApiActivityPointsOfMonthViewModal

Alan Tip Açıklama
ActivityDate DateTime Etkinlik tarihi
Conclusion byte Sonuç tipi
ConclusionName string Sonuç tipi adı (örn: "Olumlu", "Olumsuz", "MeetAgain")
Color string Gösterim için renk kodu (hex formatında)

Örnek Response

{
    "Result": [
        {
            "ActivityDate": "2024-05-15T00:00:00",
            "Conclusion": 1,
            "ConclusionName": "Olumlu",
            "Color": "#10AC84"
        },
        {
            "ActivityDate": "2024-05-20T00:00:00",
            "Conclusion": 0,
            "ConclusionName": "Olumsuz",
            "Color": "#EE5A6F"
        },
        {
            "ActivityDate": "2024-05-25T00:00:00",
            "Conclusion": 4,
            "ConclusionName": "MeetAgain",
            "Color": "#FF9F43"
        }
    ],
    "ResultMessage": "İşlem başarılı"
}

Örnek Kullanım Senaryosu

Kullanıcı, Mayıs ayı için toplantı noktalarını ve istatistiklerini görüntülemek istediğinde bu endpoint kullanılır.

3. ActivityDetails

Açıklama

Belirli bir toplantının detaylı bilgilerini getirir. Toplantı ID'si ile tek bir toplantının tüm detaylarına erişilir.

HTTP Metodu

GET

Endpoint

GET /api/v1/PpMeetings/{id}

Path Parametreleri

Parametre Tip Zorunlu Açıklama Örnek Değer
id integer Evet Toplantı ID'si 887123

Örnek İstek

GET https://crm.karel.cloud/api/v1/PpMeetings/887123

Headers

Authorization: Bearer {token}

Response

Başarılı bir istek için 200 OK durum kodu döner ve aşağıdaki yapıda bir response gelir:

Response Body

Alan Tip Açıklama
Result PpApiActivityDetailViewModel Toplantı detay bilgileri
ResultMessage string İşlem sonucu mesajı

PpApiActivityDetailViewModel

Alan Tip Açıklama
MeetingId integer Toplantı ID'si
Subject string Toplantı konusu
MeetingType integer Toplantı tipi ID'si
MeetingTypeName string Toplantı tipi adı
StartDate DateTime Başlangıç tarihi ve saati
FinishDate DateTime Bitiş tarihi ve saati
Conclusion byte? Sonuç tipi
ConclusionNote string Sonuç notu
ContentOfMeeting string Toplantı içeriği
PlaceOfMeeting string Toplantı yeri
Latitude decimal? Enlem bilgisi
Longitude decimal? Boylam bilgisi
ProjectId int? Proje ID'si
ProjectName string Proje adı
RefOpportunityId int? Bağlı fırsat ID'si
OpportunityName string Fırsat adı
MeetAgainDate DateTime? Tekrar görüşme tarihi
AddedBy string Ekleyen kullanıcı
AddedDate DateTime Ekleme tarihi
UpdatedBy string Güncelleyen kullanıcı
UpdatedDate DateTime? Güncelleme tarihi
GroupId int? Grup ID'si (takip toplantıları için)
Participants array[PpApiActivityParticipantViewModel] Katılımcılar listesi
Followups array[PpApiActivityFollowupViewModel] Takip toplantıları listesi (varsa)
NoteCount integer Not sayısı
LogCount integer Log sayısı

PpApiActivityParticipantViewModel

Alan Tip Açıklama
ParticipantCardId integer Katılımcı kart ID'si
ParticipantName string Katılımcı adı soyadı
OrganizationName string Organizasyon adı (varsa)
ConfirmStatus bool? Onay durumu
ParticipateStatus bool Katılım durumu
RequirementType byte Gereksinim tipi
UserId string Kullanıcı ID'si

PpApiActivityFollowupViewModel

Alan Tip Açıklama
MeetingId integer Takip toplantısı ID'si
StartDate DateTime Başlangıç tarihi
ContentOfMeeting string İçerik
Conclusion byte Sonuç tipi

Örnek Response

{
    "Result": {
        "MeetingId": 887123,
        "Subject": "Toplantı - Ahmet Yılmaz, Mehmet Demir",
        "MeetingType": 0,
        "MeetingTypeName": "Toplantı",
        "StartDate": "2024-06-16T09:00:00",
        "FinishDate": "2024-06-16T15:00:00",
        "Conclusion": 1,
        "ConclusionNote": "Başarılı bir görüşme oldu",
        "ContentOfMeeting": "Proje görüşmesi yapıldı",
        "PlaceOfMeeting": "İstanbul Ofis",
        "Latitude": 41.0082,
        "Longitude": 28.9784,
        "ProjectId": 3002,
        "ProjectName": "Yeni Proje",
        "RefOpportunityId": 12345,
        "OpportunityName": "Büyük Fırsat",
        "MeetAgainDate": null,
        "AddedBy": "admin@example.com",
        "AddedDate": "2024-06-15T10:00:00",
        "UpdatedBy": "admin@example.com",
        "UpdatedDate": "2024-06-16T16:00:00",
        "GroupId": null,
        "Participants": [
            {
                "ParticipantCardId": 10148,
                "ParticipantName": "Ahmet Yılmaz",
                "OrganizationName": "ABC Şirketi",
                "ConfirmStatus": true,
                "ParticipateStatus": true,
                "RequirementType": 0,
                "UserId": "user123"
            }
        ],
        "Followups": [],
        "NoteCount": 2,
        "LogCount": 5
    },
    "ResultMessage": "İşlem başarılı"
}

Örnek Kullanım Senaryosu

Kullanıcı, ID'si 887123 olan toplantının detaylı bilgilerini (katılımcılar, içerik, tarih, saat vb.) görüntülemek istediğinde bu endpoint kullanılır.

4. MeetingTypes

Açıklama

Sistemde tanımlı tüm toplantı tiplerini getirir. Bu endpoint, mevcut toplantı tiplerinin listesini döndürür.

HTTP Metodu

GET

Endpoint

GET /api/v1/PpMeetings/MeetingTypes

Örnek İstek

GET https://crm.karel.cloud/api/v1/PpMeetings/MeetingTypes

Headers

Authorization: Bearer {token}

Response

Başarılı bir istek için 200 OK durum kodu döner ve aşağıdaki yapıda bir response gelir:

Response Body

Alan Tip Açıklama
Result array[MeetingTypes] Toplantı tipleri listesi
ResultMessage string İşlem sonucu mesajı

MeetingTypes

Alan Tip Açıklama
Id integer Toplantı tipi ID'si
Name string Toplantı tipi adı
Icon string Toplantı tipine ait ikon ismi veya CSS class bilgisi

Örnek Response

{
    "Result": [
        {
            "Id": 0,
            "Name": "Toplantı",
            "Icon": "fa-regular fa-handshake"
        },
        {
            "Id": 1,
            "Name": "Yüz Yüze Görüşme",
            "Icon": "fa-solid fa-users"
        },
        {
            "Id": 2,
            "Name": "Telefon Görüşmesi",
            "Icon": "fa-solid fa-phone"
        },
        {
            "Id": 10,
            "Name": "Özel Toplantı Tipi",
            "Icon": "fa-solid fa-star"
        }
    ],
    "ResultMessage": "İşlem başarılı"
}

Örnek Kullanım Senaryosu

Kullanıcı, yeni bir toplantı oluştururken veya mevcut toplantı tiplerini görüntülemek istediğinde bu endpoint kullanılır. Genellikle dropdown veya select listesi için kullanılır.

5. QuickCreate

Açıklama

Hızlı bir şekilde yeni bir toplantı oluşturur. Bu endpoint, toplantı oluşturma işlemini tek bir istekle gerçekleştirir ve takip görevleri (followups) de eklenebilir.

HTTP Metodu

POST

Endpoint

POST /api/v1/PpMeetings

Headers

Authorization: Bearer {token}
Accept-Language: tr-TR
Content-Type: application/json

Request Body

Alan Tip Zorunlu Açıklama Örnek Değer
MeetingType integer Evet Toplantı tipi ID'si 0
ParticipantCardIds array[integer] Evet Katılımcı kart ID'leri listesi (boş olamaz) [10148, 33957]
Conclusion byte Evet Sonuç tipi (0: Olumsuz, 1: Olumlu, 2: Belirsiz, 3: Planlandı) 3
ContentOfMeeting string Evet Toplantı içeriği/açıklaması "Bu bir deneme etkinliğidir."
StartDate string (date) Hayır Başlangıç tarihi (YYYY-MM-DD). Boş bırakılırsa sunucu mevcut tarihi kullanır "2024-06-16"
StartTime string (time) Hayır Başlangıç saati (HH:mm). Boş bırakılırsa mevcut saat kullanılır "09:00"
FinishDate string (date) Hayır Bitiş tarihi (YYYY-MM-DD). Boş bırakılırsa mevcut tarih kullanılır "2024-06-16"
FinishTime string (time) Hayır Bitiş saati (HH:mm). Boş bırakılırsa mevcut saat kullanılır "15:00"
MeetAgain bool Hayır Tekrar görüşülecek mi? true ise MeetAgainDate ve MeetAgainTime doldurulmalıdır false
MeetAgainDate string (date) Hayır Tekrar görüşme tarihi (YYYY-MM-DD). Sadece MeetAgain = true ise anlamlıdır "2024-06-20"
MeetAgainTime string (time) Hayır Tekrar görüşme saati (HH:mm) "10:00"
PlaceOfMeeting string Hayır Toplantı yeri (maks. 150 karakter) "İstanbul Ofis"
Latitude decimal Hayır Toplantı konumu için enlem bilgisi 41.0082
Longitude decimal Hayır Toplantı konumu için boylam bilgisi 28.9784
ProjectId integer Hayır İlgili proje ID'si 3002
RefActivityOwnerCardId integer Hayır Etkinlik sahibi kart ID'si. Boş bırakılırsa current user kullanılır 8224
SourceMeetingId integer Hayır Bu toplantının türetildiği kaynak toplantı ID'si (takip görüşmeleri için) 887100
RefFollowupId integer Hayır Bağlı olduğu takip tipi ID'si (Followup tanımı) 5
OpportunityId integer Hayır Bağlı fırsat ID'si 12345
Subject string Hayır Toplantı konusu (maks. 250 karakter). Boş bırakılırsa sistem katılımcı isimlerinden otomatik üretir "Proje başlangıç toplantısı"
Followups array[object] Hayır Takip görevleri / planlanan sonraki toplantılar listesi Aşağıdaki örneğe bakın

Followups Objesi

Alan Tip Zorunlu Açıklama Örnek Değer
MeetingDate string Evet Takip toplantısı tarihi (YYYY-MM-DD) "2024-06-17"
Description string Evet Takip görevi açıklaması "test1"

Örnek Request Body

{
    "MeetingType": 0,
    "ParticipantCardIds": [10148, 33957],
    "Conclusion": 3,
    "ContentOfMeeting": "Bu bir deneme etkinliğidir.",
    "ProjectId": 3002,
    "Subject": "Proje başlangıç toplantısı",
    "PlaceOfMeeting": "İstanbul Ofis",
    "Latitude": 41.0082,
    "Longitude": 28.9784,
    "StartDate": "2024-06-16",
    "StartTime": "09:00",
    "FinishDate": "2024-06-16",
    "FinishTime": "15:00",
    "MeetAgain": true,
    "MeetAgainDate": "2024-06-20",
    "MeetAgainTime": "10:00",
    "OpportunityId": 12345,
    "RefFollowupId": 5,
    "Followups": [
        {
            "MeetingDate": "2024-06-17",
            "Description": "Teklif detaylarının üzerinden geçilecek"
        },
        {
            "MeetingDate": "2024-06-25",
            "Description": "Sözleşme onayı için takip görüşmesi"
        }
    ]
}

Örnek İstek

POST https://crm.karel.cloud/api/v1/PpMeetings

Response

Başarılı bir istek için 201 Created durum kodu döner ve aşağıdaki yapıda bir response gelir:

Response Body

Alan Tip Açıklama
Result integer Oluşturulan toplantının ID'si
ResultMessage string İşlem sonucu mesajı (başarılı durumda "İşlem başarılı")
Not: Eğer katılımcıların takviminde çakışma varsa, ResultMessage alanında uyarı mesajı dönebilir. Ancak toplantı yine de oluşturulur.

Örnek Response

{
    "Result": 887123,
    "ResultMessage": "İşlem başarılı"
}

Hata Durumları

Örnek Kullanım Senaryosu

Kullanıcı, yeni bir toplantı oluşturmak ve aynı anda bu toplantı için takip görevleri eklemek istediğinde bu endpoint kullanılır. Özellikle hızlı toplantı oluşturma senaryolarında kullanışlıdır.

6. Delete

Açıklama

Belirli bir toplantıyı siler. Toplantı ID'si ile silme işlemi gerçekleştirilir.

HTTP Metodu

DELETE

Endpoint

DELETE /api/v1/PpMeetings/{id}

Path Parametreleri

Parametre Tip Zorunlu Açıklama Örnek Değer
id integer Evet Silinecek toplantı ID'si 887119

Örnek İstek

DELETE https://crm.karel.cloud/api/v1/PpMeetings/887119

Headers

Authorization: Bearer {token}

Response

Başarılı bir istek için 200 OK durum kodu döner. Response body genellikle boştur.

Örnek Response

200 OK
(Response body boş)

Hata Durumları


Hata Kodları ve Durum Mesajları

API, standart HTTP durum kodlarını kullanır:

Notlar

Dokümantasyon Tarihi: 2025

API Versiyonu: v1