{"id":4531,"date":"2025-08-22T16:03:57","date_gmt":"2025-08-22T09:03:57","guid":{"rendered":"https:\/\/www.dewacloud.com\/blog\/?p=4531"},"modified":"2025-08-22T16:04:21","modified_gmt":"2025-08-22T09:04:21","slug":"dewacloud-api-overview","status":"publish","type":"post","link":"https:\/\/www.dewacloud.com\/blog\/dewacloud-api-overview\/","title":{"rendered":"Panduan Lengkap Penggunaan Dewacloud API, Terlengkap!"},"content":{"rendered":"<p>Dewacloud API dapat membantu developer untuk melakukan otomatisasi serangkaian request yang diperlukan untuk lifecycle aplikasi dan memperluas fungsionalitas platform dengan menggabungkan layanan lain.<\/p>\n<p>Dengan menggunakan API ini, kamu dapat membuat environment secara terstruktur, men-deploy aplikasi dan masih banyak lagi hanya lewat dashboard Dewacloud saja.<\/p>\n<p>Dewacloud API menggunakan prinsip REST. REST API sendiri menentukan fungsi yang dapat di request oleh developer dan kemudian menerima respon nya.<\/p>\n<h2>Dewacloud API Request<\/h2>\n<p>Semua request yang dapat dilakukan pada API method yaitu GET atau POST. Dengan menggunakan parameter seperti berikut :<\/p>\n<pre>https:\/\/ {hoster-api-host} \/1.0\/\r\n<\/pre>\n<p>URL yang harus kamu gunakan, biasanya sudah tersedia seperti pada kolom di bawah ini.<\/p>\n<p><img fetchpriority=\"high\" decoding=\"async\" class=\"aligncenter size-full wp-image-39286\" src=\"https:\/\/www.dewaweb.com\/blog\/wp-content\/uploads\/2021\/11\/api-request.png\" alt=\"api request\" width=\"621\" height=\"183\" \/><\/p>\n<p>Ketika menggunakan method GET, data yang di request dapat dikirim dalam bentuk query string setelah tanda \u201c?\u201d, atau tuliskan pada bagian body POST request.<\/p>\n<p>Selain itu, yang perlu kamu ingat juga, pada method GET harus menggunakan percent encoded atau URL encoding.<\/p>\n<p>Hal penting yang harus kamu perhatikan juga yaitu batasan URL request, yang mana yaitu 2048 karakter saja. Oleh karena itu, kita menyarankan untuk menggunakan ini :<\/p>\n<ul>\n<li>GET, request untuk menerima informasi yang sesuai dengan limit panjangnya.<\/li>\n<li>POST, request untuk mengubah data (membuat environment, mengubah file konfigurasi dan lainnya).<\/li>\n<\/ul>\n<p>Dengan demikian, kamu tidak akan dibatasi terkait panjangnya request. Selain itu, juga akan lebih relevan untuk penggunaan HTTPS protocol.<\/p>\n<h2>Respons API Dewacloud<\/h2>\n<p>Response request tersebut merupakan UTF-8 encoded. Dan semua respons dari API, yaitu berformat JSON. Contohnya seperti tampilan berikut.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter size-full wp-image-39287\" src=\"https:\/\/www.dewaweb.com\/blog\/wp-content\/uploads\/2021\/11\/api-response.png\" alt=\"api response\" width=\"435\" height=\"570\" \/><\/p>\n<h2>Dewacloud API Action<\/h2>\n<p>Untuk memulai otomatisasi dengan Dewacloud API, lengkapi persyaratannya terlebih dulu yaitu :<\/p>\n<ul>\n<li>Pastikan kamu sudah terdaftar di provider hosting.<\/li>\n<li>Download Dewacloud Client Library yang sesuai dengan platform yang kamu gunakan dan tambahkan ke classpath.<\/li>\n<\/ul>\n<p>Apabila kamu menggunakan Maven, maka tambahkan dependency tersebut ke file pom.xml<\/p>\n<pre>&lt;dependency&gt;\r\n   &lt;groupId&gt;com.dewacloud&lt;\/groupId&gt;\r\n   &lt;artifactId&gt;dewacloud-public-j2se&lt;\/artifactId&gt;\r\n   &lt;version&gt;3.1&lt;\/version&gt;\r\n&lt;\/dependency&gt;.\r\n<\/pre>\n<p>Selanjutnya untuk memanggil function API apapun kamu harus melakukan autentikasi terlebih dulu. Parameter session inilah yang nantinya bertanggung jawab terhadap autentikasi, yaitu mengidentifikasi user terkait request nya.<\/p>\n<p>Session tersebut dapat kamu panggil dengan method <b>Users<\/b> &gt; <b>Authentication<\/b> &gt; <b>Signin<\/b>. Contohnya seperti ini.<\/p>\n<pre>https:\/\/{hoster-api-host} \/1.0\/users\/authentication\/rest\/signin?login=[string]&amp;password=[string]\r\n<\/pre>\n<p>Untuk bagian <b>login<\/b> dan <b>password<\/b>, bisa di sesuaikan saja dengan akun kamu.<\/p>\n<p>Pemanggilan function API selanjutnya harus dilakukan dengan nilai session yang diterima. Caranya yaitu <b>Users<\/b> &gt; <b>Authentication<\/b> &gt; <b>Signout<\/b>.<\/p>\n<pre>https:\/\/ {hoster-api-host} \/1.0\/users\/authentication\/rest\/signout?session=[string]\r\n<\/pre>\n<p>Dengan bantuan Dewacloud Java Client Library, kamu dapat mengotomatisasi berbagai action terkait manajemen lifecyle aplikasi kamu. Seperti membuat environment, mengganti status, menghapus, merestart nodes, men-deploy aplikasi dan masih banyak lagi.<\/p>\n<p>Berikut ini cara membuat environment dengan custom topology dan setting menggunakan Dewacloud Client Library.<\/p>\n<h2>Create Environment<\/h2>\n<p>Berikut adalah langkah-langkah pembuatan environment dengan Dewacloud API.<\/p>\n<ol>\n<li>Deklarasikan CreateEnvironment yang baru, dan nantinya akan menyertakan semua blok dan parameter. Blok parameter pertama berisikan string sebagai berikut.\n<pre>private final static String HOSTER_URL = \"&lt;hoster-url&gt;\"; \r\nprivate final static String USER_EMAIL = \"&lt;email&gt;\";\r\nprivate final static String USER_PASSWORD = \"&lt;password&gt;\"; \r\nprivate final static String ENV_NAME = \"test-api-environment-\" + new Random().nextInt(100);\r\n<\/pre>\n<p>Berikut adalah penjelasan dari perintah di atas:<\/p>\n<ul>\n<li>&lt;hoster-url&gt;: URL penyedia hosting kamu.<\/li>\n<li>&lt;email&gt;: email akun Dewacloud kamu.<\/li>\n<li>&lt;password&gt;: password akun Dewacloud kamu.<\/li>\n<\/ul>\n<\/li>\n<li>Kemudian, autentikasi tersebut akan dikonfigurasi menggunakan email dan password yang sudah kamu masukan sebelumnya.\n<pre>public static void &lt;span style=\"color: #ff8000;\"&gt;main(String[] args) {         \r\n\r\nSystem.out.println(\"Authenticate user...\")\r\nAuthenticationResponse authenticationResponse =          authenticationService.signin(USER_EMAIL, USER_PASSWORD);\r\nSystem.out.println(\"Signin response: \" + authenticationResponse);\r\nif (!authenticationResponse.isOK()) {\r\nSystem.exit(authenticationResponse.getResult());\r\n}\r\n\r\nfinal String session = authenticationResponse.getSession();\r\n<\/pre>\n<p>Setelah autentikasi, unique session baru akan terbuat. Hal tersebut akan digunakan untuk melakukan operasi dalam akun user. Semua pemanggilan API function selanjutnya harus dilakukan pada session ini, yang tetap valid sampai pemanggilan metode Signout.<\/li>\n<li>Langkah selanjutnya adalah mendapatkan list engine yang tersedia untuk &lt;engine_type&gt; (bisa Java, Ruby, PHP, Js dan yang lain).\n<pre>System.out.println(\"Getting list of engines...\");\r\nArrayResponse arrayResponse = environmentService.getEngineList(session, \"&lt;engine_type&gt;\");\r\nSystem.out.println(\"GetEngineList response: \" + arrayResponse);\r\nif (!arrayResponse.isOK()) {\r\n    System.exit(arrayResponse.getResult());\r\n}\r\n<\/pre>\n<\/li>\n<li>Setelah itu, dapatkan list node templates yang tersedia untuk &lt;templates_type&gt; yang mana dapat berupa :\n<ul>\n<li>ALL : semua tersedia pada platform templates, seperti native dan cartridges.<\/li>\n<li>NATIVE : merupakan default node templates.<\/li>\n<li>CARTRIDGE : merupakan custom templates yang ditambahkan ke platform sebagai cartridges oleh penyedia hosting.<\/li>\n<\/ul>\n<pre>System.out.println(\"Getting list of templates...\");\r\narrayResponse = environmentService.getTemplates(session, \"&lt;templates_type&gt;\", false);\r\nSystem.out.println(\"GetTemplates response: \" + arrayResponse);\r\nif (!arrayResponse.isOK()) {\r\n    System.exit(arrayResponse.getResult());\r\n}\r\n<\/pre>\n<\/li>\n<li>Blok berikutnya khusus untuk mengkonfigurasi dan melakukan setting terhadap environment dan server yang baru.\n<pre>JSONObject env = new JSONObject()\r\n        .put(\"ishaenabled\", false)\r\n        .put(\"engine\", \"php5.5\")\r\n        .put(\"shortdomain\", ENV_NAME);\r\n\r\nJSONObject apacheNode = new JSONObject()\r\n        .put(\"nodeType\", \"apache2\")\r\n        .put(\"extip\", false)\r\n        .put(\"count\", 1)\r\n        .put(\"fixedCloudlets\", 1)\r\n        .put(\"flexibleCloudlets\", 4);\r\n\r\nJSONObject mysqlNode = new JSONObject()\r\n        .put(\"nodeType\", \"mysql5\")\r\n        .put(\"extip\", false)\r\n        .put(\"fixedCloudlets\", 1)\r\n        .put(\"flexibleCloudlets\", 4);\r\n\r\nJSONObject memcachedNode = new JSONObject()\r\n        .put(\"nodeType\", \"memcached\");\r\n\r\nJSONArray nodes = new JSONArray()\r\n        .put(apacheNode)\r\n        .put(mysqlNode)\r\n        .put(memcachedNode);\r\n<\/pre>\n<\/li>\n<li>Langkah terakhir, mulai buat environment baru dengan setting yang sudah ditentukan.\n<pre>System.out.println(\"Creating environment...\");\r\nScriptEvalResponse scriptEvalResponse = environmentService.createEnvironment(session, \r\n\"createenv\", env.toString(), nodes.toString());\r\nSystem.out.println(\"CreateEnvironment response: \" + scriptEvalResponse);\r\n\r\n<\/pre>\n<\/li>\n<\/ol>\n<p>Nah, itu dia langkah &#8211; langkah untuk membuat environment baru melalui Dewacloud Client Library. Bagaimana, cukup mudah bukan? Oleh karena itu segera gunakan layanan kami dan dapatkan manfaat lebih untuk aplikasimu.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dewacloud API dapat membantu developer untuk melakukan otomatisasi serangkaian request yang diperlukan untuk lifecycle aplikasi dan memperluas fungsionalitas platform dengan menggabungkan layanan lain. Dengan menggunakan API ini, kamu dapat membuat environment secara terstruktur, men-deploy aplikasi dan masih banyak lagi hanya lewat dashboard Dewacloud saja. Dewacloud API menggunakan prinsip REST. REST API sendiri menentukan fungsi yang&hellip;&nbsp;<a href=\"https:\/\/www.dewacloud.com\/blog\/dewacloud-api-overview\/\" rel=\"bookmark\"><span class=\"screen-reader-text\">Panduan Lengkap Penggunaan Dewacloud API, Terlengkap!<\/span><\/a><\/p>\n","protected":false},"author":9,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"off","neve_meta_content_width":70,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":"","footnotes":""},"categories":[11],"tags":[],"class_list":["post-4531","post","type-post","status-publish","format-standard","hentry","category-dev-ops"],"_links":{"self":[{"href":"https:\/\/www.dewacloud.com\/blog\/wp-json\/wp\/v2\/posts\/4531","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dewacloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dewacloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dewacloud.com\/blog\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dewacloud.com\/blog\/wp-json\/wp\/v2\/comments?post=4531"}],"version-history":[{"count":1,"href":"https:\/\/www.dewacloud.com\/blog\/wp-json\/wp\/v2\/posts\/4531\/revisions"}],"predecessor-version":[{"id":4534,"href":"https:\/\/www.dewacloud.com\/blog\/wp-json\/wp\/v2\/posts\/4531\/revisions\/4534"}],"wp:attachment":[{"href":"https:\/\/www.dewacloud.com\/blog\/wp-json\/wp\/v2\/media?parent=4531"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dewacloud.com\/blog\/wp-json\/wp\/v2\/categories?post=4531"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dewacloud.com\/blog\/wp-json\/wp\/v2\/tags?post=4531"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}