Client-key¶
O client-key é un token especial que é necesario para a maioría das peticións do API de PhotoILike. A idea é que cada usuario final dispoña dun client-key único.
O recurso client-key require de varias peticións que se detallan a continuación.
Creación de client-key¶
Warning
PhotoILike non almacena os tokens dos client-keys. É importante que se almacenen de maneira segura porque PhotoILike non pode obter o token dun client-key que se xerou anteriormente.
Petición
POST https://api.photoilike.com/v2.0/client-key
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
Campos
Parámetro | Información |
---|---|
send | bool Opcional. Se o campo é certo enviarase ao correo da conta rexistrada de PhotoILike todos os client-keys xerados. |
clients | array Requirido. Array de pares nome-email que identifican o cliente para o que se vai a crear o client-key (a capacidade máxima do array nunha petición é de 20). |
clients[item].name | string Requirido. Nome do cliente ao que se lle quere xerar o client-key. |
clients[item].email | array Requirido. Conta de correo do cliente ao que se lle quere xerar o client-key. |
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 un array cos client-keys xerados.
Representación
Campos
Parámetro | Información |
---|---|
id | string Identificador co que PhotoILike almacena a información relativa ao client-key. |
activated | bool Indica se o client-key está activado para usarse ou non. |
name | string Nome do cliente que se usou na petición. |
string Email do cliente que se usou na petición. |
|
secret | string Token do client-key. Esta información ha de gardarse nun lugar seguro porque PhotoILike non almacena o token xerado facendo imposible recuperalo nin restauralo. |
Exemplo de petición
curl --request POST \
--header "Content-Type: application/json" \
--header "Authorization: Bearer {YOUR.SESSION.TOKEN}" \
--data '{"send": "True", "clients": [{"name": "client1", "email": "client1@example.org"}, {"name": "client2", "email": "client2@example.org"}]}' \
https://api.photoilike.com/v2.0/client-key
import requests
header = {
# Add your token session (1)
'Authorization': 'Bearer YOUR.SESSION.TOKEN'
}
clients = [
# Set the right values for your clients (2)
{'name': 'client1', 'email': 'client1@example.org'},
{'name': 'client2', 'email': 'client2@example.org'}
]
payload = {
# If send is true an email will be sent to your email account with all the created client-keys
'send': True,
'clients': clients
}
endpoint = 'https://api.photoilike.com/v2.0/client-key'
# Make the request
r = requests.post(endpoint, headers=header, json=payload)
# Response in json format
response = r.json()
- Asegúrese de substituír
YOUR.SESSION.TOKEN
por un token de sesión válido - Estableza o valor name e email adecuados para os seus clientes
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.JSONArray;
import org.json.JSONObject;
public class ClientKey {
public static void main(String []args) throws Exception {
// add your session token (1)
String bearerToken = String.format("Bearer %s", "YOUR.SESSION.TOKEN");
// set the right values for your clients (2)
JSONObject client1 = new JSONObject();
client1.put("name", "client1");
client1.put("email", "client1@example.org");
JSONObject client2 = new JSONObject();
client2.put("name", "client1");
client2.put("email", "client1@example.org");
JSONArray clients = new JSONArray();
clients.put(client1);
clients.put(client2);
JSONObject payload = new JSONObject();
// if send is true an email will be sent to your email account with all the created client-keys
payload.put("send", true);
payload.put("clients", clients);
String endpoint = "https://api.photoilike.com/v2.0/client-key";
// 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
JSONArray json = new JSONArray(response.toString());
}
}
- Asegúrese de substituír
YOUR.SESSION.TOKEN
por un token de sesión válido - Estableza o valor name e email adecuados para os seus clientes
<?php
// Add your token session (1)
$headers = array(
'Content-Type:application/json',
'Authorization: Bearer YOUR.SESSION.TOKEN'
);
// Set the right values for your clients (2)
$clients = array(
array(
'name' => 'client1',
'email' => 'client1@example.org'
),
array(
'name' => 'client2',
'email' => 'client2@example.org'
)
);
// If send is true and email will be sent to your email account with all the created client-keys
$payload = json_encode(array(
'send' => true,
'clients' => $clients
));
$endpoint = "https://api.photoilike.com/v2.0/client-key";
$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 substituír
YOUR.SESSION.TOKEN
por un token de sesión válido - Estableza o valor name e email adecuados para os seus clientes
Desactivación de client-key¶
Info
O estado dun client-key só pode transicionar de activado a desactivado. Isto supón que non se pode activar un client-key que fose desactivado.
Petición
PUT https://api.photoilike.com/v2.0/client-key
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
Campos
Parámetro | Información |
---|---|
id | string Requirido Identificador co que PhotoILike almacena a información relativa ao client-key. |
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 un obxecto co client-key modificado.
Representación JSON
Campos
Parámetro | Información |
---|---|
id | string Identificador co que PhotoILike almacena a información relativa ao client-key. |
activated | bool Indica se o client-key está activado para usarse ou non. |
name | string Nome do cliente que se usou na petición. |
string Email do cliente que se usou na petición. |
|
timestamp | timestamp Instante de tempo no que o client-key foi xerado. |
Exemplo de petición
import requests
header = {
# Add your token session (1)
'Authorization': 'Bearer YOUR.SESSION.TOKEN'
}
payload = {
# Add the id of the client-key to desactivated (2)
'id': "CLIENT_KEY_ID"
}
endpoint = 'https://api.photoilike.com/v2.0/client-key'
# Make the request
r = requests.put(endpoint, headers=header, json=payload)
# Response in json format
response = r.json()
- Asegúrese de substituír
YOUR.SESSION.TOKEN
por un token de sesión válido - Asegúrese de cambiar
CLIENT_KEY_ID
por un identificador de client-key válido
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.JSONArray;
import org.json.JSONObject;
public class ClientKey {
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 the id of the client-key to deactivated (2)
payload.put("id", "CLIENT_KEY_ID");
String endpoint = "https://api.photoilike.com/v2.0/client-key";
// build the request
HttpURLConnection connection = (HttpURLConnection) new URL(endpoint).openConnection();
connection.setRequestMethod("PUT");
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 substituír
YOUR.SESSION.TOKEN
por un token de sesión válido - Asegúrese de cambiar
CLIENT_KEY_ID
por un identificador de client-key válido
<?php
// Add your token session (1)
$headers = array(
'Content-Type:application/json',
'Authorization: Bearer YOUR.SESSION.TOKEN'
);
// Add the id of the client-key to desactivated (2)
$payload = json_encode(array(
'id' => 'CLIENT_KEY_ID'
));
$endpoint = "https://api.photoilike.com/v2.0/client-key";
$ch = curl_init($endpoint);
curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
// Make the request
$result = curl_exec($ch);
curl_close($ch);
// Response in json format
$response = json_decode($result);
?>
- Asegúrese de substituír
YOUR.SESSION.TOKEN
por un token de sesión válido - Asegúrese de cambiar
CLIENT_KEY_ID
por un identificador de client-key válido
Obtención de client-keys¶
Petición
GET https://api.photoilike.com/v2.0/client-key
Cabeceiras
Campos
Clave | Valor |
---|---|
Authorization | string Requirido Token de sesión precedido pola palabra Bearer . |
Parámetros de consulta
Campos
Clave | Valor |
---|---|
page | int Opcional Número da páxina da que se quere obter os client-keys. Se non se especifica o valor que se usa por defecto é 0. |
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 un array cos client-keys.
Representación
[
{
"id": string,
"activated": bool,
"name": string,
"email": string,
"timestamp": timestamp,
"apiKeyPrefix": string,
},
...
]
Campos
Parámetro | Información |
---|---|
id | string Identificador co que PhotoILike almacena a información relativa ao client-key. |
activated | bool Indica se o client-key está activado para usarse ou non. |
name | string Nome do cliente que se usou na petición. |
string Email do cliente que se usou na petición. |
|
timestamp | timestamp Instante de tempo no que o client-key foi xerado. |
apiKeyPrefix | string Os primeiros caracteres do token do client-key. |
Esta petición tamén emprega as cabeceiras para engadir máis información na resposta.
Clave | Valor |
---|---|
x-total-count | string Número total de client-keys. |
link | string Contén un listado de elementos <link> separados por coma da siguinte forma: <uri_referencia>; rel="valor", <uri_referencia>; rel="valor" Os posibles valores no campo rel son: next , prev , first e last . |
Exemplo de petición
import requests
header = {
# Add your token session (1)
'Authorization': 'Bearer YOUR.SESSION.TOKEN'
}
params = {
# Add the num page to retrieve it (2)
"page": 1
}
endpoint = 'https://api.photoilike.com/v2.0/client-key'
# Make the request
r = requests.get(endpoint, headers=header, params=params)
# Response in json format
response = r.json()
- Asegúrese de substituír
YOUR.SESSION.TOKEN
por un token de sesión válido - Estableza en page o número de páxina que desexe obter
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.JSONArray;
import org.json.JSONObject;
public class ClientKey {
public static void main(String []args) throws Exception {
// add your session token (1)
String bearerToken = String.format("Bearer %s", "YOUR.SESSION.TOKEN");
// add the num page to retrieve it (2)
int page = 1;
String endpoint = "https://api.photoilike.com/v2.0/client-key?page=" + page;
// build the request
HttpURLConnection connection = (HttpURLConnection) new URL(endpoint).openConnection();
connection.setRequestMethod("GET");
connection.setRequestProperty("Authorization", bearerToken);
// 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
JSONArray json = new JSONArray(response.toString());
}
}
- Asegúrese de substituír
YOUR.SESSION.TOKEN
por un token de sesión válido - Estableza en page o número de páxina que desexe obter
<?php
// Add your token session (1)
$headers = array(
'Content-Type:application/json',
'Authorization: Bearer YOUR.SESSION.TOKEN'
);
$endpoint = "https://api.photoilike.com/v2.0/client-key";
// Add the num page to retrieve it (2)
$endpoint = $endpoint . "?page=1";
$ch = curl_init($endpoint);
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 substituír
YOUR.SESSION.TOKEN
por un token de sesión válido - Estableza en page o número de páxina que desexe obter