{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"a7fad779-c637-4a56-9199-422dd21293ec","name":"[TR] Cloudeos API v1.2 Dökümantasyonu","description":"<h2>Genel Bakış</h2>\n\n<p>{{projectName}} API dökümantasyonuna hoşgeldiniz.</p>\n\n<p>Bu dökümantasyon ile {{projectName}} paneli üzerinde yapabileceğiniz aksiyonların bir çoğunu, kullanıcı bilgileriniz ile sisteme otantike olarak kolayca gerçekleştirebilirsiniz. Örnek istekler farklı dil örnekleri için \"Api İsteği Kod Örnekleri\" bölümünde paylaşılmıştır.</p>\n\n<p>Genele dair bilgiler sunan bir takım uç noktaları (/v1/region/list, /v1/image/list, /v1/package/list gibi) kimlik doğrulaması gerektirmez. Hangi uç noktaların kimlik doğrulaması gerektirdiği, ilgili uç noktanın açıklaması altında, API Token durum bilgisinde 'Gerekli' yada 'Gerekli değil' olarak belirtilmiştir.</p>\n\n<h2>Kullanılabilecek İstek Metodları</h2>\n\n<table><tbody><tr><th>Metod</th><th>Kullanım</th></tr><tr><td><div>GET</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div><p>Sunucular, Snapshot'lar, hesabınıza dair bilgiler, fatura ve bakiye yüklemelerinizi görüntülenmesi için gerekli olan uç noktalarda <b>GET</b> metodu kullanılmalıdır.<br>Get metodu ile yaptığınız istekler salt-okunurdur. Ve tüm geri dönüş JSON formatındadır. Get metoduna sahip uç noktalar ek parametre alıyor olabilir. Bu parametreler için kullandığınız uç nokta açıklamasına bakabilirsiniz.</p></div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>POST</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div><p>Sunucu, snapshot,sshkey gibi yeni bir obje oluşturmak için gerekli olan uç noktlarda istekler <b>POST</b> metodu ile yapılmalıdır.<br>Post metodu ile yeni bir obje oluşturmak için gerekli olan zorunlu ya da isteğe bağlı parametlerin listesini uç nokta detayında bulabilirsiniz.</p></div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>PUT</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div><p>Güncelleme işlemleri için uç noktalara olan istekler <b>PUT</b> methodu ile yapılmalıdır.</p></div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>DELETE</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div><p>Sunucu, snapshot, sshkey gibi bir objeyi kalıcı olarak silmek istediğinizde gerekli olan uç noktalara olan istekleri <b>DELETE</b> methodu ile yapmalısınız.<br>Bu metod ile yapılan istekler kalıcı olarak sistemden kaldırılacağı için dikkatli olunmalıdır.</p></div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr></tbody></table>\n\n<h2>Genel Json Yanıt Yapısı</h2>\n\n<p>Başarılı yada başarısız tüm yanıtlar json formatında, altaki yapıya göre geri döndürülür.<br>Başarılı istekler Http durum kodu olarak 200 döner. Aynı zamanda yanıt parametresindeki \"status\": \"success\" olacaktır. Sunuc oluşturma, Snapshottan sunucu oluşturma gibi zaman alabilen bazı istekler için data içerisinde \"event_id\" dönebilir.</p>\n\n<p>Buna karşın başarısız istekler genel olarak 4x aralığında bir Http durum kodu geri döndürür. Yanıt parametresinde \"status\" parametresi \"error\", \"data\" parametresi ise null olarak geri döner. Açıklayıcı hata mesajı ise \"message\" parametresinde yer alır.</p>\n\n<h3>Başarılı bir örnek istek yanıtı</h3>\n\n```\n{\n  \"status\": \"success\",\n  \"data\": true,\n  \"message\": null\n}\n\n ```\n\n<p>Geriye bir event id'si dönme durumunda;</p>\n\n```\n{\n  \"status\": \"success\",\n  \"data\": {\"event_id\":1578},\n  \"message\": null\n}\n\n ```\n\n<h3>Başarısız bir örnek istek yanıtı</h3>\n\n```\n{\n  \"status\": \"error\",\n  \"data\": null,\n  \"message\": \"Hata mesaj detayı\"\n}\n\n ```\n\n<h2>API Base URL</h2>\n\nTüm uç noktalara yapılacak olan istekler aşağıdaki https adresi üzerinden yapılmalıdır.\n\n<ul><li><div>API Endpoint / BaseURL: {{baseURL}}</div></li></ul>\n\n<h2>JWT Kimlik Doğrulaması</h2>\n\n<p>{{projectName}}, kimlik doğrulaması olarak güvenli bir doğrulama methodu olan JWT (Json Web Token) yapısını kullanır. Kimlik doğrulaması gerektiren uç noktalara erişim için, öncelikle <b>\"/v1/user/login\"</b> uç noktasına mevcut kullanıcı adı ve şifre ile aşağıdaki şekilde bir istek gönderilerek bir Token elde edilmelidir.</p>\n\n<h4>Örnek bir kimlik doğrulama isteği</h4>\n\n```\ncurl --request POST\n  --url '{{baseURL}}/v1/user/login'\n  --header 'Content-Type: application/x-www-form-urlencoded'\n  --data 'username={{user_name}}&password={{user_password}}'\n\n ```\n\n<p>Doğru bilgiler ile bu şekilde bir istek yapıldığında, {{projectName}} API bir \"token\" ve \"refreshtoken\" değeri dönecektir. \"token\" geçerlilik süresi 30dk, \"refreshtoken\" ise 1 gündür.</p>\n\n<h4>Örnek bir kimlik doğrulama cevabı</h4>\n\n```\n{\n    \"status\": \"success\",\n    \"data\": {\n        \"token\": \"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6Ijc5IiwiZW1haWwiOiJ0ZWFtQGNsb3VkZW9zLmNvbSIsImZpcnN0bmFtZSI6IlVtdXQiLCJsYXN0bmFtZSI6IkthcmFjYW9cdTAxMWZsYW4iLCJpYXQiOjE1MTUwNjg5OTUsImV4cCI6MTUxNTA2OTAyNX0.lwo85F1bp8rTP1dlQoUsO-74P59fSJbW_JPTOipvEjU\",\n        \"refreshtoken\": \"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6Ijc5IiwiZXhwIjoxNTE1MTU1Mzk1LCJpYXQiOjE1MTUwNjg5OTV9.dWjYJAHBNsiF80Ygesr_1Jig0d2gimnmjG_Mcalrm6A\",\n        \"refresh\": false\n    },\n    \"message\": null\n}\n\n ```\n\n<h2>Yetkileme İsteyen Uç Noktalar İçin Api İsteği</h2>\n\n<p>Kimlik doğrulaması gerekli olan uç noktalarına istek yaparken bir Authorization header ile \"token\" parametresi gönderilmelidir.</p>\n\n<p>Elde edilen token ile API istekleri uç noktalara, aşağıdaki örnekteki gibi yapılmalıdır.</p>\n\n<h4>Örnek bir Api İsteği</h4>\n\n```\ncurl --request GET \n  --url '{{baseURL}}/v1/invoice/list' \n  --header 'Authorization: Bearer {{token}}'\n\n ```\n\n<h4>Api İsteği Kod Örnekleri</h4>\n\n<p>Her uç nokta için api örnekleri sağ panelde paylaşılmıştır. En üstten farklı dil şeçimi ile <b>Curl, jQuery,Ruby, Pyton, Node, Php</b> ve <b>Go</b> için istek örneklerini görebilirsiniz.</p>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"2734345","team":2199185,"collectionId":"a7fad779-c637-4a56-9199-422dd21293ec","publishedId":"SVmyQGv1","public":true,"publicUrl":"https://documenter-api.postman.tech/view/2734345/SVmyQGv1","privateUrl":"https://go.postman.co/documentation/2734345-a7fad779-c637-4a56-9199-422dd21293ec","customColor":{"top-bar":"FFFFFF","right-sidebar":"032846","highlight":"004278"},"documentationLayout":"classic-double-column","version":"8.11.6","publishDate":"2019-09-20T09:28:45.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{},"logos":{}},"statusCode":200},"environments":[],"user":{"authenticated":false,"permissions":{"publish":false}},"run":{"button":{"js":"https://run.pstmn.io/button.js","css":"https://run.pstmn.io/button.css"}},"web":"https://www.getpostman.com/","team":{"logo":"https://res.cloudinary.com/postman/image/upload/t_team_logo_pubdoc/v1/team/c6bb8bfb527fdbfbda0ce61b84a0862bf3c4e3546a324184e953409e63395d61","favicon":""},"isEnvFetchError":false,"languages":"[{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"HttpClient\"},{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"RestSharp\"},{\"key\":\"curl\",\"label\":\"cURL\",\"variant\":\"cURL\"},{\"key\":\"dart\",\"label\":\"Dart\",\"variant\":\"http\"},{\"key\":\"go\",\"label\":\"Go\",\"variant\":\"Native\"},{\"key\":\"http\",\"label\":\"HTTP\",\"variant\":\"HTTP\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"OkHttp\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"Unirest\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"Fetch\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"jQuery\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"XHR\"},{\"key\":\"c\",\"label\":\"C\",\"variant\":\"libcurl\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Axios\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Native\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Request\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Unirest\"},{\"key\":\"objective-c\",\"label\":\"Objective-C\",\"variant\":\"NSURLSession\"},{\"key\":\"ocaml\",\"label\":\"OCaml\",\"variant\":\"Cohttp\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"cURL\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"Guzzle\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"HTTP_Request2\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"pecl_http\"},{\"key\":\"powershell\",\"label\":\"PowerShell\",\"variant\":\"RestMethod\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"http.client\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"Requests\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"httr\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"RCurl\"},{\"key\":\"ruby\",\"label\":\"Ruby\",\"variant\":\"Net::HTTP\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"Httpie\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"wget\"},{\"key\":\"swift\",\"label\":\"Swift\",\"variant\":\"URLSession\"}]","languageSettings":[{"key":"csharp","label":"C#","variant":"HttpClient"},{"key":"csharp","label":"C#","variant":"RestSharp"},{"key":"curl","label":"cURL","variant":"cURL"},{"key":"dart","label":"Dart","variant":"http"},{"key":"go","label":"Go","variant":"Native"},{"key":"http","label":"HTTP","variant":"HTTP"},{"key":"java","label":"Java","variant":"OkHttp"},{"key":"java","label":"Java","variant":"Unirest"},{"key":"javascript","label":"JavaScript","variant":"Fetch"},{"key":"javascript","label":"JavaScript","variant":"jQuery"},{"key":"javascript","label":"JavaScript","variant":"XHR"},{"key":"c","label":"C","variant":"libcurl"},{"key":"nodejs","label":"NodeJs","variant":"Axios"},{"key":"nodejs","label":"NodeJs","variant":"Native"},{"key":"nodejs","label":"NodeJs","variant":"Request"},{"key":"nodejs","label":"NodeJs","variant":"Unirest"},{"key":"objective-c","label":"Objective-C","variant":"NSURLSession"},{"key":"ocaml","label":"OCaml","variant":"Cohttp"},{"key":"php","label":"PHP","variant":"cURL"},{"key":"php","label":"PHP","variant":"Guzzle"},{"key":"php","label":"PHP","variant":"HTTP_Request2"},{"key":"php","label":"PHP","variant":"pecl_http"},{"key":"powershell","label":"PowerShell","variant":"RestMethod"},{"key":"python","label":"Python","variant":"http.client"},{"key":"python","label":"Python","variant":"Requests"},{"key":"r","label":"R","variant":"httr"},{"key":"r","label":"R","variant":"RCurl"},{"key":"ruby","label":"Ruby","variant":"Net::HTTP"},{"key":"shell","label":"Shell","variant":"Httpie"},{"key":"shell","label":"Shell","variant":"wget"},{"key":"swift","label":"Swift","variant":"URLSession"}],"languageOptions":[{"label":"C# - HttpClient","value":"csharp - HttpClient - C#"},{"label":"C# - RestSharp","value":"csharp - RestSharp - C#"},{"label":"cURL - cURL","value":"curl - cURL - cURL"},{"label":"Dart - http","value":"dart - http - Dart"},{"label":"Go - Native","value":"go - Native - Go"},{"label":"HTTP - HTTP","value":"http - HTTP - HTTP"},{"label":"Java - OkHttp","value":"java - OkHttp - Java"},{"label":"Java - Unirest","value":"java - Unirest - Java"},{"label":"JavaScript - Fetch","value":"javascript - Fetch - JavaScript"},{"label":"JavaScript - jQuery","value":"javascript - jQuery - JavaScript"},{"label":"JavaScript - XHR","value":"javascript - XHR - JavaScript"},{"label":"C - libcurl","value":"c - libcurl - C"},{"label":"NodeJs - Axios","value":"nodejs - Axios - NodeJs"},{"label":"NodeJs - Native","value":"nodejs - Native - NodeJs"},{"label":"NodeJs - Request","value":"nodejs - Request - NodeJs"},{"label":"NodeJs - Unirest","value":"nodejs - Unirest - NodeJs"},{"label":"Objective-C - NSURLSession","value":"objective-c - NSURLSession - Objective-C"},{"label":"OCaml - Cohttp","value":"ocaml - Cohttp - OCaml"},{"label":"PHP - cURL","value":"php - cURL - PHP"},{"label":"PHP - Guzzle","value":"php - Guzzle - PHP"},{"label":"PHP - HTTP_Request2","value":"php - HTTP_Request2 - PHP"},{"label":"PHP - pecl_http","value":"php - pecl_http - PHP"},{"label":"PowerShell - RestMethod","value":"powershell - RestMethod - PowerShell"},{"label":"Python - http.client","value":"python - http.client - Python"},{"label":"Python - Requests","value":"python - Requests - Python"},{"label":"R - httr","value":"r - httr - R"},{"label":"R - RCurl","value":"r - RCurl - R"},{"label":"Ruby - Net::HTTP","value":"ruby - Net::HTTP - Ruby"},{"label":"Shell - Httpie","value":"shell - Httpie - Shell"},{"label":"Shell - wget","value":"shell - wget - Shell"},{"label":"Swift - URLSession","value":"swift - URLSession - Swift"}],"layoutOptions":[{"value":"classic-single-column","label":"Single Column"},{"value":"classic-double-column","label":"Double Column"}],"versionOptions":[],"environmentOptions":[{"value":"0","label":"No Environment"}],"canonicalUrl":"https://documenter.gw.postman.com/view/metadata/SVmyQGv1"}