DocumentUploadStatusResponse
extends AbstractWebServiceResponse
in package
Respuesta de la consulta de estado de un documento subido al SII.
Referencia: https://www.sii.cl/factura_electronica/factura_mercado/estado_envio.pdf
Table of Contents
Constants
- ERRORS = [ // Otros Errores. 'ESTADO' => ['-1' => 'ERROR: RETORNO CAMPO ESTADO, NO EXISTE', '-2' => 'ERROR RETORNO', '-3' => 'ERROR: RUT USUARIO NO EXISTE', '-4' => 'ERROR OBTENCION DE DATOS', '-5' => 'ERROR RETORNO DATOS', '-6' => 'ERROR: USUARIO NO AUTORIZADO', '-7' => 'ERROR RETORNO DATOS', '-8' => 'ERROR: RETORNO DATOS', '-9' => 'ERROR: RETORNO DATOS', '-10' => 'ERROR: VALIDA RUT USUARIO', '-11' => 'ERR_CODE, SQL_CODE, SRV_CODE', '-12' => 'ERROR: RETORNO CONSULTA', '-13' => 'ERROR RUT USUARIO NULO', '-14' => 'ERROR XML RETORNO DATOS'], // Errores por autenticación. 'TOKEN' => ['001' => 'Cookie Inactivo (o Token Inactivo)', '002' => 'Token Inactivo', '003' => 'Token No Existe'], // Errores de consulta. 'SRV_CODE' => [0 => 'Todo Ok', 1 => 'Error en Entrada', 2 => 'Error SQL'], 'SQL_CODE' => [0 => 'Schema Validado'], 'ERR_CODE' => [0 => 'Se retorna el estado', 1 => 'El envío no es de la Empresa, faltan parámetros de entrada.', 2 => 'Error de Proceso'], ]
- Estados de salida por ERROR.
- STATUSES = ['RSC' => 'Rechazado por Error en Schema', 'SOK' => 'Schema Validado', 'CRT' => 'Carátula OK', 'RFR' => 'Rechazado por Error en Firma', 'FOK' => 'Firma de Envió Validada', 'PDR' => 'Envió en Proceso', 'RCT' => 'Rechazado por Error en Carátula', 'EPR' => 'Envío Procesado']
- Estados de salida.
Properties
- $body : array<string|int, mixed>
- Cuerpo que viene en en XML de respuesta de la solicitud al SII.
- $data : array<string|int, mixed>
- Datos de las cabeceras y cuerpo normalizados para fácil manipulación.
- $headers : array<string|int, mixed>
- Cabeceras que vienen en el XML de respuesta de la solicitud al SII.
- $requestData : array<string|int, 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|int, mixed>
- Obtiene el cuerpo de la respuesta del SII.
- getData() : array<string|int, mixed>
- Obtiene los datos normalizados de la respuesta.
- getDescription() : string
- Devuelve la descripción de la solicitud realizada al SII.
- getHeaders() : array<string|int, mixed>
- Obtiene los encabezados de la respuesta del SII.
- getReviewDetail() : string|null
- Devuelve el detalle de la revisión del documento.
- getReviewStatus() : string
- Devuelve el estado de revisión del documento.
- getStatus() : string
- Devuelve el estado de la solicitud realizada al SII.
- parseNumeroAtencion() : array<string|int, mixed>
- Parsea el número de atención y la fecha/hora de un string.
- allDocumentsAreAccepted() : bool
- Verifica si todos los documentos fueron aceptados.
- calculateResume() : array<string|int, mixed>
- Calcula el resumen de los documentos procesados.
- hasRejectedDocuments() : bool
- Verifica si hay documentos rechazados.
- hasRepairsDocuments() : bool
- Verifica si hay documentos con reparos.
- parseDocumentos() : array<string|int, mixed>
- Parsea los documentos de la respuesta del SII.
- parseEstado() : array<string|int, mixed>
- Parsea el estado de la respuesta del SII.
Constants
ERRORS
Estados de salida por ERROR.
private
mixed
ERRORS
= [
// Otros Errores.
'ESTADO' => ['-1' => 'ERROR: RETORNO CAMPO ESTADO, NO EXISTE', '-2' => 'ERROR RETORNO', '-3' => 'ERROR: RUT USUARIO NO EXISTE', '-4' => 'ERROR OBTENCION DE DATOS', '-5' => 'ERROR RETORNO DATOS', '-6' => 'ERROR: USUARIO NO AUTORIZADO', '-7' => 'ERROR RETORNO DATOS', '-8' => 'ERROR: RETORNO DATOS', '-9' => 'ERROR: RETORNO DATOS', '-10' => 'ERROR: VALIDA RUT USUARIO', '-11' => 'ERR_CODE, SQL_CODE, SRV_CODE', '-12' => 'ERROR: RETORNO CONSULTA', '-13' => 'ERROR RUT USUARIO NULO', '-14' => 'ERROR XML RETORNO DATOS'],
// Errores por autenticación.
'TOKEN' => ['001' => 'Cookie Inactivo (o Token Inactivo)', '002' => 'Token Inactivo', '003' => 'Token No Existe'],
// Errores de consulta.
'SRV_CODE' => [0 => 'Todo Ok', 1 => 'Error en Entrada', 2 => 'Error SQL'],
'SQL_CODE' => [0 => 'Schema Validado'],
'ERR_CODE' => [0 => 'Se retorna el estado', 1 => 'El envío no es de la Empresa, faltan parámetros de entrada.', 2 => 'Error de Proceso'],
]
El resultado de la consulta al SII puede arrojar uno de estos estados de error.
STATUSES
Estados de salida.
private
mixed
STATUSES
= ['RSC' => 'Rechazado por Error en Schema', 'SOK' => 'Schema Validado', 'CRT' => 'Carátula OK', 'RFR' => 'Rechazado por Error en Firma', 'FOK' => 'Firma de Envió Validada', 'PDR' => 'Envió en Proceso', 'RCT' => 'Rechazado por Error en Carátula', 'EPR' => 'Envío Procesado']
El resultado de la consulta al SII puede arrojar uno de estos estados.
Properties
$body
Cuerpo que viene en en XML de respuesta de la solicitud al SII.
protected
array<string|int, mixed>
$body
$data
Datos de las cabeceras y cuerpo normalizados para fácil manipulación.
protected
array<string|int, mixed>
$data
$headers
Cabeceras que vienen en el XML de respuesta de la solicitud al SII.
protected
array<string|int, mixed>
$headers
$requestData
Datos de la solicitud enviada al SII que generó esta respuesta.
protected
array<string|int, 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(XmlDocument $response[, array<string|int, mixed> $requestData = [] ]) : mixed
Parameters
- $response : XmlDocument
-
Documento XML de respuesta.
- $requestData : array<string|int, mixed> = []
-
Datos de la solicitud original enviada.
getBody()
Obtiene el cuerpo de la respuesta del SII.
public
getBody() : array<string|int, mixed>
Return values
array<string|int, mixed> —El cuerpo de la respuesta.
getData()
Obtiene los datos normalizados de la respuesta.
public
getData() : array<string|int, mixed>
Return values
array<string|int, 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|int, mixed>
Return values
array<string|int, mixed> —Los encabezados de la respuesta.
getReviewDetail()
Devuelve el detalle de la revisión del documento.
public
getReviewDetail() : string|null
Return values
string|null —El detalle de la revisión o null
si no existe.
getReviewStatus()
Devuelve el estado de revisión del documento.
public
getReviewStatus() : string
Return values
string —El estado de la revisión del documento.
getStatus()
Devuelve el estado de la solicitud realizada al SII.
public
getStatus() : string
Return values
string —El estado de la solicitud realizada al SII.
parseNumeroAtencion()
Parsea el número de atención y la fecha/hora de un string.
protected
parseNumeroAtencion(string $input) : array<string|int, mixed>
Parameters
- $input : string
-
Cadena con el número de atención y fecha/hora.
Return values
array<string|int, mixed> —Arreglo con el número y la fecha/hora en formato ISO.
allDocumentsAreAccepted()
Verifica si todos los documentos fueron aceptados.
private
allDocumentsAreAccepted() : bool
Return values
bool —True si todos los documentos fueron aceptados.
calculateResume()
Calcula el resumen de los documentos procesados.
private
calculateResume(array<string|int, mixed> $documents) : array<string|int, mixed>
Parameters
- $documents : array<string|int, mixed>
-
Arreglo con los documentos.
Return values
array<string|int, mixed> —Resumen con el total de reportados, aceptados, rechazados y reparos.
hasRejectedDocuments()
Verifica si hay documentos rechazados.
private
hasRejectedDocuments() : bool
Return values
bool —True si existen documentos rechazados.
hasRepairsDocuments()
Verifica si hay documentos con reparos.
private
hasRepairsDocuments() : bool
Return values
bool —True si existen documentos con reparos.
parseDocumentos()
Parsea los documentos de la respuesta del SII.
private
parseDocumentos(array<string|int, mixed> $body) : array<string|int, mixed>
Parameters
- $body : array<string|int, mixed>
-
Cuerpo de la respuesta del SII.
Return values
array<string|int, mixed> —Arreglo con los documentos normalizados.
parseEstado()
Parsea el estado de la respuesta del SII.
private
parseEstado(array<string|int, mixed> $headers) : array<string|int, mixed>
Parameters
- $headers : array<string|int, mixed>
-
Encabezados de la respuesta.
Return values
array<string|int, mixed> —Arreglo con el estado, error y descripción.