İleri konular
Destek Sitesi API’si
Mavi Masa API Referans Dokümanı
Bu doküman, DestekMaviMasa sisteminin sunduğu RESTful API metodlarını detaylı olarak açıklar. API, hem iç entegrasyonlar (inbound) hem de dış entegrasyonlar (outbound) için kullanılır. Kurumsal ortamlarda otomasyon, veri senkronizasyonu ve sistem entegrasyonları için kritik bir bileşendir.
📌 Genel Bilgiler
API Temel Adresi
https://[MAVIMASA]/api
🔹
[MAVIMASA]: Mavi Masa uygulamasının tam adresidir. Bulut (SaaS) ya da yerel kurulum fark etmez.
⚠️ Eğer Mavi Masa bir alt dizinde barındırılıyorsa, URL’ye/mavimasaeklemeyi unutmayın.
Örnek (SaaS Kullanıcıları İçin):
https://company.desteksitesi.com/mavimasa/api
🔐 Kimlik Doğrulama Yöntemleri
2. Temel Kimlik Doğrulama (Basic Authentication)
✅ Tüm API metodları, kullanıcı izinlerini kontrol eder — bu yüzden her istekte temel kimlik doğrulama gereklidir.
Nasıl Oluşturulur?
- Kullanıcı adı ve şifreyi
kullaniciadi:sifreformatında birleştirin. - Elde edilen string’i Base64 ile kodlayın.
- Başlık olarak şu şekilde gönderin:
http
Authorization: Basic YWRtaW46YWRtaW4=
curl Örneği:
curl -u admin:password -v http://localhost/mavimasa/api/Ticket?id=1234
📌 Windows/AD kimlik doğrulaması kullanıyorsanız, kullanıcı adını
DOMAIN\kullaniciadiformatında belirtin.
⚠️ Yanlış kimlik bilgisi 3 kez girildiğinde IP adresiniz 5 dakika boyunca bloke edilir.
3. Token Tabanlı Kimlik Doğrulama (Bearer Token)
🔑 Alternatif olarak, token tabanlı kimlik doğrulama da desteklenir.
Nasıl Alınır?
- Mavi Masa arayüzünde
/User/Token/sayfasına gidin. - JSON formatında almak için:
/User/Token?json=true
Kullanım:
Authorization: Bearer <User-Token>
🔄 Şifrenizi değiştirdiğinizde token otomatik olarak geçersizleşir.
🔒 Tüm token’ları tek seferde geçersiz kılmak isterseniz, yönetici panelinden uygulamanın “shared secret” ayarını değiştirin.
📥 Parametre Gönderme Kuralları
4. Parametre İletimi
📌 Tüm parametreler, query string veya POST verisi olarak gönderilmelidir — JSON kullanılmamalıdır.
Doğru Kullanım:
https://[mavimasa-url]/api/SetCustomField?ticketId=123&fieldId=321&value=blahblah
💡 Bazı metodlar JSON kabul eder — ancak bu önerilmez. Dokümantasyonu dikkatlice okuyarak standart yöntemi kullanın.
📦 GZipped Yanıt (Bandwidth Tasarrufu)
⚡ Performans ve bant genişliği için, isteklere aşağıdaki başlığı ekleyin:
Accept-Encoding: gzip
❗ Yanıt Kodları ve Hata Yönetimi
API metodları aşağıdaki durum kodlarını döndürür:
| Kod | Açıklama |
|---|---|
200 OK |
İşlem başarıyla tamamlandı |
404 Not Found |
Talep, kullanıcı veya varlık bulunamadı |
400 Bad Request |
Eksik veya hatalı parametre var |
429 Too Many Requests |
Hız sınırı aşıldı |
🚨 Her zaman yanıt gövdesini kontrol edin — hata nedeni burada açıkça belirtilir.
🧪 Genel Test Metodu: Yetkilendirme (Authorization)
POST https://[mavimasa-url]/api/Authorization
✅ Kimlik doğrulamanızın doğru çalışıp çalışmadığını test eder.
📄 Mevcut kullanıcının tüm bilgilerini JSON formatında döndürür.
Örnek Yanıt:
{
"UserID": 1,
"Username": "admin",
"Email": "admin@testmail",
"IsAdmin": true,
"Disabled": false,
"LastSeen": "2020-02-28T04:48:00Z"
}
💡 Bu API yapıları, özellikle CRM entegrasyonları, otomatik talep oluşturma, dış sistemlerle senkronizasyon ve sistem yönetimi süreçlerinde kritik öneme sahiptir. Herhangi bir teknik desteğe ihtiyacınız varsa, DestekMaviMasa ekibine başvurabilirsiniz.
🎫 Talep (Ticket) Metodları
Talep (Ticket) Yönetimi API Metodları
Bu bölüm, Mavi Masa sisteminde taleplerin oluşturulması, güncellenmesi, kapatılması ve detaylarının alınması için kullanılan API metodlarını detaylı olarak açıklar. Bu metodlar, otomasyon, entegrasyon ve sistem yönetimi süreçlerinde kritik öneme sahiptir.
📄 Talep Detaylarını Getir (GET)
GET https://[mavimasa-url]/api/ticket?id=123
✅ Belirtilen talebin tamamını JSON formatında döndürür — ek dosyalar, etiketler, kullanıcı bilgileri ve durum gibi tüm veriler dahildir.
Parametre:
| Parametre | Tip | Açıklama |
|---|---|---|
| id | int | Talep ID’si |
Örnek Yanıt:
{
"TicketID": 2431395,
"Subject": "test",
"Body": "test ticket",
"Status": "In progress",
"Priority": 0,
"CategoryName": "General issues",
"Attachments": [
{
"FileName": "icon.png",
"Url": "https://support.desteksitesi.com/mavimasa/File/Get?id=1740828"
}
],
"Tags": [
{
"Name": "tag1"
}
],
"SubmitterUserInfo": {
"UserID": 43499,
"Username": "admin"
},
"AssigneeUserInfo": {
"UserID": 43499,
"Username": "admin"
},
"DueDate": null,
"ResolvedDate": null,
"TimeSpentInSeconds": 143,
"UpdatedByPerformer": true
}
➕ Yeni Talep Oluştur (POST)
POST https://[mavimasa-url]/api/ticket
✍️ Yeni bir talep oluşturur. Dosya ekleme desteği de mevcuttur.
Parametreler:
| Parametre | Tip | Açıklama |
|---|---|---|
| categoryId | int | Kategori ID’si |
| subject | string | Talep konusu |
| body | string | Talep metni |
| priorityId | int | Öncelik seviyesi: -1 (Low), 0 (Normal), 1 (High), 2 (Critical) |
| userId | int | (Opsiyonel) Başka bir kullanıcı adına talep oluşturma (teknisyen izni gerektirir) |
| tags | string | (Opsiyonel) Virgülle ayrılmış etiketler (tag1,tag2) |
| origin | int | (Opsiyonel) Kaynak: 0 (WebApp), 1 (Email), 2 (Widget), 3 (API), 4 (Scheduler), 5 (MobileApp), 6 (Phone), 7 (LiveChat), 8 (InPerson) |
| assignedToUserId | int | (Opsiyonel) Atanacak teknisyen ID’si |
| customFields | string | (Opsiyonel) Özel alanlar (JSON formatında) |
| suppressConfirmation | bool | (Opsiyonel) Onay e-postasını engelle |
📎 Dosya eklemek için
multipart/form-datakullanın.
curl Örneği:
curl -F "categoryId=1" -F "subject=test" -F "body=test" -F "priorityId=0" -F "uploadFile=@file.txt" -u admin:password -v http://localhost/mavimasa/api/ticket
Örnek Yanıt:
{
"id": 12345
}
🛠️ Talebi Güncelle (POST)
POST https://[mavimasa-url]/api/UpdateTicket
🔄 Mevcut bir talebin parametrelerini değiştirir.
🔐 Sadece kendi taleplerinizi güncelleyebilirsiniz — yönetici veya teknisyen iseniz tüm talepleri güncelleyebilirsiniz.
Parametreler:
| Parametre | Tip | Açıklama |
|---|---|---|
| id | int | Talep ID’si |
| categoryId | int | (Opsiyonel) Yeni kategori |
| priority | int | (Opsiyonel) Öncelik seviyesi |
| dueDate | DateTime | (Opsiyonel) Son teslim tarihi — boş string ile kaldırılır |
| assignedUserId | int | (Opsiyonel) Teknisyen ataması (0 = kaldır) |
| statusId | int | (Opsiyonel) Durum ID’si (1=Yeni, 2=Devam Ediyor, 3=Kapalı) |
| tags | string | (Opsiyonel) Etiketler (var olanlar silinir) |
| subject / body | string | (Opsiyonel) Konu / metin |
Örnek İstek:
https://[mavimasa-url]/api/UpdateTicket?id=321&dueDate=2018-12-01
Örnek Yanıt:
HTTP 200 OK
👥 İkincil Atama Ekle (GET)
GET https://[mavimasa-url]/api/AddSecondaryAssignee?ticketId=321&userId=123
👥 Talebe ikincil bir teknisyen atar. (Ayarlar aktifse)
🔐 Sadece Mavi Masa yönetici izniyle kullanılabilir.
Parametreler:
| Parametre | Tip | Açıklama |
|---|---|---|
| ticketId | int | Talep ID’si |
| userId | int | Kullanıcı ID’si |
📌 Talebi Kapat (GET)
GET https://[mavimasa-url]/api/Close?id=321&suppressNotification=true
📌 Talebi kapatarak e-posta bildirimini bastırır.
Parametreler:
| Parametre | Tip | Açıklama |
|---|---|---|
| id | int | Talep ID’si |
| suppressNotification | bool | (Opsiyonel) Bildirim göndermeden kapat |
📝 Talepe Özel Alan Değeri Ata
1. Tek Özel Alan Değeri Ata (POST)
POST https://[mavimasa-url]/api/SetCustomField
📌 Bir talebe özel alan değeri atar.
Parametreler:
| Parametre | Tip | Açıklama |
|---|---|---|
| ticketId | int | Talep ID’si |
| fieldId | int | Özel alan ID’si |
| value | string | Değer (checkbox → true/false, dropdown → option ID, date → herhangi tarih formatı) |
2. Birden Fazla Özel Alan Değeri Ata (POST)
POST https://[mavimasa-url]/api/SetCustomFields
📊 Bir talebe birden fazla özel alan değerini tek istekte atar.
Örnek Parametreler:
ticketId=10556&cf1624=123&cf1625=asd&cf1626=zxc
📊 Sistem İstatistikleri (GET)
GET https://[mavimasa-url]/api/Stats?forCurrentUser=false
📈 Sistem genel istatistiklerini döndürür — açık talep sayısı, kapalı, yeni, atanmamış vs.
Parametre:
| Parametre | Tip | Açıklama |
|---|---|---|
| forCurrentUser | bool | (Opsiyonel) Sadece mevcut kullanıcıya ait istatistikleri göster |
Örnek Yanıt:
{
"TotalTickets": 208,
"Closed": 22,
"NewTickets": 163,
"Unassigned": 33,
"HandledByMe": 153
}
💡 Bu API metodları, özellikle talep otomasyonu, CRM entegrasyonu, raporlama ve sistem yönetimi süreçlerinde kritik öneme sahiptir. Herhangi bir teknik desteğe ihtiyacınız varsa, DestekMaviMasa ekibine başvurabilirsiniz.
Talep Arama, Özel Alanlar ve İlişkilendirme API Metodları
Bu bölüm, Mavi Masa sisteminde talepleri aramak, özel alanları yönetmek, dosya eklemek/kaldırmak ve talepler arasında ilişkiler kurmak için kullanılan API metodlarını detaylı olarak açıklar. Bu metodlar, veri analizi, otomasyon ve sistem entegrasyonlarında kritik öneme sahiptir.
🔍 Talep Arama (Search)
GET https://[mavimasa-url]/api/Search?query=TEXT&dateFrom=2020-12-12&fromUserId=123
📌 Belirli bir metin ve filtrelerle talepleri arar.
Parametreler:
| Parametre | Tip | Açıklama |
|---|---|---|
| query | string | Aranacak metin |
| fromUserId | int | (Opsiyonel) Oluşturan kullanıcı ID’si |
| categoryId | int[] | (Opsiyonel) Kategori filtresi (?categoryId=1&categoryId=2) |
| statusId | int[] | (Opsiyonel) Durum filtresi |
| assignedToUserId | int | (Opsiyonel) Atanmış teknisyen ID’si |
| dateFrom / dateTo | datetime | (Opsiyonel) Oluşturulma tarihi aralığı |
📋 Talep Özel Alanları (Ticket Custom Fields)
1. Talebe Ait Tüm Özel Alanları Görüntüle (GET)
GET https://[mavimasa-url]/api/TicketCustomFields?id=123
📄 Belirtilen talebe ait tüm özel alanları ve değerlerini listeler.
Parametreler:
| Parametre | Tip | Açıklama |
|---|---|---|
| id | int | Talep ID’si |
| returnUnset | bool | (Opsiyonel) Değeri atanmamış alanları da göster (varsayılan: false) |
Özel Alan Türleri:
| Tür | Değer |
|---|---|
| Text | 1 |
| Date | 2 |
| SelectionCombo | 3 |
| Checkbox | 4 |
| MultilineText | 5 |
📎 Dosya Yönetimi
1. Tek Dosyayı İndir (GET)
GET https://[mavimasa-url]/api/attachment?id=123
📥 Belirtilen dosyayı indirir.
📄 Dosya adıContent-Dispositionbaşlığında, dosya tipiContent-Typebaşlığında bulunur.
2. Tüm Dosyaları Listele (GET)
GET https://[mavimasa-url]/api/Attachments?id=123
📁 Belirtilen talebe ait tüm dosyaları listeler.
Örnek Yanıt:
[
{
"FileName": "image.jpg",
"FileID": 123,
"FileSize": 576,
"Url": "https://mavimasa.com/File/Get?id=123"
}
]
3. Dosya Ekle (POST)
POST https://[mavimasa-url]/api/AttachFile
📎 Talebe yeni bir dosya ekler.
Parametreler:
| Parametre | Tip | Açıklama |
|---|---|---|
| id | int | Talep ID’si |
| uploadFile | binary | Dosya verisi |
📦
multipart/form-datakullanın.
curl Örneği:
curl -F "id=1" -F "uploadFile=@myfile.txt" -u admin:password -v http://localhost/mavimasa/api/AttachFile
4. Dosya Sil (GET)
GET https://[mavimasa-url]/api/DeleteFile/1233
🗑️ Talepten dosya siler.
🔐 Sadece Mavi Masa yönetici izniyle kullanılabilir.
👥 Abone Yönetimi
1. Yeni Abone Ekle (POST)
POST https://[mavimasa-url]/api/AddSubscriber
👥 Talebe yeni bir abone ekler.
Parametreler:
| Parametre | Tip | Açıklama |
|---|---|---|
| id | int | Talep ID’si |
| userId | int | Abone olacak kullanıcı ID’si |
2. Aboneyi Kaldır (POST)
POST https://[mavimasa-url]/api/RemoveSubscriber
🚫 Talepten aboneyi kaldırır.
3. Abone Listesini Getir (GET)
GET https://[mavimasa-url]/api/Subscribers?id=123
📋 Talebe abone olan kullanıcıların listesini döndürür.
🏷️ Kategoriler ve Teknisyenler
1. Tüm Kategorileri Listele (GET)
GET https://[mavimasa-url]/api/categories
📂 Kullanıcının erişebileceği tüm kategorileri listeler.
2. Kategoriye Ait Teknisyenleri Getir (GET)
GET https://[mavimasa-url]/api/TechsForCategory?id=123
👨🔧 Belirli bir kategoriye atanabilecek teknisyenleri listeler.
3. Kategoriye Ait Özel Alanları Getir (GET)
GET https://[mavimasa-url]/api/CustomFieldsForCategory?categoryId=123
📝 Kategoriye ait özel alanları ve seçeneklerini döndürür.
4. Yeni Kategori Oluştur (POST)
POST https://[mavimasa-url]/api/AddCategory?name=test§ionId=1
➕ Yeni kategori oluşturur.
Parametreler:
| Parametre | Tip | Açıklama |
|---|---|---|
| name | string | Kategori adı |
| sectionId | int | (Opsiyonel) Bölüm ID’si |
Örnek Yanıt:
{
"id": 7277
}
⚖️ Öncelikler ve İlişkilendirme
1. Tüm Öncelikleri Listele (GET)
GET https://[mavimasa-url]/api/Priorities
⚖️ Standart ve özel öncelik seviyelerini listeler.
Örnek Yanıt:
[
{
"PriorityID": 123,
"Name": "Custom priority"
}
]
2. Talepleri Birleştir (POST)
POST https://[mavimasa-url]/api/MergeTickets
🔗 İki talebi birleştirir — orijinal talep silinir.
⚠️ Geri dönüşü yoktur!
Parametreler:
| Parametre | Tip | Açıklama |
|---|---|---|
| id | int | Ana talep ID’si |
| id2 | int | Birleştirilecek talep ID’si |
3. Talepleri İlişkilendir / İlişkiyi Kaldır
POST https://[mavimasa-url]/api/LinkTickets
POST https://[mavimasa-url]/api/UnlinkTickets
🔗 Talepler arasında “ilişkili” bağlantı kurar veya kaldırır.
Parametreler:
| Parametre | Tip | Açıklama |
|---|---|---|
| id | int | İlk talep ID’si |
| id2 | int | İkinci talep ID’si |
4. Alt Talep Yönetimi
➕ Alt Talep Ekle
POST https://[mavimasa-url]/api/AddSubTicket
📂 Bir talebi başka bir talebin alt talebi yapar.
🚫 Alt Talep Kaldır
POST https://[mavimasa-url]/api/RemoveSubTicket
🗑️ Alt talebi kaldırır.
📋 Alt Talepleri Listele
GET https://[mavimasa-url]/api/SubTickets?id=123
📂 Belirtilen talebe ait alt talepleri listeler (bir seviye derinlikte).
📄 Üst Talep Bilgisi
GET https://[mavimasa-url]/api/ParentTicket?id=123
📄 Üst talep ID’sini döndürür — varsa.
returnFullTicket=trueile tam talep bilgilerini alabilirsiniz.
🔄 Entegrasyon Verileri
5. Talep Entegrasyon Verilerini Getir (GET)
GET https://[mavimasa-url]/api/TicketIntegrationData?id=123
🔄 Jira, GitHub, GitLab gibi sistemlerle entegrasyon bağlantılarını döndürür.
Örnek Yanıt:
{
"JiraIssueUrl": "https://jira/browse/JB-1",
"GitLabIssueUrl": "https://gitlab.com/empire/deathstar/-/issues/1"
}
🏷️ Talepe Etiket Ekle (POST)
POST https://[mavimasa-url]/api/TagTicket
🏷️ Talepe yeni bir etiket ekler — mevcut değilse oluşturur.
Parametreler:
| Parametre | Tip | Açıklama |
|---|---|---|
| name | string | Etiket adı |
| ticketId | int | Talep ID’si |
💡 Bu API metodları, özellikle talep analizi, otomatik kategorilendirme, entegrasyon ve raporlama süreçlerinde kritik öneme sahiptir. Herhangi bir teknik desteğe ihtiyacınız varsa, DestekMaviMasa ekibine başvurabilirsiniz.
Talep Yorumları (Comments) API Metodları
Bu bölüm, Mavi Masa sisteminde taleplere yorum ekleme, güncelleme ve mevcut yorumları görüntüleme işlemleri için kullanılan API metodlarını detaylı olarak açıklar. Bu metodlar, otomatik yanıt sistemleri, entegrasyonlar ve kullanıcı deneyimini iyileştirme süreçlerinde kritik öneme sahiptir.
💬 Yeni Yorum Ekle (POST)
POST https://[mavimasa-url]/api/comment
✍️ Belirtilen talebe yeni bir yorum (yanıt) ekler.
🔐 Sadece yetkili kullanıcılar tarafından kullanılabilir — yönetici veya ilgili kategoride teknisyen olmak gerekir.
Parametreler:
| Parametre | Tip | Açıklama |
|---|---|---|
| id | int | Talep ID’si |
| body | string | Yorum metni |
| forTechsOnly | bool | (Opsiyonel) Sadece teknisyenler için mi? (varsayılan: false) |
| isSystem | bool | (Opsiyonel) Sistem yorumu mu? (gri renkte gösterilir — varsayılan: false) |
| recipientIds | string | (Opsiyonel) Virgülle ayrılmış kullanıcı ID’leri — sadece bu kullanıcılara bildirim gönder |
| fromUserId | int | (Opsiyonel) Başka bir kullanıcı adına yorum ekle — yönetici izni gerektirir |
📎 Dosya eklemek için
multipart/form-datakullanın.
curl Örneği:
curl -F "id=1" -F "body=test" -F "uploadFile=@file.txt" -u admin:password -v http://localhost/mavimasa/api/comment
🛠️ Mevcut Yorumu Güncelle (POST)
POST https://[mavimasa-url]/api/updatecomment
🔄 Mevcut bir yorumu düzenler.
🔐 Yalnızca yorumun yazarı, ilgili kategorideki teknisyen veya yönetici tarafından yapılabilir.
Parametreler:
| Parametre | Tip | Açıklama |
|---|---|---|
| id | int | Yorum ID’si |
| body | string | Yeni yorum metni |
| forTechsOnly | bool | (Opsiyonel) Sadece teknisyenler için mi? |
📋 Talebe Ait Tüm Yorumları Getir (GET)
GET https://[mavimasa-url]/api/comments?id=123
📄 Belirtilen talebe ait tüm yorumları listeler.
Örnek Yanıt:
[
{
"CommentID": 1828,
"IssueID": 471,
"UserID": 1,
"UserName": "admin",
"Email": "admin@testmail",
"IsSystem": false,
"ForTechsOnly": false,
"Body": "Hi\r
\r
",
"CommentDate": "2020-02-28T04:48:00Z"
}
]
📦 Hazır Yorum Şablonları (Canned Responses)
1. Tüm Hazır Yorumları Listele (GET)
GET https://[mavimasa-url]/api/CommentTemplates
📝 Sistemde tanımlı tüm hazır yorum şablonlarını döndürür.
Örnek Yanıt:
[
{
"TemplateId": 1420,
"Name": "4.0 instead of 2.0",
"Body": "You need to set Mavimasa's application pool to run under .NET 4.0 instead of 2.0 in IIS."
},
{
"TemplateId": 362,
"Name": "Which app??",
"Body": "Could you please tell me, what app are you talking about exactly?"
}
]
💡 Bu API metodları, özellikle otomatik yanıt sistemleri, kullanıcı destek süreçlerinin hızlandırılması ve yorum kalitesinin standartlaştırılması açısından çok değerlidir. Herhangi bir teknik desteğe ihtiyacınız varsa, DestekMaviMasa ekibine başvurabilirsiniz.
👤 Kullanıcı Yönetimi
Kullanıcı Yönetimi API Metodları
Bu bölüm, Mavi Masa sisteminde kullanıcıların oluşturulması, güncellenmesi, silinmesi ve yetkilendirilmesi için kullanılan API metodlarını detaylı olarak açıklar. Tüm bu işlemler, sistem yöneticilerinin kullanıcı verilerini merkezi bir şekilde kontrol etmesine olanak tanır.
👤 Kullanıcı Oluşturma ve Güncelleme
1. Yeni Kullanıcı Oluştur (POST)
httpWrapPOST https://[mavimasa-url]/api/CreateUser✅ Yeni bir kullanıcı kaydı oluşturur.
🔐 Sadece Mavi Masa yönetici izniyle kullanılabilir.Parametreler:
Parametre Tip Açıklama string E-posta (benzersiz olmalı) username string (Opsiyonel) Kullanıcı adı — belirtilmezse e-posta kullanılır password string (Opsiyonel) Şifre — belirtilmezse otomatik güçlü şifre oluşturulur firstName / lastName string İsim / Soyisim phone / location string Telefon / Konum company string Şirket — yoksa otomatik oluşturulur department string Departman — yoksa otomatik oluşturulur sendWelcomeEmail bool Hoş geldin e-postası gönder Örnek Yanıt:
jsonWrap{ "userId": 456 }
2. Kullanıcı Bilgilerini Güncelle (POST)
httpWrapPOST https://[mavimasa-url]/api/UpdateUser?userId=123🛠️ Mevcut bir kullanıcının bilgilerini günceller.
🔐 Sadece Mavi Masa yönetici izniyle kullanılabilir.Parametreler:
Parametre Tip Açıklama userId int Güncellenecek kullanıcı ID’si (zorunlu) username string Yeni kullanıcı adı string E-posta firstName / lastName string İsim / Soyisim notes string Ek notlar phone / location string Telefon / Konum department string Departman adı disabled bool Kullanıcıyı devre dışı bırak company string Şirket adı password string Yeni şifre enableEmailNotifications bool E-posta bildirimlerini aç/kapat greeting string Otomatik eklenen selamlama metni (örn. Hi #FirstName#)signature string Otomatik eklenen imza outOfOffice bool “Ofiste değil” durumu isAdmin bool Yönetici yetkisi ver Örnek Yanıt:
jsonWrap{ "UserID": 123, "Username": "johndoe", "Email": "john@example.com", "IsAdmin": false, "Disabled": false }
🗑️ Kullanıcı Silme
3. Kullanıcıyı Sil (POST)
httpWrapPOST https://[mavimasa-url]/api/DeleteUser?userId=123❗ Kullanıcıyı kalıcı olarak siler. Geri dönüşü yoktur!
🔐 Sadece Mavi Masa yönetici izniyle kullanılabilir.Parametre:
Parametre Tip Açıklama userId int Silinecek kullanıcı ID’si
📄 Kullanıcı Bilgilerini Görüntüleme
4. Kullanıcı Detaylarını Getir (GET)
httpWrapGET https://[mavimasa-url]/api/User?userId=123📄 Belirtilen kullanıcıya ait tüm bilgileri döndürür.
Parametre:
Parametre Tip Açıklama userId int Kullanıcı ID’si
5. E-posta ile Kullanıcı Bilgileri (GET)
httpWrapGET https://[mavimasa-url]/api/UserByEmail?email=admin@testmail.com📧 E-posta adresiyle kullanıcı bilgilerini getirir.
🔐 Yönetici veya teknisyen izniyle erişilebilir.Örnek Yanıt:
jsonWrap{ "UserID": 43499, "Username": "Max", "Email": "max@test", "FirstName": "Max", "IsAdmin": true, "IsTech": false, "LastSeen": "2020-02-28T04:48:00Z", "Signature": "Cheers,\r Max", "Greeting": "Hi #FirstName#" }
6. Kullanıcı Adıyla Bilgi Alma (GET)
httpWrapGET https://[mavimasa-url]/api/UserByUsername?username=admin📋 Kullanıcı adı ile kullanıcı bilgilerini getirir.
🔐 Yönetici veya teknisyen izniyle erişilebilir.
🔄 Kullanıcı Birleştirme
7. İki Kullanıcıyı Birleştir (POST)
httpWrapPOST https://[mavimasa-url]/api/MergeUsers?fromUserId=123&toUserId=321🔄 İki kullanıcıyı birleştirir — kaynak kullanıcı silinir, hedef kullanıcıya tüm veriler aktarılır.
⚠️ Geri dönüşü yoktur!
🔐 Sadece Mavi Masa yönetici izniyle kullanılabilir.Parametreler:
Parametre Tip Açıklama fromUserId int Birleştirilecek kaynak kullanıcı ID’si toUserId int Hedef kullanıcı ID’si
📝 Kullanıcı Özel Alanları
8. Kullanıcıya Özel Alan Değeri Ata (POST)
httpWrapPOST https://[mavimasa-url]/api/SetCustomFieldForUser📌 Bir kullanıcıya özel alan değeri atar.
🔐 Sadece Mavi Masa yönetici izniyle kullanılabilir.Parametreler:
Parametre Tip Açıklama id int Kullanıcı ID’si fieldId int Özel alan ID’si value string Değer (checkbox → true/false, dropdown → option ID, date → herhangi tarih formatı)Örnek Yanıt:
httpWrapHTTP 200 OK
9. Kullanıcı Özel Alanlarını Görüntüle (GET)
httpWrapGET https://[mavimasa-url]/api/UserCustomFields?id=123📋 Belirtilen kullanıcıya ait tüm özel alanları listeler.
🔐 Sadece teknisyen izniyle erişilebilir.Örnek Yanıt:
jsonWrap[ { "FieldName": "User status", "FieldID": 1234, "Type": 1, "Value": "Paying Customer" } ]
👥 Tüm Kullanıcıları Listeleme
10. Tüm Kullanıcıları Listele (GET)
httpWrapGET https://[mavimasa-url]/api/Users✅ Sistemdeki tüm kullanıcıları listeler.
🔐 Sadece Mavi Masa yönetici izniyle erişilebilir.Parametreler:
Parametre Tip Açıklama count int Döndürülecek kayıt sayısı (varsayılan: 500) page int Sayfalama (örn. count=50&page=2→ 51-100 arası)listMode string Filtre: all,techs,admins,regular,disableddepartmentId int Belirli departmandan kullanıcılar companyId int Belirli şirketten kullanıcılar Örnek Yanıt:
jsonWrap[ { "UserID": 321, "Username": "123@123.com", "Email": "123@123.com", "IsAdmin": false, "Disabled": false } ]
⚙️ Kategori Bazlı Teknisyen Yetkilendirme
11. Kullanıcıya Kategori Teknisyen Yetkisi Ver (POST)
httpWrapPOST https://[mavimasa-url]/api/AddCategoryTechPermission?userId=123&categoryId=321👨🔧 Belirli bir kategoriye teknisyen yetkisi verir.
🔐 Sadece yönetici izniyle kullanılabilir.Parametreler:
Parametre Tip Açıklama userId int Kullanıcı ID’si categoryId int Kategori ID’si
12. Kullanıcının Kategori Teknisyen Yetkisini Kaldır (POST)
httpWrapPOST https://[mavimasa-url]/api/RemoveCategoryTechPermission?userId=123&categoryId=321🚫 Kullanıcının belirli kategorideki teknisyen yetkisini kaldırır.
🔐 Sadece yönetici izniyle kullanılabilir.
💡 Bu API metodları, özellikle kullanıcı senkronizasyonu, otomatik profil oluşturma, grup bazlı yetkilendirme ve entegrasyon ihtiyaçlarınızda kritik öneme sahiptir. Herhangi bir teknik desteğe ihtiyacınız varsa, DestekMaviMasa ekibine başvurabilirsiniz.
🏢 Şirket ve Departman Yönetimi
Şirket ve Departman Yönetimi API Metodları
Bu bölüm, Mavi Masa sisteminde şirket ve departman verilerini yönetmek için kullanılan API metodlarını detaylı olarak açıklar. Tüm bu metodlar, sistemdeki verileri listelemek, oluşturmak, güncellemek ve özel alanları yönetmek amacıyla tasarlanmıştır.
🏢 Şirketler (Companies)
1. Şirket Listesi Al (GET)
httpGET https://[mavimasa-url]/api/Companies✅ Tüm şirketleri listeler.
🔐 Sadece Mavi Masa yönetici izniyle erişilebilir.Örnek Yanıt:
json[ { "CompanyID": 1, "Name": "test company", "EmailDomain": null, "Notes": null } ]
2. Yeni Şirket Oluştur (POST)
httpPOST https://[mavimasa-url]/api/Company➕ Yeni bir şirket kaydı oluşturur.
🔐 Sadece Mavi Masa yönetici izniyle kullanılabilir.Parametreler:
Parametre Tip Açıklama name string Şirket adı (zorunlu) emailDomains string (Opsiyonel) E-posta domainleri. Birden fazla domain varsa ;ile ayırın. Örn:"empire.com;deathstar.com;vader.com"Örnek Yanıt:
json{ "id": 123 }⚠️ Aynı isimde bir şirket zaten varsa, mevcut şirketin ID’sini döndürür.
3. Şirket Bilgilerini Güncelle (POST)
httpPOST https://[mavimasa-url]/api/UpdateCompany🛠️ Mevcut bir şirketin bilgilerini günceller.
🔐 Sadece Mavi Masa yönetici izniyle kullanılabilir.Parametreler:
Parametre Tip Açıklama id int Şirket ID’si (zorunlu) name string Yeni şirket adı notes string Şirket notları emailDomains string (Opsiyonel) Domain listesi ( ;ile ayrılmış)Örnek Yanıt:
json{ "CompanyID": 123, "Name": "Updated Company Name", "EmailDomain": "newdomain.com", "Notes": "Updated notes" }
🏢 Departmanlar (Departments)
4. Departman Listesi Al (GET)
httpGET https://[mavimasa-url]/api/Departments✅ Tüm departmanları listeler.
🔐 Sadece Mavi Masa yönetici izniyle erişilebilir.Örnek Yanıt:
json[ { "DepartmentID": 1, "Name": "test name" } ]
📝 Şirkete Özel Alan Atama
5. Şirkete Özel Alan Değeri Ata (POST)
httpPOST https://[mavimasa-url]/api/SetCustomFieldForCompany📌 Bir şirkete özel alan değeri atar.
🔐 Sadece Mavi Masa yönetici izniyle kullanılabilir.Parametreler:
Parametre Tip Açıklama id int Şirket ID’si fieldId int Özel alan ID’si value string Değer (checkbox → true/false, dropdown → option ID, date → herhangi bir tarih formatı)Örnek Yanıt:
httpHTTP 200 OK
6. Şirket Özel Alanlarını Görüntüle (GET)
httpGET https://[mavimasa-url]/api/CompanyCustomFields?id=123📋 Belirtilen şirkete ait tüm özel alanları listeler.
🔐 Sadece teknisyen izniyle erişilebilir.Örnek Yanıt:
json[ { "FieldName": "Company city", "FieldID": 1234, "Type": 1, "Value": "Los Angeles" } ]
💡 Bu metodlar, özellikle kullanıcıların otomatik olarak şirketlere atanması, e-posta domain bazlı filtreleme veya özel alanlarla entegrasyon ihtiyaçlarınızda kritik öneme sahiptir. Herhangi bir sorunuz veya teknik desteğe ihtiyacınız varsa, DestekMaviMasa ekibine başvurabilirsiniz.
📚 Bilgi Bankası (Knowledge Base)
Bilgi Bankası ve Otomasyon Kuralları API Metodları
Bu bölüm, Mavi Masa sisteminde bilgi bankası (Knowledge Base) makalelerini yönetmek ve otomasyon kurallarını kontrol etmek için kullanılan API metodlarını detaylı olarak açıklar. Bu metodlar, içerik entegrasyonu, otomatik süreçlerin yönetimi ve sistem özelleştirmeleri için kritik öneme sahiptir.
📚 Bilgi Bankası (Knowledge Base) API Metodları
1. Tüm Makaleleri Listele (GET)
GET https://[mavimasa-url]/api/Articles
✅ Sistemdeki tüm bilgi bankası makalelerinin başlıkları, URL’leri ve kategorilerini listeler.
📄 Makale içeriği (Body) bu listede dahil değildir — sadece meta veriler döndürülür.
Parametre:
| Parametre | Tip | Açıklama |
|---|---|---|
| categoryId | int | (Opsiyonel) Belirli bir kategoriye ait makaleleri getir |
Örnek Yanıt:
{
"Articles": [
{
"ArticleId": 6,
"Subject": "Sample KB article",
"ForTechsOnly": false,
"CategoryID": 5,
"Url": "http://localhost:3000//KB/View/6-sample-kb-article",
"DateCreated": "2016-10-09T05:04:40.89"
}
],
"Categories": [
{
"CategoryID": 5,
"Name": "Payment issues",
"Section": "Sales",
"NameWithSection": "Sales \\ Payment issues"
}
],
"Tags": []
}
2. Tek Bir Makaleyi Getir (GET)
GET https://[mavimasa-url]/api/Article/{id}
📄 Belirtilen makalenin tamamını (başlık + içerik) döndürür.
Parametre:
| Parametre | Tip | Açıklama |
|---|---|---|
| id | int | Makale ID’si |
Örnek Yanıt:
{
"ArticleId": 7,
"Subject": "Another sample KB article",
"Body": "This is a sample Knowledge Base article...\r
[b]Subtitle[/b]\r
Here you can explain the knowledge base article in detail.",
"CategoryName": "Pre-sales questions",
"Url": "http://localhost:3000//KB/View/7",
"DateCreated": "2016-10-09T05:04:40.893"
}
3. Yeni Makale Oluştur (POST)
POST https://[mavimasa-url]/api/article
✍️ Yeni bir bilgi bankası makalesi oluşturur.
Parametreler:
| Parametre | Tip | Açıklama |
|---|---|---|
| categoryId | int | Kategori ID’si |
| subject | string | Makale başlığı |
| body | string | Makale içeriği |
| forTechsOnly | string | true veya false — sadece teknisyenler için mi? |
curl Örneği:
curl -F "categoryId=1" -F "subject=test" -F "body=test" -u admin:admin -v http://localhost/mavimasa/api/article
Örnek Yanıt:
{
"id": 123
}
⚙️ Otomasyon Kuralları API Metodları
1. Belirli Bir Kuralı Al (GET)
GET https://[mavimasa-url]/api/Rule/{id}
📜 Belirli bir otomasyon kuralını XML formatında döndürür.
🔧 Kuralların koşulları (Conditions) ve eylemleri (Actions) bu yapıda tanımlanır.
Parametre:
| Parametre | Tip | Açıklama |
|---|---|---|
| id | int | Kural ID’si |
Örnek Yanıt (XML):
<?xml version="1.0" encoding="utf-16"?>
<AutomationRule xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Conditions>...</Conditions>
<Actions>...</Actions>
</AutomationRule>
2. Kuralı Devre Dışı Bırak (GET)
GET https://[mavimasa-url]/api/DisableRule/{id}
⛔ Belirli bir otomasyon kuralını devre dışı bırakır — artık tetiklenmez.
Parametre:
| Parametre | Tip | Açıklama |
|---|---|---|
| id | int | Kural ID’si |
3. Kuralı Etkinleştir (GET)
GET https://[mavimasa-url]/api/EnableRule/{id}
✅ Daha önce devre dışı bırakılmış bir kuralı tekrar aktif hale getirir.
Parametre:
| Parametre | Tip | Açıklama |
|---|---|---|
| id | int | Kural ID’si |
📝 Özel Alanlar (Custom Fields) API Metodları
4. Tüm Özel Alanları Listele (GET)
GET https://[mavimasa-url]/api/CustomFields?type=1
📋 Sistemdeki tüm özel alanları listeler. Hangi nesne tipi için kullanıldığını belirtmek üzere
typeparametresi kullanılır.
Parametre:
| Parametre | Tip | Açıklama |
|---|---|---|
| type | int | Kullanım türü:1 → Talepler2 → Varlıklar3 → Kullanıcılar4 → Şirketler |
Örnek Yanıt:
[
{
"FieldID": 1234,
"FieldName": "Priority Level",
"Type": 3,
"UsageType": 1,
"Mandatory": false
}
]
💡 Bu metod, özellikle sistem özelleştirmesi, raporlama ve entegrasyon ihtiyaçlarınızda kullanışlıdır.
🔐 Bu API metodlarının çoğu, sistemdeki verilerin doğrudan erişilmesine ve değiştirilmesine olanak tanır. Güvenlik nedeniyle, yalnızca yetkili kullanıcılar tarafından kullanılmalıdır. Herhangi bir teknik desteğe ihtiyacınız varsa, DestekMaviMasa ekibine başvurabilirsiniz.
🖥️ Varlık Yönetimi (Assets)
Varlık (Asset) Yönetimi API Metodları
Bu bölüm, Mavi Masa sisteminde donanım, yazılım veya diğer varlıkların yönetilmesi için kullanılan API metodlarını detaylı olarak açıklar. Varlıklar, kullanıcılar, şirketler ve taleplerle ilişkilendirilebilir, özel alanlarla zenginleştirilebilir ve aktif/pasif durumlarına göre yönetilebilir.
🖥️ Varlık Listesi ve Detayları
1. Tüm Varlıkları Listele (GET)
GET https://[mavimasa-url]/api/Assets
✅ Sistemdeki tüm varlıkları listeler (sayfa başına 50 kayıt).
🔍 Filtreleme seçenekleri ile belirli varlıklara odaklanabilirsiniz.
Parametreler:
| Parametre | Tip | Açıklama |
|---|---|---|
| page | int | Sayfa numarası (örn. 2 → 51-100 arası varlıklar) |
| assignedToUserId | int | Atanmış kullanıcı ID’si |
| assignedToCompanyId | int | Atanmış şirket ID’si |
| assignedToDepartmentId | int | Atanmış departman ID’si |
| assignedToTicketId | int | Talebe atanmış varlıklar |
| nameprefix | string | Varlık adının başlangıcı (en az 3 karakter) |
| includeDisabled | bool | Pasif (retired) varlıkları göster |
Örnek Yanıt:
[
{
"ItemID": 91,
"Manufacturer": "Apple",
"ModelName": "Macbook",
"Type": "Laptop",
"SerialNumber": null,
"Location": null,
"Quantity": 0,
"CompanyID": null
}
]
2. Tek Bir Varlığı Getir (GET)
GET https://[mavimasa-url]/api/Asset?id=91
📄 Belirtilen varlığın detaylarını döndürür.
Parametre:
| Parametre | Tip | Açıklama |
|---|---|---|
| id | int | Varlık ID’si |
Örnek Yanıt:
{
"ItemID": 91,
"Manufacturer": "Apple",
"ModelName": "Macbook",
"Type": "Laptop",
"SerialNumber": null,
"Location": null,
"Comments": null,
"Quantity": 0,
"Company": null
}
➕ Yeni Varlık Oluşturma
3. Yeni Varlık Oluştur (POST)
POST https://[mavimasa-url]/api/Asset
✅ Yeni bir varlık kaydı oluşturur.
Parametreler:
| Parametre | Tip | Açıklama |
|---|---|---|
| modelName | string | Model adı (zorunlu) |
| manufacturer | string | Üretici (zorunlu) |
| type | string | Tür (zorunlu) |
| supplier | string | Tedarikçi (zorunlu) |
| serialNumber | string | (Opsiyonel) Seri numarası |
| location | string | (Opsiyonel) Konum |
| comments | string | (Opsiyonel) Ek notlar |
| quantity | int | (Opsiyonel) Miktar (varsayılan: 1) |
| companyId | int | (Opsiyonel) Şirkete atama |
Örnek Yanıt:
{
"id": 123
}
🛠️ Varlık Güncelleme ve Özel Alan Yönetimi
4. Varlığı Güncelle (POST)
POST https://[mavimasa-url]/api/UpdateAsset
🛠️ Mevcut bir varlığın bilgilerini günceller.
Parametreler:
| Parametre | Tip | Açıklama |
|---|---|---|
| id | int | Varlık ID’si (zorunlu) |
| modelName | string | Yeni model adı |
| manufacturer | string | Üretici |
| type | string | Tür |
| supplier | string | Tedarikçi |
| serialNumber | string | Seri numarası |
| location | string | Konum |
| comments | string | Ek notlar |
| quantity | int | Miktar |
| companyId | int | Şirket ataması |
Örnek Yanıt:
{
"ItemID": 91,
"ModelName": "Macbook Pro",
"Manufacturer": "Apple",
"Type": "Laptop",
"Quantity": 1
}
5. Varlığa Özel Alan Değeri Ata (POST)
POST https://[mavimasa-url]/api/SetCustomFieldForAsset
📌 Bir varlığa özel alan değeri atar.
Parametreler:
| Parametre | Tip | Açıklama |
|---|---|---|
| id | int | Varlık ID’si |
| fieldId | int | Özel alan ID’si |
| value | string | Değer (checkbox → true/false, dropdown → option ID, date → herhangi tarih formatı) |
Örnek Yanıt:
HTTP 200 OK
👤 Varlık Atama ve İlişkilendirme
6. Varlığı Kullanıcıya Ata (POST)
POST https://[mavimasa-url]/api/AssignAssetToUser
🧑💼 Belirli bir varlığı kullanıcıya atar.
Parametreler:
| Parametre | Tip | Açıklama |
|---|---|---|
| assetId | int | Varlık ID’si |
| userId | int | Kullanıcı ID’si |
7. Varlığın Kullanıcı Atamasını Kaldır (POST)
POST https://[mavimasa-url]/api/UnAssignAssetToUser
🚫 Varlığın kullanıcı atamasını kaldırır.
Parametreler:
| Parametre | Tip | Açıklama |
|---|---|---|
| assetId | int | Varlık ID’si |
| userId | int | Kullanıcı ID’si |
8. Varlığı Talebe Ekle (POST)
POST https://[mavimasa-url]/api/AddAssetToTicket
🎯 Bir varlığı talebe “ilgili varlıklar” olarak ekler.
Parametreler:
| Parametre | Tip | Açıklama |
|---|---|---|
| assetId | int | Varlık ID’si |
| ticketID | int | Talep ID’si |
9. Varlığı Talepten Kaldır (POST)
POST https://[mavimasa-url]/api/RemoveAssetFromTicket
🗑️ Talepten ilgili varlığı kaldırır.
Parametreler:
| Parametre | Tip | Açıklama |
|---|---|---|
| assetId | int | Varlık ID’si |
| ticketID | int | Talep ID’si |
⚙️ Varlık Durum Yönetimi
10. Varlığı Etkinleştir (POST)
POST https://[mavimasa-url]/api/EnableAsset
✅ Pasif olan bir varlığı tekrar aktif hale getirir.
Parametre:
| Parametre | Tip | Açıklama |
|---|---|---|
| assetId | int | Varlık ID’si |
11. Varlığı Devre Dışı Bırak (POST)
POST https://[mavimasa-url]/api/DisableAsset
🚫 Varlığı pasif (retired) duruma getirir.
Parametre:
| Parametre | Tip | Açıklama |
|---|---|---|
| assetId | int | Varlık ID’si |
🔒 Kimlik Doğrulama ve Hız Sınırı
💡 Bu metodlar, hem bulut hem yerel kurulumlarda mevcuttur. Ayrıntılar için DestekSitesi’ne başvurun.
⏳ Hız Sınırı (Rate Limiting)
🚫 Kaynak yoğunluğu yüksek olan metodlar hız sınırına tabidir:
- Genel metodlar: Dakikada 90 istek
- Search / UserByEmail: Dakikada 60 istek
⚠️ Sınır aşıldığında
429kodu veya yavaş yanıt verilir. 2-3 dakika sonra tekrar deneyin.
✅ Yerel kurulumda hız sınırını devre dışı bırakmak için:
"DisableRateLimit": "true"
appsettings.jsondosyasına ekleyin.
Bu API metodları, özellikle IT varlık yönetiminde (ITAM), donanım takibi, kullanıcı atamaları ve talep entegrasyonlarında kritik öneme sahiptir. Herhangi bir teknik desteğe ihtiyacınız varsa, DestekMaviMasa ekibine başvurabilirsiniz.
Bu API referansı, DestekMaviMasa sisteminin tüm entegrasyon ihtiyaçlarınızı karşılamak üzere hazırlanmıştır. Herhangi bir teknik sorunuz veya destek ihtiyacınız varsa, DestekMaviMasa ekibine başvurabilirsiniz.