DocumentStatusResponse
extends AbstractWebServiceResponse
in package
Respuesta con el estado de un DTE aceptado por el SII.
Referencia: https://www.sii.cl/factura_electronica/factura_mercado/estado_dte.pdf
Table of Contents
Constants
- ERRORS = [ // Otros Errores. 'ESTADO' => ['-1' => 'ERROR: RETORNO CAMPO ESTADO', '-2' => 'ERROR RETORNO', '-3' => 'ERROR RETORNO', '-4' => 'ERROR RETORNO'], // Errores por autenticación. 'TOKEN' => ['001' => 'Cookie Inactivo (o token no existe)', '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' => 'Documento Recibido por el SII. Datos Coinciden con los Registrados.', '1' => 'Documento Recibido por el SII pero Datos NO Coinciden con los registrados.', '3' => 'Documento No Recibido por el SII.', '4' => 'Documento No Autorizado.', '5' => 'Documento Anulado.', '6' => 'Empresa no autorizada a Emitir Documentos Tributarios Electrónicos', '10' => 'Existe Nota de Debito que Modifica Texto Documento.', '11' => 'Existe Nota de Crédito que Modifica Textos Documento.', '12' => 'Existe Nota de Debito que Modifica Montos Documento.', '13' => 'Existe Nota de Crédito que Modifica Montos Documento.', '14' => 'Existe Nota de Debito que Anula Documento', '15' => 'Existe Nota de Crédito que Anula Documento Otro Error Interno.'], ]
- Estados de salida por ERROR.
- STATUSES = ['DOK' => 'Documento Recibido por el SII. Datos Coinciden con los Registrados.', 'DNK' => 'Documento Recibido por el SII pero Datos NO Coinciden con los registrados.', 'FAU' => 'Documento No Recibido por el SII.', 'FNA' => 'Documento No Autorizado.', 'FAN' => 'Documento Anulado.', 'EMP' => 'Empresa no autorizada a Emitir Documentos Tributarios Electrónicos', 'TMD' => 'Existe Nota de Débito que Modifica Texto Documento.', 'TMC' => 'Existe Nota de Crédito que Modifica Textos Documento.', 'MMD' => 'Existe Nota de Débito que Modifica Montos Documento.', 'MMC' => 'Existe Nota de Crédito que Modifica Montos Documento.', 'AND' => 'Existe Nota de Débito que Anula Documento', 'ANC' => 'Existe Nota de Crédito que Anula Documento']
- 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.
- 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.
- 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', '-2' => 'ERROR RETORNO', '-3' => 'ERROR RETORNO', '-4' => 'ERROR RETORNO'],
// Errores por autenticación.
'TOKEN' => ['001' => 'Cookie Inactivo (o token no existe)', '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' => 'Documento Recibido por el SII. Datos Coinciden con los Registrados.', '1' => 'Documento Recibido por el SII pero Datos NO Coinciden con los registrados.', '3' => 'Documento No Recibido por el SII.', '4' => 'Documento No Autorizado.', '5' => 'Documento Anulado.', '6' => 'Empresa no autorizada a Emitir Documentos Tributarios Electrónicos', '10' => 'Existe Nota de Debito que Modifica Texto Documento.', '11' => 'Existe Nota de Crédito que Modifica Textos Documento.', '12' => 'Existe Nota de Debito que Modifica Montos Documento.', '13' => 'Existe Nota de Crédito que Modifica Montos Documento.', '14' => 'Existe Nota de Debito que Anula Documento', '15' => 'Existe Nota de Crédito que Anula Documento Otro Error Interno.'],
]
El resultado de la consulta al SII puede arrojar uno de estos estados de error.
STATUSES
Estados de salida.
private
mixed
STATUSES
= ['DOK' => 'Documento Recibido por el SII. Datos Coinciden con los Registrados.', 'DNK' => 'Documento Recibido por el SII pero Datos NO Coinciden con los registrados.', 'FAU' => 'Documento No Recibido por el SII.', 'FNA' => 'Documento No Autorizado.', 'FAN' => 'Documento Anulado.', 'EMP' => 'Empresa no autorizada a Emitir Documentos Tributarios Electrónicos', 'TMD' => 'Existe Nota de Débito que Modifica Texto Documento.', 'TMC' => 'Existe Nota de Crédito que Modifica Textos Documento.', 'MMD' => 'Existe Nota de Débito que Modifica Montos Documento.', 'MMC' => 'Existe Nota de Crédito que Modifica Montos Documento.', 'AND' => 'Existe Nota de Débito que Anula Documento', 'ANC' => 'Existe Nota de Crédito que Anula Documento']
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.
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.
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.