2025-05-17 11:36:26 -04:00

125 lines
5.0 KiB
Go

package soap
import (
"encoding/xml"
)
// SOAP Types for Factura
type RecepcionFacturaResponse struct {
XMLName xml.Name `xml:"recepcionFacturaResponse"`
RespuestaServicioFacturacion RespuestaServicioFacturacion `xml:"RespuestaServicioFacturacion"`
}
type RespuestaServicioFacturacion struct {
XMLName xml.Name `xml:"RespuestaServicioFacturacion,omitempty"`
CodigoDescripcion string `xml:"codigoDescripcion,omitempty"`
CodigoEstado string `xml:"codigoEstado,omitempty"`
CodigoRecepcion string `xml:"codigoRecepcion,omitempty"`
MensajesList []Mensaje `xml:"mensajesList,omitempty" json:"mensajes_list,omitempty"`
Transaccion bool `xml:"transaccion,omitempty"`
}
type Mensaje struct {
Codigo string `xml:"codigo,omitempty" json:"codigo,omitempty"`
Descripcion string `xml:"descripcion,omitempty" json:"descripcion,omitempty"`
Advertencia string `xml:"advertencia,omitempty" json:"advertencia,omitempty"`
NumeroArchivo string `xml:"numeroArchivo,omitempty" json:"numeroArchivo,omitempty"`
NumeroDetalle string `xml:"numeroDetalle,omitempty" json:"numeroDetalle,omitempty"`
}
type SolicitudServicioRecepcionFactura struct {
CodigoAmbiente int `xml:"codigoAmbiente"`
CodigoDocumentoSector int `xml:"codigoDocumentoSector"`
CodigoEmision int `xml:"codigoEmision"`
CodigoModalidad int `xml:"codigoModalidad"`
CodigoPuntoVenta int `xml:"codigoPuntoVenta"`
CodigoSistema string `xml:"codigoSistema"`
CodigoSucursal int `xml:"codigoSucursal"`
CUFD string `xml:"cufd"`
CUIS string `xml:"cuis"`
NIT string `xml:"nit"`
TipoFacturaDocumento int `xml:"tipoFacturaDocumento"`
Archivo string `xml:"archivo"`
FechaEnvio string `xml:"fechaEnvio"`
HashArchivo string `xml:"hashArchivo"`
}
type RecepcionFacturaEnvelope struct {
XMLName xml.Name `xml:"soapenv:Envelope"`
SoapEnv string `xml:"xmlns:soapenv,attr"`
Siat string `xml:"xmlns:siat,attr"`
Header struct{} `xml:"soapenv:Header"`
Body struct {
Recepcion struct {
Solicitud SolicitudServicioRecepcionFactura `xml:"SolicitudServicioRecepcionFactura"`
} `xml:"siat:recepcionFactura"`
} `xml:"soapenv:Body"`
}
// SOAP Types for Estado Factura
type VerificacionEstadoFacturaResponse struct {
XMLName xml.Name `xml:"verificacionEstadoFacturaResponse"`
RespuestaServicioFacturacion RespuestaServicioFacturacion `xml:"RespuestaServicioFacturacion"`
}
type SolicitudServicioVerificacionEstadoFactura struct {
CodigoAmbiente int `xml:"codigoAmbiente"`
CodigoDocumentoSector int `xml:"codigoDocumentoSector"`
CodigoEmision int `xml:"codigoEmision"`
CodigoModalidad int `xml:"codigoModalidad"`
CodigoPuntoVenta int `xml:"codigoPuntoVenta"`
CodigoSistema string `xml:"codigoSistema"`
CodigoSucursal int `xml:"codigoSucursal"`
CUFD string `xml:"cufd"`
CUIS string `xml:"cuis"`
NIT string `xml:"nit"`
TipoFacturaDocumento int `xml:"tipoFacturaDocumento"`
CUF string `xml:"cuf"`
}
type VerificacionEstadoFacturaEnvelope struct {
XMLName xml.Name `xml:"soapenv:Envelope"`
SoapEnv string `xml:"xmlns:soapenv,attr"`
Siat string `xml:"xmlns:siat,attr"`
Header struct{} `xml:"soapenv:Header"`
Body struct {
Verificacion struct {
Solicitud SolicitudServicioVerificacionEstadoFactura `xml:"SolicitudServicioVerificacionEstadoFactura"`
} `xml:"siat:verificacionEstadoFactura"`
} `xml:"soapenv:Body"`
}
// SOAP Types for Anulacion Factura
type AnulacionFacturaResponse struct {
XMLName xml.Name `xml:"anulacionFacturaResponse"`
RespuestaServicioFacturacion RespuestaServicioFacturacion `xml:"RespuestaServicioFacturacion"`
}
type SolicitudServicioAnulacionFactura struct {
CodigoAmbiente int `xml:"codigoAmbiente"`
CodigoDocumentoSector int `xml:"codigoDocumentoSector"`
CodigoEmision int `xml:"codigoEmision"`
CodigoModalidad int `xml:"codigoModalidad"`
CodigoPuntoVenta int `xml:"codigoPuntoVenta"`
CodigoSistema string `xml:"codigoSistema"`
CodigoSucursal int `xml:"codigoSucursal"`
CUFD string `xml:"cufd"`
CUIS string `xml:"cuis"`
NIT string `xml:"nit"`
TipoFacturaDocumento int `xml:"tipoFacturaDocumento"`
CodigoMotivo int `xml:"codigoMotivo"`
CUF string `xml:"cuf"`
}
type AnulacionFacturaEnvelope struct {
XMLName xml.Name `xml:"soapenv:Envelope"`
SoapEnv string `xml:"xmlns:soapenv,attr"`
Siat string `xml:"xmlns:siat,attr"`
Header struct{} `xml:"soapenv:Header"`
Body struct {
Anulacion struct {
Solicitud SolicitudServicioAnulacionFactura `xml:"SolicitudServicioAnulacionFactura"`
} `xml:"siat:anulacionFactura"`
} `xml:"soapenv:Body"`
}