Saltar a contenido

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

{
    "client-key": string,
    "image-url": string,
    "image-base64": string,
    "ext": string
}

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

{
    "id": string,
    "score": float 
}

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

curl --request POST \
--header "Content-Type: application/json" \
--header "Authorization: Bearer {YOUR.SESSION.TOKEN}" \
--data '{"client-key": "{ACTIVE_CLIENT_KEY}", "image-url": "{https://example.org/photo.jpg}"}' \
https://api.photoilike.com/v2.0/score
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()
  1. Asegúrese de sustituir YOUR.SESSION.TOKEN por un token de sesión válido
  2. Asegúrese de sustituir ACTIVE_CLIENT_KEY por un client-key válido
  3. 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());
    }

}   
  1. Asegúrese de sustituir YOUR.SESSION.TOKEN por un token de sesión válido
  2. Asegúrese de sustituir ACTIVE_CLIENT_KEY por un client-key válido
  3. 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);
 ?>
  1. Asegúrese de sustituir YOUR.SESSION.TOKEN por un token de sesión válido
  2. Asegúrese de sustituir ACTIVE_CLIENT_KEY por un client-key válido
  3. Establezca en image-url la URL a la imagen que desee puntuar