Documentos - AndresRamos/ARSoftware.Contpaqi.Comercial.Api GitHub Wiki
Modelos
Documento
Propiedades
id
- tipo: integer
- descripcion: Id del documento.
concepto
- tipo: Concepto
- descripcion: Concepto del documento.
serie
- tipo: string
- descripcion: Serie del documento.
folio
- tipo: integer
- descripcion: Folio del documento.
fecha
- tipo: datetime
- descripcion: Fecha del documento.
cliente
- tipo: Cliente
- descripcion: Cliente o proveedor del documento.
moneda
- tipo: Moneda
- descripcion: Moneda del documento.
tipoCambio
- tipo: decimal
- descripcion: Tipo de cambio del documento.
agente
- tipo: Agente
- descripcion: Agente del documento.
referencia
- tipo: string
- descripcion: Referencia del documento.
observaciones
- tipo: string
- descripcion: Observaciones del documento.
total
- tipo: decimal
- descripcion: Total del documento.
formaPago
- tipo: string
- descripcion: Forma de pago del documento.
metodoPago
- tipo: string
- descripcion: Método de pago del documento.
movimientos
- tipo: array de Movimiento
- descripcion: Movimientos del documento.
direccionFiscal
- tipo: Direccion
- descripcion: Dirección fiscal del documento.
folioDigital
- tipo: FolioDigital
- descripcion: Folio fiscal del documento.
datosExtra
- tipo: dictionary
- descripcion: Datos extra del documento.
- observaciones: Los datos extra es un diccionario del esquema completo de la tabla de documentos en la base de datos, donde la llave es el nombre del campo en la base de datos y el valor es el valor del campo en la base de datos. Para conocer los campos disponibles y sus tipos, consulta la documentación del esquema de la base de datos de CONTPAQi Comercial.
Ejemplo
{
"id": 0,
"concepto": {
"id": 0,
"codigo": "FACTURAPRUEBA",
"nombre": "",
"datosExtra": {}
},
"serie": "",
"folio": 0,
"fecha": "2023-08-05T00:00:00-05:00",
"cliente": {
"id": 0,
"codigo": "CLIENTEPRUEBA",
"razonSocial": "",
"rfc": "",
"tipo": 0,
"usoCfdi": null,
"regimenFiscal": null,
"direccionFiscal": null,
"datosExtra": {}
},
"moneda": {
"id": 1,
"nombre": "Peso Mexicano"
},
"tipoCambio": 1,
"agente": {
"id": 0,
"codigo": "AGENTEPRUEBA",
"nombre": "",
"tipo": "VentasCobro",
"datosExtra": {}
},
"referencia": "Referencia doc",
"observaciones": "Observaciones del documento.",
"total": 0,
"formaPago": "01",
"metodoPago": "PPD",
"movimientos": [
{
"id": 0,
"producto": {
"id": 0,
"codigo": "PROD001",
"nombre": "",
"tipo": "Producto",
"claveSat": "",
"datosExtra": {}
},
"almacen": {
"id": 0,
"codigo": "ALMACENPRUEBA",
"nombre": "",
"datosExtra": {}
},
"unidades": 1,
"precio": 100,
"subtotal": 0,
"descuentos": {
"descuento1": {
"tasa": 10,
"importe": 0
},
"descuento2": {
"tasa": 0,
"importe": 0
},
"descuento3": {
"tasa": 0,
"importe": 0
},
"descuento4": {
"tasa": 0,
"importe": 0
},
"descuento5": {
"tasa": 0,
"importe": 0
}
},
"impuestos": {
"impuesto1": {
"tasa": 16,
"importe": 0
},
"impuesto2": {
"tasa": 0,
"importe": 0
},
"impuesto3": {
"tasa": 0,
"importe": 0
}
},
"retenciones": null,
"total": 0,
"referencia": "Referencia mov",
"observaciones": "Observaciones del movimiento",
"seriesCapas": [],
"datosExtra": {}
}
],
"direccionFiscal": {
"id": 0,
"tipoCatalogo": 0,
"tipo": "Fiscal",
"calle": "",
"numeroExterior": "",
"numeroInterior": "",
"colonia": "",
"ciudad": "",
"estado": "",
"codigoPostal": "",
"pais": "",
"datosExtra": {}
},
"folioDigital": {
"id": 0,
"uuid": "",
"datosExtra": {}
},
"datosExtra": {
"COBSERVACIONES": "Observaciones del documento.",
"CTEXTOEXTRA1": "Texto extra 1",
"CTEXTOEXTRA2": "Texto extra 2",
"CTEXTOEXTRA3": "Texto extra 3"
}
}
LlaveDocumento
Propiedades
conceptoCodigo
- tipo: string
- descripcion: Código del concepto del documento.
serie
- tipo: string
- descripcion: Serie del documento.
folio
- tipo: integer
- descripcion: Folio del documento.
Ejemplo
{
"conceptoCodigo": "FACTURAPRUEBA",
"serie": "FP",
"folio": 1
}
Solicitudes
Buscar Documentos
ContpaqiRequest
$Type
- tipo: string
- valor:
BuscarDocumentosRequest
Model
id
(opcional)
- tipo: int
- nullable: true
- descripcion: Parámetro para buscar documentos por id.
llave
(opcional)
- tipo: LlaveDocumento
- nullable: true
- descripcion: Parámetro para buscar documentos por llave.
conceptoCodigo
(opcional)
- tipo: string
- nullable: true
- descripcion: Parámetro para buscar documentos por código de concepto.
fechaInicio
(opcional)
- tipo: string
- nullable: true
- descripcion: Parámetro para buscar documentos por fecha de inicio.
fechaFin
(opcional)
- tipo: string
- nullable: true
- descripcion: Parámetro para buscar documentos por fecha de fin.
clienteCodigo
(opcional)
- tipo: string
- nullable: true
- descripcion: Parámetro para buscar documentos por código de cliente.
sqlQuery
(opcional)
- tipo: string
- nullable: true
- descripcion: Parámetro para buscar documentos por SQL. El valor debe ser el WHERE clause y debes asegurarte de sanatizar tu SQL.
Options
cargarDatosExtra
(opcional)
- tipo: bool
- descripcion: Indica si se deben cargar los datos extra en la respuesta.
- observaciones: Cargar los datos extra puede alentar el procesamiento de la solicitud ya que se carga el esquema completo de la base de datos de cada registro.
Ejemplo
{
"$type": "BuscarDocumentosRequest",
"model": {
"id": 1,
"llave": {
"conceptoCodigo": "PRUEBA",
"serie": "SERIE",
"folio": 1
},
"conceptoCodigo": "PRUEBA",
"fechaInicio": "2023-08-05",
"fechaFin": "2023-08-05",
"clienteCodigo": "PRUEBA",
"sqlQuery": "CPENDIENTE \u003E 0"
},
"options": {
"cargarDatosExtra": false
}
}
ContpaqiResponse
$Type
- tipo: string
- valor:
BuscarDocumentosResponse
Model
numeroRegistros
- tipo: interger
- descripcion: Número de registros encontrados.
documentos
- tipo: array de Documento
- descripcion: Documentos encontrados.
Ejemplo
{
"$type": "BuscarDocumentosResponse",
"model": {
"numeroRegistros": 1,
"documentos": [{}]
}
}
Crear Documento
ContpaqiRequest
$Type
- tipo: string
- valor:
CrearDocumentoRequest
Model
documento
- tipo: Documento
- descripcion: Documento a crear.
Options
usarFechaDelDia
- tipo: bool
- descripcion: Indica si se debe usar la fecha del día en que se crea el documento.
buscarSiguienteFolio
- tipo: bool
- descripcion: Indica si se debe buscar el siguiente folio del concepto de documento.
crearCatalogos
- tipo: bool
- descripcion: Indica si se deben crear los catálogos que no existan en la base de datos.
cargarDatosExtra
(opcional)
- tipo: bool
- descripcion: Indica si se deben cargar los datos extra en la respuesta.
- observaciones: Cargar los datos extra puede alentar el procesamiento de la solicitud ya que se carga el esquema completo de la base de datos de cada registro.
Ejemplo
{
"$type": "CrearDocumentoRequest",
"model": {
"documento": {
"id": 0,
"concepto": {
"id": 0,
"codigo": "FACTURAPRUEBA",
"nombre": "",
"datosExtra": {}
},
"serie": "",
"folio": 0,
"fecha": "2023-08-05T00:00:00-05:00",
"cliente": {
"id": 0,
"codigo": "CLIENTEPRUEBA",
"razonSocial": "",
"rfc": "",
"tipo": 0,
"usoCfdi": null,
"regimenFiscal": null,
"direccionFiscal": null,
"datosExtra": {}
},
"moneda": {
"id": 1,
"nombre": "Peso Mexicano"
},
"tipoCambio": 1,
"agente": {
"id": 0,
"codigo": "AGENTEPRUEBA",
"nombre": "",
"tipo": "VentasCobro",
"datosExtra": {}
},
"referencia": "Referencia doc",
"observaciones": "Observaciones del documento.",
"total": 0,
"formaPago": "01",
"metodoPago": "PPD",
"movimientos": [
{
"id": 0,
"producto": {
"id": 0,
"codigo": "PROD001",
"nombre": "",
"tipo": "Producto",
"claveSat": "",
"datosExtra": {}
},
"almacen": {
"id": 0,
"codigo": "ALMACENPRUEBA",
"nombre": "",
"datosExtra": {}
},
"unidades": 1,
"precio": 100,
"subtotal": 0,
"descuentos": {
"descuento1": {
"tasa": 10,
"importe": 0
},
"descuento2": {
"tasa": 0,
"importe": 0
},
"descuento3": {
"tasa": 0,
"importe": 0
},
"descuento4": {
"tasa": 0,
"importe": 0
},
"descuento5": {
"tasa": 0,
"importe": 0
}
},
"impuestos": {
"impuesto1": {
"tasa": 16,
"importe": 0
},
"impuesto2": {
"tasa": 0,
"importe": 0
},
"impuesto3": {
"tasa": 0,
"importe": 0
}
},
"retenciones": null,
"total": 0,
"referencia": "Referencia mov",
"observaciones": "Observaciones del movimiento",
"seriesCapas": [],
"datosExtra": {}
}
],
"direccionFiscal": {
"id": 0,
"tipoCatalogo": 0,
"tipo": "Fiscal",
"calle": "",
"numeroExterior": "",
"numeroInterior": "",
"colonia": "",
"ciudad": "",
"estado": "",
"codigoPostal": "",
"pais": "",
"datosExtra": {}
},
"folioDigital": {
"id": 0,
"uuid": "",
"datosExtra": {}
},
"datosExtra": {
"COBSERVACIONES": "Observaciones del documento.",
"CTEXTOEXTRA1": "Texto extra 1",
"CTEXTOEXTRA2": "Texto extra 2",
"CTEXTOEXTRA3": "Texto extra 3"
}
}
},
"options": {
"usarFechaDelDia": true,
"buscarSiguienteFolio": true,
"crearCatalogos": false,
"cargarDatosExtra": false
}
}
ContpaqiResponse
$Type
- tipo: string
- valor:
CrearDocumentoResponse
Model
documento
- tipo: Documento
- descripcion: Documento creado.
Ejemplo
{
"$type": "CrearDocumentoResponse",
"model": {
"documento": {}
}
}
Actualizar Documento
ContpaqiRequest
$Type
- tipo: string
- valor:
ActualizarDocumentoRequest
Model
llaveDocumento
- tipo: LlaveDocumento
- descripcion: Llave del documento a actualizar.
datosDocumento
- tipo: dictionary
- descripcion: Datos del documento a actualizar.
- observaciones: Los datos del documento es un diccionario donde la llave es el nombre del campo de la tabla de agentes en la base de datos y el valor es un valor valido del campo en la base de datos. Para conocer los campos disponibles y sus tipos, consulta la documentación del esquema de la base de datos de CONTPAQi Comercial.
Options
cargarDatosExtra
- tipo: boolean
- descripcion: Indica si se deben cargar los datos extra en la respuesta.
- observaciones: Cargar los datos extra puede alentar el procesamiento de la solicitud ya que se carga el esquema completo de la base de datos de cada registro.
Ejemplo
{
"$type": "ActualizarDocumentoRequest",
"model": {
"llaveDocumento": {
"conceptoCodigo": "FACTURAPRUEBA",
"serie": "FP",
"folio": 1
},
"datosDocumento": {
"COBSERVACIONES": "Observaciones del documento.",
"CTEXTOEXTRA1": "Texto extra 1",
"CTEXTOEXTRA2": "Texto extra 2",
"CTEXTOEXTRA3": "Texto extra 3"
}
},
"options": {
"cargarDatosExtra": false
}
}
ContpaqiResponse
$Type
- tipo: string
- valor:
ActualizarDocumentoResponse
Model
documento
- tipo: Documento
- descripcion: Documento actualizado.
Ejemplo
{
"$type": "ActualizarDocumentoResponse",
"model": {
"documento": {}
}
}
Cancelar Documento
ContpaqiRequest
$Type
- tipo: string
- valor:
CancelarDocumentoRequest
Model
llaveDocumento
- tipo: LlaveDocumento
- descripcion: Llave del documento a cancelar.
contrasenaCertificado
- tipo: string
- descripcion: Contraseña del certificado de sello digital.
motivoCancelacion
- tipo: string
- descripcion: Motivo de la cancelación.
uuid
- tipo: string
- descripcion: UUID relacionado.
Options
administrativamente
- tipo: boolean
- descripcion: Indica si la cancelación es administrativa.
cargarDatosExtra
- tipo: boolean
- descripcion: Indica si se deben cargar los datos extra en la respuesta.
- observaciones: Cargar los datos extra puede alentar el procesamiento de la solicitud ya que se carga el esquema completo de la base de datos de cada registro.
Ejemplo
{
"$type": "CancelarDocumentoRequest",
"model": {
"llaveDocumento": {
"conceptoCodigo": "FACTURAPRUEBA",
"serie": "FP",
"folio": 1
},
"contrasenaCertificado": "12345678a",
"motivoCancelacion": "1",
"uuid": "2625a2e1-972b-462f-823a-d2a199d0db29"
},
"options": {
"administrativamente": false,
"cargarDatosExtra": false
}
}
ContpaqiResponse
$Type
- tipo: string
- valor:
CancelarDocumentoResponse
Model
documento
- tipo: Documento
- descripcion: Documento cancelado.
Ejemplo
{
"$type": "CancelarDocumentoResponse",
"model": {
"documento": {}
}
}
Eliminar Documento
ContpaqiRequest
$Type
- tipo: string
- valor:
EliminarDocumentoRequest
Model
llaveDocumento
- tipo: LlaveDocumento
- descripcion: Llave del documento a eliminar.
Options
Un objeto vacío.
Ejemplo
{
"$type": "EliminarDocumentoRequest",
"model": {
"llaveDocumento": {
"conceptoCodigo": "FACTURAPRUEBA",
"serie": "FP",
"folio": 1
}
},
"options": {}
}
ContpaqiResponse
$Type
- tipo: string
- valor:
EliminarDocumentoResponse
Model
Un objeto vacío.
Ejemplo
{
"$type": "EliminarDocumentoResponse",
"model": {}
}
Timbrar Documento
ContpaqiRequest
$Type
- tipo: string
- valor:
TimbrarDocumentoRequest
Model
llaveDocumento
- tipo: LlaveDocumento
- descripcion: Llave del documento a timbrar.
contrasenaCertificado
- tipo: string
- descripcion: Contraseña del certificado de sello digital.
Options
agregarArchivo
- tipo: boolean
- descripcion: Indica si se debe agregar el contenido del archivo en el timbrado.
nombreArchivo
- tipo: string
- descripcion: Nombre del archivo.
contenidoArchivo
- tipo: string
- descripcion: Contenido del archivo.
cargarDatosExtra
- tipo: boolean
- descripcion: Indica si se deben cargar los datos extra en la respuesta.
- observaciones: Cargar los datos extra puede alentar el procesamiento de la solicitud ya que se carga el esquema completo de la base de datos de cada registro.
Ejemplo
{
"$type": "TimbrarDocumentoRequest",
"model": {
"llaveDocumento": {
"conceptoCodigo": "FACTURAPRUEBA",
"serie": "FP",
"folio": 1
},
"contrasenaCertificado": "12345678a"
},
"options": {
"agregarArchivo": false,
"nombreArchivo": "",
"contenidoArchivo": "",
"cargarDatosExtra": false
}
}
ContpaqiResponse
$Type
- tipo: string
- valor:
TimbrarDocumentoResponse
Model
documento
- tipo: Documento
- descripcion: Documento timbrado.
Ejemplo
{
"$type": "TimbrarDocumentoResponse",
"model": {
"documento": {}
}
}
Generar Documento Digital
ContpaqiRequest
$Type
- tipo: string
- valor:
GenerarDocumentoDigitalRequest
Model
llaveDocumento
- tipo: LlaveDocumento
- descripcion: Llave del documento a generar.
Options
tipo
- tipo: enum
- descripcion: Tipo de documento digital a generar.
- valores posibles:
Xml
,Pdf
nombrePlantilla
- tipo: string
- descripcion: Nombre de la plantilla cuando se generar el PDF.
Ejemplo
{
"$type": "GenerarDocumentoDigitalRequest",
"model": {
"llaveDocumento": {
"conceptoCodigo": "FACTURAPRUEBA",
"serie": "FP",
"folio": 1
}
},
"options": {
"tipo": "Pdf",
"nombrePlantilla": "Facturav40.rdl"
}
}
ContpaqiResponse
$Type
- tipo: string
- valor:
GenerarDocumentoDigitalResponse
Model
documentoDigital
- tipo: DocumentoDigital
Ejemplo
{
"$type": "GenerarDocumentoDigitalResponse",
"model": {
"documentoDigital": {
"nombre": "FACTURA100.pdf",
"tipo": "application/pdf",
"ubicacion": "C:\\Compac\\Empresas\\adUNIVERSIDAD_ROBOTICA\\XML_SDK\\FACTURA100.pdf",
"contenido": "A+ZNw3o3ZQkvHQGH686cc9HmazumuuixPiRbs6p2bNcmXXX0ATCvig977aL4ZWX7JWUEdkZm8DgePGn3utzAQ/oolo8bsQ=="
}
}
}
Saldar Documento
ContpaqiRequest
$Type
- tipo: string
- valor:
SaldarDocumentoRequest
Model
documentoAPagar
- tipo: LlaveDocumento
- descripcion: Llave del documento a pagar.
documentoPago
- tipo: LlaveDocumento
- descripcion: Llave del documento de pago.
fecha
- tipo: datetime
- descripcion: Fecha del pago.
importe
- tipo: decimal
- descripcion: Importe del pago.
Options
cargarDatosExtra
- tipo: boolean
- descripcion: Indica si se deben cargar los datos extra en la respuesta.
- observaciones: Cargar los datos extra puede alentar el procesamiento de la solicitud ya que se carga el esquema completo de la base de datos de cada registro.
Ejemplo
{
"$type": "SaldarDocumentoRequest",
"model": {
"documentoAPagar": {
"conceptoCodigo": "FACTURAPRUEBA",
"serie": "FP",
"folio": 1
},
"documentoPago": {
"conceptoCodigo": "13",
"serie": "FE",
"folio": 456
},
"fecha": "2023-08-04T00:00:00-05:00",
"importe": 116
},
"options": {
"cargarDatosExtra": false
}
}
ContpaqiResponse
$Type
- tipo: string
- valor:
SaldarDocumentoResponse
Model
documentoPago
- tipo: Documento
- descripcion: Documento de pago.
documentoPagar
- tipo: Documento
- descripcion: Documento a pagar.
Ejemplo
{
"$type": "SaldarDocumentoResponse",
"model": {
"documentoPago": {},
"documentoPagar": {},
}
}