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:
- Mediante data de formaulario (form-data).
- Mediente un fichero json en el cuerpo de la petición.
POST /api/rest_admin/login
Parámetros
Mediante formulario
form-data
username string | Nombre de usuario. |
key string | Clave de acceso |
Mediante ficheor json
json
{
"username": "nom de usuario",
"key": "clave de acceso"
}
username string | Nombre de usuario. |
key string | Clave de acceso |
Respuesta
{
"api_token": "lssvgdbtb1oigvvnp057q0n122",
"success": "Correcto: Sesión API iniciada correctamente!"
}
api_token | Token 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": ""
}