Vivoldi Entwickler-API
Mit der REST-API von Vivoldi können Sie automatisierte und maßgeschneiderte Funktionen in jeder Umgebung implementieren — sei es auf einer Website, in einer mobilen App oder in einem internen System.
Die API ist so konzipiert, dass Sie zentrale Funktionen direkt vom Server oder aus der Anwendung heraus programmatisch steuern können, ohne das Dashboard aufrufen zu müssen.
Die API kann frei mit verschiedenen Programmiersprachen und Plattformen wie JavaScript, Python, PHP, Java, Android und iOS verwendet werden.
Alle Funktionen werden in einer klaren und intuitiven Form bereitgestellt, was die Entwicklungseffizienz erheblich steigert.
Für die Nutzung der API benötigen Sie einen API-Schlüssel zur Authentifizierung. Bitte stellen Sie sicher, dass dieser Schlüssel sicher aufbewahrt und nicht öffentlich zugänglich gemacht wird.
✨ Hinweise:
- Der API-Schlüssel kann maximal einmal pro Monat geändert werden.
- Auch Nutzer des kostenlosen Tarifs können die API uneingeschränkt verwenden.
- Anfragelimits und Antwortgeschwindigkeiten können je nach Tarif variieren.
- Wenn ein HTTP 403-Fehler auftritt, setzen Sie bitte einen eindeutigen User-Agent-Wert im Header Ihrer Anfrage.
Vivoldi blockiert bestimmte User-Agents, die häufig von schädlichen Crawlern oder Bots verwendet werden.
Es wird empfohlen, den Firmennamen oder Markennamen deutlich und in englischer Sprache im User-Agent anzugeben. - API-Aufrufe können gelegentlich aufgrund von Serverneustarts oder Wartungsarbeiten fehlschlagen.
Dies kann während Funktionsverbesserungen, Sicherheitsupdates oder Infrastrukturwartungen auftreten.
Bitte stellen Sie sicher, dass alle API-Anfragen über eine automatische Wiederholungslogik verfügen.
Wie man die API aufruft
Host: https://vivoldi.com/api/{uri}
Authorization: APIKey {Your API Key}
Content-type: application/json
User-agent: {Your User-agent}
Accept-Language: en
{
"code": 0,
"message": "",
"result": Object
}
Felder | Beschreibung | Typ |
---|---|---|
code | Antwortcode. Ein Wert von 0 steht für Erfolg, jeder andere Wert bedeutet Fehler.Dieser Code ist vom HTTP-Status unabhängig und wird nur bei einem HTTP-Status im Bereich 2xx oder 3xx zurückgegeben. | int |
message | Nur enthalten, wenn code ungleich 0 ist. Gibt eine Fehlermeldung zur Ursache zurück.Bei Erfolg kann dieses Feld leer oder weggelassen sein. | string |
result | Die tatsächlichen Daten, die von der API zurückgegeben werden. Je nach API-Typ im Format String oder JSON-Objekt . | 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")));
}
}
}
}
}
}
}