Link Search Menu Expand Document

Autenticación

La autenticación se realiza mediante un nombre de usuario y una clave (API Key). Una vez realizada la autenticación se recibe un token de autorización temporal, el qual se debe ser usado para autorizarse en las operaciones que expone la API.

Se permites dos formas de enviar el usuario y la clave:

  1. Mediante data de formaulario (form-data).
  2. Mediente un fichero json en el cuerpo de la petición.

POST /api/rest_admin/login

Parámetros

Mediante formulario

form-data

username stringNombre de usuario.
key stringClave de acceso
Mediante ficheor json

json

{
  "username": "nom de usuario",
  "key": "clave de acceso"
}
username stringNombre de usuario.
key stringClave de acceso

Respuesta

{
    "api_token": "lssvgdbtb1oigvvnp057q0n122",
    "success": "Correcto: Sesión API iniciada correctamente!"
}
api_tokenToken utilizado para autorizar las llamadas a las operaciones que expone la API.
El token de autorización es válido durante 1 hora.

Ejemplos

cURL usando form-data
curl --location --request POST 'http://sushi.loc/index.php?route=api/rest_admin/login' \
--form 'username=0VoSkPSBAoowT5HN2XENo9bUo57zBxI1IxJsCbuDFYzYU7mMUqa9q1UUxRJyFSqN' \
--form 'key=Fz6HRrLXGAwa8YnSFESv5mFt4Pi9hPNmEJuW15t76fY44BN9FfuBI0vCFTCmjPPnZAAR5tO2PmxKoAJtg4upufs0zudYAsCasCrow6gCjUMNUW61QrgANO1D9Ub9CeavhIaUE7WoRj1l5ydLg9MtODwNXONasnMPvmk0j7e0gWccK5oq51aJ4MWSajtJN5Z8h9yH6T8dpb5zXjgSa6cVJyokYXtlTIk0IZ8Fs6iYXdNuDuDdrfy0Udat0JUJS5Ab'
PHP - cURL usando form-data
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "http://sushi.loc/index.php?route=api/rest_admin/login",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => array('username' => '0VoSkPSBAoowT5HN2XENo9bUo57zBxI1IxJsCbuDFYzYU7mMUqa9q1UUxRJyFSqN','key' => 'Fz6HRrLXGAwa8YnSFESv5mFt4Pi9hPNmEJuW15t76fY44BN9FfuBI0vCFTCmjPPnZAAR5tO2PmxKoAJtg4upufs0zudYAsCasCrow6gCjUMNUW61QrgANO1D9Ub9CeavhIaUE7WoRj1l5ydLg9MtODwNXONasnMPvmk0j7e0gWccK5oq51aJ4MWSajtJN5Z8h9yH6T8dpb5zXjgSa6cVJyokYXtlTIk0IZ8Fs6iYXdNuDuDdrfy0Udat0JUJS5Ab'),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
cURL usando json
curl --location --request POST 'http://sushi.loc/api/rest_admin/login' \
--header 'Content-Type: application/json' \
--data-raw '{
    "username": "0VoSkPSBAoowT5HN2XENo9bUo57zBxI1IxJsCbuDFYzYU7mMUqa9q1UUxRJyFSqN",
    "key": "Fz6HRrLXGAwa8YnSFESv5mFt4Pi9hPNmEJuW15t76fY44BN9FfuBI0vCFTCmjPPnZAAR5tO2PmxKoAJtg4upufs0zudYAsCasCrow6gCjUMNUW61QrgANO1D9Ub9CeavhIaUE7WoRj1l5ydLg9MtODwNXONasnMPvmk0j7e0gWccK5oq51aJ4MWSajtJN5Z8h9yH6T8dpb5zXjgSa6cVJyokYXtlTIk0IZ8Fs6iYXdNuDuDdrfy0Udat0JUJS5Ab"
}'
PHP - cURL usando json
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "http://sushi.loc/api/rest_admin/login",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS =>"{\n    \"username\": \"0VoSkPSBAoowT5HN2XENo9bUo57zBxI1IxJsCbuDFYzYU7mMUqa9q1UUxRJyFSqN\",\n    \"key\": \"Fz6HRrLXGAwa8YnSFESv5mFt4Pi9hPNmEJuW15t76fY44BN9FfuBI0vCFTCmjPPnZAAR5tO2PmxKoAJtg4upufs0zudYAsCasCrow6gCjUMNUW61QrgANO1D9Ub9CeavhIaUE7WoRj1l5ydLg9MtODwNXONasnMPvmk0j7e0gWccK5oq51aJ4MWSajtJN5Z8h9yH6T8dpb5zXjgSa6cVJyokYXtlTIk0IZ8Fs6iYXdNuDuDdrfy0Udat0JUJS5Ab\"\n}",
  CURLOPT_HTTPHEADER => array(
    "Content-Type: application/json"
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

Autorización

Una vez realizado el proceso de autenticación se debe utilizar el token de autorización para ejecutar las operaciones que expone la API. El token de autorización se envia en cada petición mediante la cabecera HTTP X-Sushi-Token-Id.

Error de autorización

En caso que el token de autorización haya caducado la petición devuelve la respuesta json siguiente

{
    "success": 0,
    "error": [
        "Warning: You do not have permission to access the API!"
    ],
    "data": ""
}