API Pengembang Vivoldi
Dengan REST API dari Vivoldi, Anda dapat mengimplementasikan fitur otomatis dan yang disesuaikan di berbagai lingkungan — baik itu situs web, aplikasi seluler, atau sistem internal.
API ini dirancang agar Anda dapat mengontrol fungsi utama secara terprogram dari server atau aplikasi tanpa perlu mengakses dasbor secara langsung.
API ini dapat digunakan secara bebas dari berbagai bahasa pemrograman dan platform seperti JavaScript, Python, PHP, Java, Android, dan iOS.
Setiap fungsi disediakan dengan cara yang ringkas dan intuitif untuk meningkatkan efisiensi pengembangan.
Untuk menggunakan API, Anda memerlukan kunci API untuk otentikasi. Pastikan kunci tersebut disimpan dengan aman dan tidak dibagikan secara publik.
✨ Catatan:
- Kunci API dapat diubah maksimal satu kali per bulan.
- Pengguna paket gratis juga dapat menggunakan API tanpa batasan.
- Frekuensi permintaan dan kecepatan respons dapat berbeda tergantung pada paket langganan Anda.
Peringatan Penting
- Jika Anda mengalami error HTTP 403, harap tetapkan nilai User-Agent yang unik dalam header permintaan Anda.
Vivoldi memblokir beberapa User-Agent tertentu yang biasanya digunakan oleh crawler atau bot berbahaya.
Disarankan untuk menyertakan nama perusahaan atau merek Anda secara jelas dalam bahasa Inggris pada nilai User-Agent. - Permintaan API dapat gagal secara sementara karena restart server atau pemeliharaan sistem.
Hal ini dapat terjadi selama peningkatan fitur, pembaruan keamanan, atau pemeliharaan infrastruktur.
Pastikan untuk menyertakan logika percobaan ulang otomatis dalam semua permintaan API Anda.
Cara memanggil API
Request
Host: https://vivoldi.com/api/{uri}
Authorization: APIKey {Your API Key}
Content-type: application/json
User-agent: {Your User-agent}
Accept-Language: en
Response
{
"code": 0,
"message": "",
"result": Object
}
Bidang | Deskripsi | Jenis |
---|---|---|
code | Kode respons. Nilai 0 menunjukkan berhasil, sedangkan nilai selain 0 menunjukkan gagal.Kode ini terpisah dari status HTTP dan hanya dikembalikan jika status HTTP berada dalam kisaran 2xx atau 3xx. | int |
message | Hanya disertakan jika code tidak sama dengan 0. Menyediakan pesan kesalahan yang menjelaskan kegagalan.Bisa kosong atau tidak disertakan jika permintaan berhasil. | string |
result | Data sebenarnya yang dikembalikan oleh API. Formatnya dapat berupa String atau Objek JSON , tergantung jenis API. | object |
Examples:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<script src="https://code.jquery.com/jquery-3.4.1.min.js" crossorigin="anonymous"></script>
</head>
<body>
<form id="exampleForm">
<button id="btnCreateLink" type="button">Create Link</button>
</form>
<script type="text/javascript">
$(function(){
$("#btnCreateLink").on('click', function(evt){
evt.preventDefault();
$.ajax({
type: 'POST',
url: 'https://vivoldi.com/api/link/v2/create',
data: JSON.stringify({'url':'https://google.com','domain':'https://vvd.bz'}),
headers: {'Authorization':'APIKey oc3w9m4ytso9mv5e8yse9XXXXXXXXXX'},
contentType: 'application/json; charset=utf-8',
dataType: 'json',
timeout: 5000
}).done(function(res){
if (res.code === 0) {
alert('short url: ' + res.result);
} else {
alert('code: ' + res.code + ', message: ' + res.message);
}
}).fail(function(xhr, textStatus, e){
alert('error: ' + e);
});
});
});
</script>
</body>
</html>
<?php
$url = "https://vivoldi.com/api/link/v2/create";
$params = array (
"url" => "https://www.facebook.com/vivoldi365",
"domain" => "https://vvd.bz",
);
$body = json_encode($params);
$headers = array(
"Authorization: APIKey oc3w9m4ytso9mv5e8yse9XXXXXXXXXX",
"Content-Type: application/json"
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 10000);
curl_setopt($ch, CURLOPT_POSTFIELDS, $body);
$result = curl_exec($ch);
if ($result === FALSE) {
echo "Error sending: " . curl_error($ch);
} else {
print_r($result);
}
curl_close($ch);
?>
package com.example;
import org.json.JSONObject;
import org.springframework.http.HttpStatus;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class CreateLink {
public static void main(String[] args) {
try (HttpClient client = HttpClient.newBuilder().build()) {
JSONObject params = new JSONObject();
params.put("url", "https://www.facebook.com/vivoldi365");
params.put("domain", "https://vvd.bz");
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://vivoldi.com/api/link/v2/create"))
.header("Content-Type", "application/json")
.header("Authorization", "APIKey oc3w9m4ytso9mv5e8yse9XXXXXXXXXX")
.POST(HttpRequest.BodyPublishers.ofString(params.toString()))
.build();
HttpResponse<String> response;
try {
response = client.send(request, HttpResponse.BodyHandlers.ofString());
} catch (Exception e) {
throw new RuntimeException(e);
}
if (response != null) {
if (response.statusCode() == HttpStatus.OK.value()) {
String jsonString = response.body();
if (jsonString != null && !jsonString.isEmpty()) {
JSONObject json = new JSONObject(jsonString);
if (json.getInt("code") == 0) {
System.out.println("Short URL: " + json.getString("result"));
} else {
System.out.println("Failed: " + String.format("[%d] %s", json.getInt("code"), json.getString("message")));
}
}
}
}
}
}
}
Silakan hubungi Vivoldi jika Anda membutuhkan peningkatan atau modifikasi REST API.