API para Desarrolladores de URLs Cortas Vivoldi

La API para desarrolladores de Vivoldi te permite integrar fácilmente funciones de acortamiento de URLs, gestión de enlaces y seguimiento de clics en sitios web, aplicaciones móviles y sistemas internos mediante APIs REST y respuestas JSON.

Todas las APIs devuelven datos estructurados en formato JSON y funcionan perfectamente con JavaScript, Python, Java, PHP, Android, iOS y prácticamente cualquier entorno compatible con solicitudes HTTP.

Autenticación de API

Todas las solicitudes de API requieren una clave de API en el encabezado Authorization.
Puedes obtener tu clave desde la página API para Desarrolladores en el panel de control.

Authorization: APIKey {Your API Key}

¿Qué es la API para Desarrolladores de Vivoldi?

La API para desarrolladores de Vivoldi es una API REST que permite integrar funciones de acortamiento de URLs y gestión de enlaces directamente en sitios web, aplicaciones móviles y sistemas internos.

Además de crear enlaces cortos, también puedes automatizar múltiples funciones de Vivoldi mediante la API, como estadísticas de clics, gestión de grupos de enlaces, generación de códigos QR, cupones y sellos digitales.

Casos de Uso Más Comunes

  • Generar URLs cortas automáticamente para campañas de marketing
  • Optimizar el intercambio de enlaces de productos en plataformas eCommerce
  • Automatizar informes y recopilación de estadísticas de clics en sistemas internos
  • Combinar deep links con URLs cortas para impulsar instalaciones de apps móviles
  • Automatizar la gestión de enlaces para redes sociales, SMS y correos electrónicos

Preparación Antes de Usar la API

Para utilizar la API de Vivoldi, primero debes crear una cuenta y generar una clave API.
La clave emitida puede incluirse en el encabezado Authorization para acceder a los endpoints REST API basados en HTTPS.

Paso 1 — Crear una Cuenta en Vivoldi

Después de registrarte, puedes usar las funciones de la API incluso con el plan gratuito.
Los planes de pago ofrecen límites de API más altos y funciones avanzadas adicionales.

Paso 2 — Generar una Clave API

Una vez iniciada la sesión, puedes generar tu clave API desde la sección Developer API del panel de control.
Por seguridad, se recomienda almacenar la clave API en variables de entorno del servidor o en sistemas backend seguros.

Paso 3 — Probar Tu Primera Solicitud API

Agrega la clave API al encabezado Authorization y envía una solicitud POST al endpoint indicado abajo para crear una URL corta.

Cuando la configuración esté lista, podrás integrar Vivoldi en distintos servicios utilizando las guías y ejemplos de código disponibles a continuación.

Cómo llamar a la API

La API de Vivoldi está diseñada sobre una arquitectura REST API basada en HTTPS.
Todas las solicitudes deben incluir autenticación mediante una API Key en los encabezados HTTP, y el Content-Type debe establecerse como application/json.

Todas las respuestas se devuelven en formato JSON utilizando una estructura consistente con los campos code, message y result.
Un valor 0 en code indica que la solicitud fue procesada correctamente, mientras que los códigos y mensajes de error permiten implementar un manejo adecuado de excepciones.

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
}
Campos Descripción Tipo
code Código de respuesta. Un valor de 0 indica éxito; cualquier otro valor indica fallo.
Este código es independiente del estado HTTP y se devuelve solo si el estado HTTP está en el rango 2xx o 3xx.
int
message Incluido solo si code no es 0. Proporciona un mensaje de error que explica el fallo.
Puede estar vacío o no aparecer en caso de éxito.
string
result Los datos reales devueltos por la API. Según el tipo de API, el formato puede ser una cadena de texto o un objeto JSON. object

Examples:

Vivoldi ofrece ejemplos de código REST API para diferentes entornos de desarrollo, incluidos JavaScript, PHP y Java.
Los ejemplos siguientes están basados en la API de creación de URLs cortas (/api/v2/create), por lo que puedes comenzar a probarla de inmediato simplemente cambiando la API Key y el dominio.

Gracias a su estructura de solicitudes y respuestas basada en JSON, la API puede integrarse fácilmente en sitios web, paneles de administración, sistemas internos, plataformas de automatización de marketing y muchos otros servicios.

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8"/>
	<script src="https://code.jquery.com/jquery-4.0.0.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")));
                        }
                    }
                }
            }
        }
    }
}
Póngase en contacto con Vivoldi si necesita mejoras o modificaciones de la API REST.