Ir ao contido

Puntuación

PhotoScore é un servizo de PhotoILike que reproduce un estudo de mercado para unha imaxe dada e devolve, como resultado, unha puntuación entre 0 e 10 (sendo 0 a puntuación mínima e 10, a máxima). Esta puntuación representa o atractivo comercial da devandita imaxe. Canto maior sexa a puntuación, máis probabilidades hai de que o cliente faga clic sobre ela.

Petición

POST https://api.photoilike.com/v2.0/score

Cabeceiras

Campos

Clave Valor
Authorization string
Requirido
Token de sesión precedido pola palabra Bearer.

Corpo da solicitude

O corpo da solicitude contén datos coa seguinte estrutura:

Representación JSON

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

Campos

Parámetro Información
client-key string
Requirido
Client-key do usuario final que solicita a puntuación da imaxe.
image-url string
Requirido1
URL que identifica desde onde se pode obter a imaxe para procesar.
A imaxe ha de poder obterse mediante unha petición GET á URL indicada.
image-base64 string
Requirido1
Codificación en base64 da imaxe que se desexa procesar.
ext string
Requirido2
Extensión do arquivo para usar. Os valores permitidos son: png, jpg, jpeg, webp, heic, avif.

Warning

1 Cada petición só procesa unha imaxe, o que implica que os campos image-url e image-base64 son disxuntos, é dicir, hase de usar un ou o outro, pero nunca os dous á vez.
2 Se se usa image-base64 hase de pasar o parámetro ext.

Resposta da solicitude

En caso de éxito, o código de estado HTTP no encabezado da resposta é 200 OK e o corpo da resposta contén a puntuación da imaxe.

Representación JSON

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

Campos

Parámetro Información
id string
Identificador do traballo que procesou a petición para obter a puntuación da imaxe.
score float
Puntuación para a imaxe da petición.

Exemplo 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 substituír YOUR.SESSION.TOKEN por un token de sesión válido
  2. Asegúrese de substituír ACTIVE_CLIENT_KEY por un client-key válido
  3. Estableza en image-url a URL da imaxe que desexe 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 substituír YOUR.SESSION.TOKEN por un token de sesión válido
  2. Asegúrese de substituír ACTIVE_CLIENT_KEY por un client-key válido
  3. Estableza en image-url a URL da imaxe que desexe 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 substituír YOUR.SESSION.TOKEN por un token de sesión válido
  2. Asegúrese de substituír ACTIVE_CLIENT_KEY por un client-key válido
  3. Estableza en image-url a URL da imaxe que desexe puntuar