Puntuación¶
PhotoScore es un servicio de PhotoILike que reproduce un estudio de mercado para una imagen dada y devuelve, como resultado, una puntuación entre 0 y 10 (siendo 0 la puntuación mínima y 10, la máxima). Esta puntuación representa el atractivo comercial de dicha imagen. Cuanto mayor sea la puntuación, más probabilidades hay de que el cliente haga clic sobre ella.
Petición
POST https://api.photoilike.com/v2.0/score
Cabeceras
Campos
Clave | Valor |
---|---|
Authorization | string Requerido Token de sesión precedido por la palabra Bearer . |
Cuerpo de la solicitud
El cuerpo de la solicitud contiene datos con la siguiente estructura:
Representación JSON
Campos
Parámetro | Información |
---|---|
client-key | string Requerido Client-key del usuario final que solicita la puntuación de la imagen. |
image-url | string Requerido1 URL que identifica desde donde se puede obtener la imagen a procesar. La imagen ha de poder obtenerse mediante una petición GET a la URL indicada. |
image-base64 | string Requerido1 Codificación en base64 de la imagen que se desea procesar. |
ext | string Requerido2 Extensión del archivo a usar. Los valores permitidos son: png , jpg , jpeg , webp , heic , avif . |
Warning
1 Cada petición solo procesa una imagen, lo que implica que los campos image-url
e image-base64
son disjuntos, es decir, se ha de usar uno u el otro, pero nunca los dos a la vez.
2 Si se usa image-base64
es necesario incluir el parámetro ext
.
Respuesta de la solicitud
En caso de éxito, el código de estado HTTP en el encabezado de la respuesta es 200 OK y el cuerpo de la respuesta contiene la puntuación de la imagen.
Representación JSON
Campos
Parámetro | Información |
---|---|
id | string Identificador del trabajo que procesó la petición para obtener la puntuación de la imagen. |
score | float Puntuación para la imagen de la petición. |
Ejemplo de petición
import requests
header = {
# Add your token session (1)
'Authorization': 'Bearer YOUR.SESSION.TOKEN'
}
payload = {
# Add an active client key (2)
'client-key': 'ACTIVE_CLIENT_KEY',
# Add the image url you want to rate (3)
'image-url': 'https://example.org/photo.jpg'
}
endpoint = 'https://api.photoilike.com/v2.0/score'
# Make the request
r = requests.post(endpoint, headers=header, json=payload)
# Response in json format
response = r.json()
- Asegúrese de sustituir
YOUR.SESSION.TOKEN
por un token de sesión válido - Asegúrese de sustituir
ACTIVE_CLIENT_KEY
por un client-key válido - Establezca en image-url la URL a la imagen que desee puntuar
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.nio.charset.StandardCharsets;
import org.json.JSONObject;
public class Score {
public static void main(String[] args) throws Exception {
// add your session token (1)
String bearerToken = String.format("Bearer %s", "YOUR.SESSION.TOKEN");
JSONObject payload = new JSONObject();
// add an active client key (2)
payload.put("client-key", "ACTIVE_CLIENT_KEY");
// add the image url you want to rate (3)
payload.put("image-url", "https://example.org/photo.jpg");
String endpoint = "https://api.photoilike.com/v2.0/score";
// build the request
HttpURLConnection connection = (HttpURLConnection) new URL(endpoint).openConnection();
connection.setRequestMethod("POST");
connection.setRequestProperty("Authorization", bearerToken);
connection.setRequestProperty("Content-Type", "application/json");
connection.setDoOutput(true);
OutputStream os = connection.getOutputStream();
byte[] input = payload.toString().getBytes(StandardCharsets.UTF_8);
os.write(input, 0, input.length);
// make the request
BufferedReader br = new BufferedReader(
new InputStreamReader(connection.getInputStream(), StandardCharsets.UTF_8)
);
StringBuilder response = new StringBuilder();
for (String responseLine = null; (responseLine = br.readLine()) != null; response.append(responseLine.trim()))
;
// Response in json format
JSONObject json = new JSONObject(response.toString());
}
}
- Asegúrese de sustituir
YOUR.SESSION.TOKEN
por un token de sesión válido - Asegúrese de sustituir
ACTIVE_CLIENT_KEY
por un client-key válido - Establezca en image-url la URL a la imagen que desee puntuar
<?php
// Add your token session (1)
$headers = array(
'Content-Type:application/json',
'Authorization: Bearer YOUR.SESSION.TOKEN'
);
// Add an active client key (2)
// Add the image url you want to rate (3)
$payload = json_encode(array(
'client-key' => 'ACTIVE_CLIENT_KEY',
'image-url' => 'https://example.org/photo.jpg'
));
$endpoint = "https://api.photoilike.com/v2.0/score";
$ch = curl_init($endpoint);
curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// Make the request
$result = curl_exec($ch);
curl_close($ch);
// Response in json format
$response = json_decode($result);
?>
- Asegúrese de sustituir
YOUR.SESSION.TOKEN
por un token de sesión válido - Asegúrese de sustituir
ACTIVE_CLIENT_KEY
por un client-key válido - Establezca en image-url la URL a la imagen que desee puntuar