ApiClient
in package
Cliente de la API de API Gateway.
Esta clase permite interactuar con la API de API Gateway, manejando las solicitudes HTTP, la autenticación y el manejo de respuestas.
Table of Contents
Properties
- $api_prefix : string
- El prefijo para las rutas de la API.
- $api_token : string|null
- El token de autenticación para la API.
- $api_url : string
- La URL base de la API de API Gateway.
- $api_version : string
- La versión de la API a utilizar.
- $last_response : ResponseInterface|null
- La última respuesta recibida de la API.
- $last_url : string|null
- La última URL utilizada en la solicitud HTTP.
Methods
- __construct() : mixed
- Constructor del cliente de la API.
- consume() : $this
- Realiza una solicitud HTTP a la API.
- delete() : ResponseInterface|null
- Realiza una solicitud DELETE a la API.
- get() : ResponseInterface|null
- Realiza una solicitud GET a la API.
- getBody() : string
- Obtiene el cuerpo de la última respuesta HTTP.
- getBodyDecoded() : array<string|int, mixed>
- Obtiene el cuerpo de la última respuesta HTTP y lo decodifica de JSON.
- getLastResponse() : ResponseInterface|null
- Obtiene la última respuesta recibida de la API.
- getLastUrl() : string|null
- Obtiene la última URL utilizada en la solicitud HTTP.
- post() : ResponseInterface|null
- Realiza una solicitud POST a la API.
- put() : ResponseInterface|null
- Realiza una solicitud PUT a la API.
- setToken() : $this
- Establece el token de autenticación.
- setUrl() : $this
- Establece la URL base de la API.
- toArray() : array<string|int, mixed>
- Convierte la última respuesta HTTP en un arreglo asociativo.
- env() : string|null
- Obtiene el valor de una variable de entorno.
- getError() : object
- Extrae información detallada sobre un error a partir de la última respuesta HTTP.
- throwException() : mixed
- Lanza una ApiException con los detalles del último error.
Properties
$api_prefix
El prefijo para las rutas de la API.
private
string
$api_prefix
= '/api'
$api_token
El token de autenticación para la API.
private
string|null
$api_token
= null
$api_url
La URL base de la API de API Gateway.
private
string
$api_url
= 'https://apigateway.cl'
$api_version
La versión de la API a utilizar.
private
string
$api_version
= 'v1'
$last_response
La última respuesta recibida de la API.
private
ResponseInterface|null
$last_response
= null
$last_url
La última URL utilizada en la solicitud HTTP.
private
string|null
$last_url
= null
Methods
__construct()
Constructor del cliente de la API.
public
__construct([string|null $token = null ][, string|null $url = null ]) : mixed
Parameters
- $token : string|null = null
-
Token de autenticación para la API.
- $url : string|null = null
-
URL base de la API.
consume()
Realiza una solicitud HTTP a la API.
public
consume(string $resource[, array<string|int, mixed> $data = [] ][, array<string|int, mixed> $headers = [] ][, string|null $method = null ][, array<string|int, mixed> $options = [] ]) : $this
Este método envía una solicitud HTTP a la API de API Gateway, utilizando los parámetros especificados y manejando la autenticación y la respuesta.
Parameters
- $resource : string
-
El recurso de la API al cual realizar la solicitud.
- $data : array<string|int, mixed> = []
-
Datos a enviar en la solicitud (para métodos POST y PUT).
- $headers : array<string|int, mixed> = []
-
Encabezados adicionales para incluir en la solicitud.
- $method : string|null = null
-
Método HTTP a utilizar (GET, POST, PUT, DELETE).
- $options : array<string|int, mixed> = []
-
Arreglo con las opciones de la solicitud HTTP.
Tags
Return values
$this —Instancia actual del cliente para encadenar llamadas.
delete()
Realiza una solicitud DELETE a la API.
public
delete(string $resource[, array<string|int, mixed> $headers = [] ][, array<string|int, mixed> $options = [] ]) : ResponseInterface|null
Parameters
- $resource : string
-
Recurso de la API al cual realizar la solicitud.
- $headers : array<string|int, mixed> = []
-
Encabezados adicionales para incluir en la solicitud.
- $options : array<string|int, mixed> = []
-
Arreglo con las opciones de la solicitud HTTP.
Return values
ResponseInterface|nullget()
Realiza una solicitud GET a la API.
public
get(string $resource[, array<string|int, mixed> $headers = [] ][, array<string|int, mixed> $options = [] ]) : ResponseInterface|null
Parameters
- $resource : string
-
Recurso de la API al cual realizar la solicitud.
- $headers : array<string|int, mixed> = []
-
Encabezados adicionales para incluir en la solicitud.
- $options : array<string|int, mixed> = []
-
Arreglo con las opciones de la solicitud HTTP.
Return values
ResponseInterface|nullgetBody()
Obtiene el cuerpo de la última respuesta HTTP.
public
getBody() : string
Este método devuelve el cuerpo de la respuesta de la última solicitud HTTP realizada utilizando este cliente API.
Tags
Return values
string —El cuerpo de la respuesta HTTP.
getBodyDecoded()
Obtiene el cuerpo de la última respuesta HTTP y lo decodifica de JSON.
public
getBodyDecoded() : array<string|int, mixed>
Este método devuelve el cuerpo de la respuesta de la última solicitud HTTP realizada por este cliente API, decodificándolo de formato JSON a un arreglo asociativo de PHP.
Tags
Return values
array<string|int, mixed> —El cuerpo de la respuesta HTTP decodificado como un arreglo.
getLastResponse()
Obtiene la última respuesta recibida de la API.
public
getLastResponse() : ResponseInterface|null
Return values
ResponseInterface|nullgetLastUrl()
Obtiene la última URL utilizada en la solicitud HTTP.
public
getLastUrl() : string|null
Return values
string|nullpost()
Realiza una solicitud POST a la API.
public
post(string $resource, array<string|int, mixed> $data[, array<string|int, mixed> $headers = [] ][, array<string|int, mixed> $options = [] ]) : ResponseInterface|null
Parameters
- $resource : string
-
Recurso de la API al cual realizar la solicitud.
- $data : array<string|int, mixed>
-
Datos a enviar en la solicitud.
- $headers : array<string|int, mixed> = []
-
Encabezados adicionales para incluir en la solicitud.
- $options : array<string|int, mixed> = []
-
Arreglo con las opciones de la solicitud HTTP.
Return values
ResponseInterface|nullput()
Realiza una solicitud PUT a la API.
public
put(string $resource, array<string|int, mixed> $data[, array<string|int, mixed> $headers = [] ][, array<string|int, mixed> $options = [] ]) : ResponseInterface|null
Parameters
- $resource : string
-
Recurso de la API al cual realizar la solicitud.
- $data : array<string|int, mixed>
-
Datos a enviar en la solicitud.
- $headers : array<string|int, mixed> = []
-
Encabezados adicionales para incluir en la solicitud.
- $options : array<string|int, mixed> = []
-
Arreglo con las opciones de la solicitud HTTP.
Return values
ResponseInterface|nullsetToken()
Establece el token de autenticación.
public
setToken(string $token) : $this
Parameters
- $token : string
-
Token de autenticación.
Return values
$thissetUrl()
Establece la URL base de la API.
public
setUrl(string $url) : $this
Parameters
- $url : string
-
URL base.
Return values
$thistoArray()
Convierte la última respuesta HTTP en un arreglo asociativo.
public
toArray() : array<string|int, mixed>
Este método transforma la última respuesta HTTP recibida en un arreglo asociativo, que incluye información del estado HTTP, encabezados y el cuerpo de la respuesta, ya sea en formato de texto o decodificado de JSON.
Tags
Return values
array<string|int, mixed> —Arreglo asociativo con la información de la respuesta.
env()
Obtiene el valor de una variable de entorno.
private
env(string $name) : string|null
Parameters
- $name : string
-
Nombre de la variable de entorno.
Return values
string|null —Valor de la variable de entorno o null si no está definida.
getError()
Extrae información detallada sobre un error a partir de la última respuesta HTTP.
private
getError() : object
Este método analiza la última respuesta HTTP para extraer información detallada sobre un error que ocurrió durante la solicitud. Devuelve un objeto con los detalles del error, incluyendo el código y el mensaje.
Return values
object —Detalles del error con propiedades 'code' y 'message'.
throwException()
Lanza una ApiException con los detalles del último error.
private
throwException() : mixed
Este método utiliza la información obtenida del método getError() para lanzar una ApiException con un mensaje de error detallado y un código de error asociado. Se utiliza para manejar errores de la API de manera uniforme en toda la clase.