AbstractSiiRtcQueryResponse
extends AbstractSiiWsdlResponse
in package
implements
JsonSerializable
Clase base para las respuestas del servicio de consultas del RTC del SII (`wsRPETCConsulta`).
Todas las respuestas traen en la cabecera el resultado de la operación
(ESTADO y, si hubo un error, GLOSA) y los datos propios de cada función
en el cuerpo.
Referencia: https://www.sii.cl/factura_electronica/ws_consulta_estado_aec.pdf
Table of Contents
Interfaces
- JsonSerializable
Constants
- HEADER_STATUSES : mixed = [ '0' => 'Requerimiento recibido OK.', '1' => '...
- Estados de la cabecera, el resultado de la operación consultada.
Properties
- $body : array<string, mixed>
- Cuerpo que viene en en XML de respuesta de la solicitud al SII.
- $data : array<string, mixed>
- Datos de las cabeceras y cuerpo normalizados para fácil manipulación.
- $headers : array<string, mixed>
- Cabeceras que vienen en el XML de respuesta de la solicitud al SII.
- $requestData : array<string, mixed>
- Datos de la solicitud enviada al SII que generó esta respuesta.
Methods
- __construct() : mixed
- Constructor que recibe la respuesta del SII y los datos de la solicitud.
- getBody() : array<string, mixed>
- Obtiene el cuerpo de la respuesta del SII.
- getData() : array<string, mixed>
- Obtiene los datos normalizados de la respuesta.
- getDescription() : string
- Devuelve la descripción de la solicitud realizada al SII.
- getHeaders() : array<string, mixed>
- Obtiene los encabezados de la respuesta del SII.
- getHeaderStatus() : string
- Código del estado de la cabecera.
- getMessage() : string
- Devuelve el mensaje de la solicitud realizada al SII.
- getStatus() : string
- Devuelve el estado de la solicitud realizada al SII.
- getStatusType() : StatusInterface
- Obtiene el tipo de salida de la respuesta.
- isRequestOk() : bool
- Indica si el SII recibió y procesó bien la consulta.
- jsonSerialize() : array<string|int, mixed>
- {@inheritDoc}
- toArray() : array<string|int, mixed>
- Entrega los datos de la respuesta como un arreglo.
- getHeaderDescription() : string
- Descripción del estado de la cabecera.
- parseNumeroAtencion() : array{0: int, 1: string}
- Parsea el número de atención y la fecha/hora de un string.
Constants
HEADER_STATUSES
Estados de la cabecera, el resultado de la operación consultada.
private
mixed
HEADER_STATUSES
= [
'0' => 'Requerimiento recibido OK.',
'1' => 'Error de datos.',
'2' => 'Error: no se encontró información.',
'3' => 'Error de autenticación: token inactivo.',
'4' => 'Error de autenticación: token no existe.',
'5' => 'Error de autenticación.',
'6' => 'Error interno.',
'7' => 'Error interno.',
'8' => 'Error interno.',
'9' => 'Error de autenticación: no se pueden obtener los permisos.',
'10' => 'Error de permisos: el usuario conectado no tiene permiso en la empresa.',
// Código que el SII informa y que el manual no documenta.
'-10' => 'Error: el documento solicitado no existe o no ha sido cedido.',
'-15' => 'Error de permisos: la empresa relacionada no está vinculada con el documento consultado.',
]
Solo el 0 es el estado "normal", los demás son errores.
Properties
$body
Cuerpo que viene en en XML de respuesta de la solicitud al SII.
protected
array<string, mixed>
$body
$data
Datos de las cabeceras y cuerpo normalizados para fácil manipulación.
protected
array<string, mixed>
$data
$headers
Cabeceras que vienen en el XML de respuesta de la solicitud al SII.
protected
array<string, mixed>
$headers
$requestData
Datos de la solicitud enviada al SII que generó esta respuesta.
protected
array<string, mixed>
$requestData
NOTE: no es obligatorio asignarlo, pero ayuda a tener el contexto completo de la solicitud y respuesta del estado del documento al SII en un único lugar (instancia).
Methods
__construct()
Constructor que recibe la respuesta del SII y los datos de la solicitud.
public
__construct(array<string|int, mixed> $response[, array<string, mixed> $request = [] ]) : mixed
Parameters
- $response : array<string|int, mixed>
-
Datos de la respuesta a la solicitud enviada.
- $request : array<string, mixed> = []
-
Datos de la solicitud original enviada.
Tags
getBody()
Obtiene el cuerpo de la respuesta del SII.
public
getBody() : array<string, mixed>
Return values
array<string, mixed> —El cuerpo de la respuesta.
getData()
Obtiene los datos normalizados de la respuesta.
public
abstract getData() : array<string, mixed>
Return values
array<string, mixed> —Datos normalizados de la respuesta del SII.
getDescription()
Devuelve la descripción de la solicitud realizada al SII.
public
getDescription() : string
Return values
string —La descripción de la solicitud realizada al SII.
getHeaders()
Obtiene los encabezados de la respuesta del SII.
public
getHeaders() : array<string, mixed>
Return values
array<string, mixed> —Los encabezados de la respuesta.
getHeaderStatus()
Código del estado de la cabecera.
public
getHeaderStatus() : string
Return values
stringgetMessage()
Devuelve el mensaje de la solicitud realizada al SII.
public
getMessage() : string
El formato es:
Return values
string —El mensaje de la solicitud realizada al SII.
getStatus()
Devuelve el estado de la solicitud realizada al SII.
public
getStatus() : string
Return values
string —El estado de la solicitud realizada al SII.
getStatusType()
Obtiene el tipo de salida de la respuesta.
public
abstract getStatusType() : StatusInterface
Return values
StatusInterfaceisRequestOk()
Indica si el SII recibió y procesó bien la consulta.
public
isRequestOk() : bool
Que sea true no significa que el resultado sea el esperado, sino que no
hubo un error en la consulta misma.
Return values
booljsonSerialize()
{@inheritDoc}
public
jsonSerialize() : array<string|int, mixed>
Return values
array<string|int, mixed>toArray()
Entrega los datos de la respuesta como un arreglo.
public
toArray() : array<string|int, mixed>
Return values
array<string|int, mixed> —Datos de la respuesta.
getHeaderDescription()
Descripción del estado de la cabecera.
protected
getHeaderDescription() : string
Con un error se usa la descripción conocida del código y, si no la hay, la glosa del SII.
Return values
stringparseNumeroAtencion()
Parsea el número de atención y la fecha/hora de un string.
protected
parseNumeroAtencion(string $input) : array{0: int, 1: string}
Parameters
- $input : string
-
Cadena con el número de atención y fecha/hora.
Return values
array{0: int, 1: string} —Arreglo con el número y la fecha/hora en formato ISO.