API développeur Vivoldi

Avec l’API REST de Vivoldi, vous pouvez implémenter des fonctionnalités automatisées et personnalisées dans n’importe quel environnement — site web, application mobile ou système interne.
Elle est conçue pour permettre de contrôler les fonctions clés de manière programmatique depuis votre serveur ou votre application, sans avoir à accéder directement au tableau de bord.

L’API peut être utilisée librement avec divers langages et plateformes tels que JavaScript, Python, PHP, Java, Android et iOS.
Chaque fonctionnalité est proposée de façon concise et intuitive afin d’optimiser l’efficacité du développement.

Pour utiliser l’API, une clé API d’authentification est requise. Veillez à la stocker en toute sécurité et à ne jamais la divulguer publiquement.

✨ Remarques :

  • La clé API peut être modifiée au maximum une fois par mois.
  • Les utilisateurs du forfait gratuit peuvent également accéder librement à l’API.
  • La fréquence des requêtes et la vitesse de réponse peuvent varier selon l’offre souscrite.

Comment appeler l’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
Il suffit d’ajouter Authorisation, Content-type à votre en-tête Http et d’appeler l’API.
Response
{
	"code": 0,
	"message": "",
	"result": Object
}
DomainesDescriptionType
codeCode de réponse. Une valeur de 0 indique un succès, toute autre valeur indique un échec.
Ce code est indépendant du statut HTTP et n’est retourné que si le statut HTTP se situe dans la plage 2xx ou 3xx.
int
messagePrésent uniquement lorsque code est différent de 0. Fournit un message d’erreur expliquant la cause de l’échec.
Ce champ peut être vide ou absent en cas de réussite.
string
resultLes données renvoyées par l’API. Selon le type d’API, le format peut être une chaîne de caractères ou un objet JSON.

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")));
                        }
                    }
                }
            }
        }
    }
}
Veuillez contacter Vivoldi si vous avez besoin d’améliorations ou de modifications de l’API REST.