Ir al contenido

API Elementos

De LAZARVS

API Elementos de Lazarvs

Esta documentación describe los endpoints disponibles en la API de Lazarvs para acceder a datos de elementos, verificar la existencia de clientes y objetos de contrato, así como insertarlos.

Índice

Información General

  • Título: API_Elementos
  • Descripción: API para operaciones de elementos en Lazarvs.
  • URL Base del Servidor: {{URL de Lazarvs}}/elementos

Autenticación

Para acceder a los endpoints, se requiere un token JWT que debe incluirse en el encabezado Authorization con el prefijo "Bearer".

Ejemplo de Encabezado:

 Authorization: Bearer <tu_token_jwt>
 

Endpoints de la API

1. /Cliente (Verificar Existencia)

Descripción
Verifica la existencia de un cliente mediante su documento.
Método
GET
URL
/Cliente
Parámetros de Consulta
  • Documentopersonafisica (string, opcional): Documento de persona física.
  • Documentopersonajuridica (string, opcional): Documento de persona jurídica.


Códigos de Respuesta
  • 200 OK: La solicitud fue exitosa, devuelve un JSON con la estructura de Cliente_getOutput.
  • 404 Not Found: Cliente no encontrado.
  • 401 Unauthorized: Token JWT inválido o ausente.
  • 500 Internal Server Error: Error interno del servidor.


Ejemplo de Respuesta Exitosa
{ "SDTCliente":
    {
      "Nombre": "Corporate YYY",
      "DocumentoNumero": "219999990099",
      "TipoPersona": "J"
    },
  "Mensajes":
     [
        {
          "Id": "MSG001",
          "Type": 1,
          "Description": "Cliente encontrado"
        }
     ]
}

2. /Cliente (Insertar)

Descripción
Inserta un nuevo cliente en el sistema.
Método
POST
URL
/Cliente
Cuerpo de la Solicitud (JSON)
  • SDTCliente (object): Datos del cliente a insertar.
Cuerpo de solicitud vacío
{
  "SDTCliente": {
    "Codigo": "<string>",
    "Nombre": "<string>",
    "NombreFantasia": "<string>",
    "NumeroFidelizacion": "<string>",
    "Direccion": "<string>",
    "Ciudad": "<string>",
    "CodigoPostal": "<string>",
    "EstadoProvincia": "<string>",
    "Pais": "<string>",
    "Telefono": "<string>",
    "Celular": "<string>",
    "Email": "<string>",
    "EmailFacturacion": "<string>",
    "DatosFacturacion": "<string>",
    "TipoCliente": "<string>",
    "TipoPersona": "<string>",
    "Territorio": "<string>",
    "DocumentoTipo": "<string>",
    "DocumentoNumero": "<string>",
    "Nacimiento": "<date>",
    "TrabajoNombre": "<string>",
    "TrabajoDireccion": "<string>",
    "TrabajoTelefono": "<string>",
    "Localizacion": "<string>",
    "IdentificacionFiscal": "<string>",
    "Contacto": "<string>",
    "LimiteCredito": "<double>",
    "Moneda": "<string>",
    "Condicion": "<string>",
    "PresentacionDia": "<string>",
    "PagoDia": "<string>",
    "PagoContacto": "<string>",
    "PagoTelefono": "<string>",
    "PagoEmail": "<string>",
    "PagoEmailSeEnvia": "<boolean>",
    "PagoEmailEnvioDia": "<integer>",
    "Situacion": "<string>",
    "Estado": "<string>"
  }
}

Ejemplo de Cuerpo de Solicitud
{
  "SDTCliente": {
    "Nombre": "Corporate YYY",
    "NombreFantasia": "YYY",
    "NumeroFidelizacion": "",
    "Direccion": "Calle y Número",
    "Ciudad": "Ciudad X",
    "CodigoPostal": "12345",
    "EstadoProvincia": "Montevideo",
    "Pais": "UY",
    "Telefono": "12345678",
    "Celular": "012345678",
    "Email": "aa@bb.com",
    "EmailFacturacion": "cc@bb.com",
    "DatosFacturacion": "N/A",
    "TipoCliente": "CN",
    "TipoPersona": "J",
    "Territorio": "01",
    "DocumentoTipo": "N",
    "DocumentoNumero": "219999990099",
    "Nacimiento": "1950-07-28",
    "TrabajoNombre": "",
    "TrabajoDireccion": "",
    "TrabajoTelefono": "",
    "Localizacion": "",
    "IdentificacionFiscal": "",
    "Contacto": "Persona X",
    "LimiteCredito": "10000",
    "Moneda": "USD",
    "Condicion": "",
    "PresentacionDia": "",
    "PagoDia": "",
    "PagoContacto": "",
    "PagoTelefono": "",
    "PagoEmail": "",
    "PagoEmailSeEnvia": "true",
    "PagoEmailEnvioDia": "0",
    "Situacion": "A",
    "Estado": "A"
  }
}

Códigos de Respuesta
  • 200 OK: Cliente insertado exitosamente, devuelve un array de mensajes con la estructura de Mensajes.
  • 404 Not Found: Error en la inserción.
  • 400 Bad Request: Datos del cliente inválidos o faltantes.
  • 401 Unauthorized: Token JWT inválido o ausente.
  • 500 Internal Server Error: Error interno del servidor.


Ejemplo de Respuesta Exitosa
[
  {
    "Id": "MSG002",
    "Type": 1,
    "Description": "Cliente insertado exitosamente"
  }
]

3. /ObjetoContrato (Verificar Existencia)

Descripción
Verifica la existencia de un objeto de contrato mediante datos de cliente y objeto.
Método
GET
URL
/ObjetoContrato
Parámetros de Consulta
  • Documpersonafisica (string, opcional): Documento de persona física.
  • Documpersonajuridica (string, opcional): Documento de persona jurídica.
  • Modelo (string, opcional): Modelo del objeto.
  • Serie (string, opcional): Serie del objeto.


Códigos de Respuesta
  • 200 OK: La solicitud fue exitosa, devuelve un JSON con la estructura de ObjetoContrato_getOutput.
  • 404 Not Found: Objeto de contrato no encontrado.
  • 401 Unauthorized: Token JWT inválido o ausente.
  • 500 Internal Server Error: Error interno del servidor.


Ejemplo de Respuesta Exitosa
{
  "SDTObjetoContrato": {
    "Cliente": "00001",
    "Codigo": "123456",
    "Nombre": "Nombre Apellido"
  },
  "Mensajes": [
    {
      "Id": "MSG003",
      "Type": 1,
      "Description": "Objeto de contrato encontrado"
    }
  ]
}

4. /ObjetoContrato (Insertar)

Descripción
Inserta un nuevo objeto de contrato en el sistema.
Método
POST
URL
/ObjetoContrato
Cuerpo de la Solicitud (JSON)


Cuerpo de Solicitud vacío
{
  "SDTObjetoContrato": {
    "Cliente": "<string>",
    "Codigo": "<string>",
    "Nombre": "<string>",
    "FechaInicio": "<date>",
    "FechaFin": "<date>",
    "Tipo": "<string>",
    "DocumentoTipo": "<string>",
    "DocumentoNumero": "<string>",
    "FechaNacimiento": "<date>",
    "Telefono": "<string>",
    "Email": "<string>",
    "EmailFacturacion": "<string>",
    "Localizacion": "<string>",
    "IdentificacionFiscal": "<string>",
    "Contacto": "<string>",
    "Modelo": "<string>",
    "Serie": "<string>",
    "Ubicacion": "<string>",
    "Responsable": "<string>",
    "Plan": "<string>",
    "Poliza": "<string>",
    "DatoAdicional": "<string>",
    "Estado": "<string>"
  }
}

Ejemplo de Cuerpo de Solicitud
{
  "SDTObjetoContrato": {
    "Cliente": "00001",
    "Codigo": "123456",
    "Nombre": "Nombre Apellido",
    "FechaInicio": "2024-01-01",
    "FechaFin": "",
    "Tipo": "F",
    "DocumentoTipo": "C",
    "DocumentoNumero": "1234567890",
    "FechaNacimiento": "2050-06-30",
    "Telefono": "12345678",
    "Email": "aa@bb.com",
    "EmailFacturacion": "cc@bb.com",
    "Localizacion": "",
    "IdentificacionFiscal": "",
    "Contacto": "Nombre y apellido",
    "Modelo": "",
    "Serie": "",
    "Ubicacion": "",
    "Responsable": "",
    "Plan": "Plan X",
    "Poliza": "Póliza Y",
    "DatoAdicional": "Otra información",
    "Estado": "A"
  }
}
 
Códigos de Respuesta
  • 200 OK: Objeto de contrato insertado exitosamente, devuelve un array de mensajes con la estructura de Mensajes.
  • 404 Not Found: Error en la inserción.
  • 400 Bad Request: Datos del objeto de contrato inválidos o faltantes.
  • 401 Unauthorized: Token JWT inválido o ausente.
  • 500 Internal Server Error: Error interno del servidor.


Ejemplo de Respuesta Exitosa
[
  {
    "Id": "MSG004",
    "Type": 1,
    "Description": "Objeto de contrato insertado exitosamente"
  }
]

5. /Proyecto (Verificar Existencia)

Descripción
Verifica la existencia de un proyecto mediante su código.
Método
GET
URL
/Proyecto
Parámetros de Consulta

Proyecto (string, opcional): Código del proyecto.


Códigos de Respuesta
  • 200 OK: La solicitud fue exitosa, devuelve un JSON con la estructura de ProyectoOutput.
  • 404 Not Found: Proyecto no encontrado.
  • 401 Unauthorized: Token JWT inválido o ausente.
  • 500 Internal Server Error: Error interno del servidor.


Ejemplo de Respuesta Exitosa
{
  "SDTProyectoLista": [
    {
      "PryCod": "PRJ001",
      "PryNom": "Proyecto Alpha",
      "Compania": "Empresa X"
    }
  ],
  "Mensajes": [
    {
      "Id": "MSG005",
      "Type": 1,
      "Description": "Proyecto encontrado"
    }
  ]
}

Esquemas de Respuesta

Esquema Cliente_getOutput

  • SDTCliente (object, opcional): Información detallada del cliente. Ver Esquema ClienteInsertarInput.
  • Mensajes (array, opcional): Mensajes relacionados con la operación. Ver Mensajes.

Esquema ObjetoContrato_getOutput

Esquema ProyectoOutput

  • SDTProyectoLista (array, opcional): Lista de proyectos.
 * PryCod (string): Código del proyecto.
 * PryNom (string): Nombre del proyecto.
 * Compania (string): Compañía asociada.
  • Mensajes (array, opcional): Mensajes relacionados con la operación. Ver Mensajes.

Esquema Mensajes

  • Id (string): ID del mensaje.
  • Type (integer, format: int32): Tipo de mensaje (1: Informativo, 2: Advertencia, 3: Error).
  • Description (string): Descripción del mensaje.

Esquema ClienteInsertarInput

  • SDTCliente (object, opcional): Información detallada del cliente a insertar.
 * Codigo (string, opcional): Código de Cliente.
 * Nombre (string, opcional): Nombre de Cliente.
 * NombreFantasia (string, opcional): Nombre Fantasía.
 * NumeroFidelizacion (string, opcional): Número de Fidelización.
 * Direccion (string, opcional): Dirección de Cliente.
 * Ciudad (string, opcional): Ciudad del Cliente.
 * CodigoPostal (string, opcional): Código Postal.
 * EstadoProvincia (string, opcional): Estado/Provincia.
 * Pais (string, opcional): País (ejemplo: "UY").
 * Telefono (string, opcional): Teléfono del Cliente.
 * Celular (string, opcional): Celular.
 * Email (string, opcional): E-mail del Cliente.
 * EmailFacturacion (string, opcional): E-mail facturación.
 * DatosFacturacion (string, opcional): Datos Facturación.
 * TipoCliente (string, opcional): Tipo de Cliente (ejemplo: "CN").
 * TipoPersona (string, opcional): Tipo de Persona (ejemplo: "J" para jurídica, "F" para física).
 * Territorio (string, opcional): Código de Territorio.
 * DocumentoTipo (string, opcional): Tipo de Documento (ejemplo: "N").
 * DocumentoNumero (string, opcional): Número de Documento.
 * Nacimiento (string, format: date, opcional): Fecha de Nacimiento (formato: YYYY-MM-DD).
 * TrabajoNombre (string, opcional): Trabajo del Cliente.
 * TrabajoDireccion (string, opcional): Dirección del Trabajo del Cliente.
 * TrabajoTelefono (string, opcional): Teléfono del Trabajo del Cliente.
 * Localizacion (string, opcional): Localización.
 * IdentificacionFiscal (string, opcional): Id Tributaria.
 * Contacto (string, opcional): Contacto en el Cliente.
 * LimiteCredito (number, format: double, opcional): Límite de Crédito.
 * Moneda (string, opcional): Moneda (ejemplo: "USD").
 * Condicion (string, opcional): Condición.
 * PresentacionDia (string, opcional): Días de presentación de facturas.
 * PagoDia (string, opcional): Días de pago a proveedores.
 * PagoContacto (string, opcional): Contacto pago a proveedores.
 * PagoTelefono (string, opcional): Teléfono pago a proveedores.
 * PagoEmail (string, opcional): E-mail pago a proveedores.
 * PagoEmailSeEnvia (boolean, opcional): ¿Se envían mails recordatorios?
 * PagoEmailEnvioDia (integer, format: int32, opcional): Día de envío.
 * Situacion (string, opcional): Situación (ejemplo: "A").
 * Estado (string, opcional): Estado del Cliente (ejemplo: "A").

Esquema ObjetoContratoInsertarInput

  • SDTObjetoContrato (object, opcional): Información detallada del contrato a insertar.
 * Cliente (string, opcional): Código de Cliente.
 * Codigo (string, opcional): Código.
 * Nombre (string, opcional): Nombre.
 * FechaInicio (string, format: date, opcional): Fecha de inicio (formato: YYYY-MM-DD).
 * FechaFin (string, format: date, opcional): Fecha de fin (formato: YYYY-MM-DD).
 * Tipo (string, opcional): Tipo (ejemplo: "F").
 * DocumentoTipo (string, opcional): Tipo de Documento (ejemplo: "C").
 * DocumentoNumero (string, opcional): Número de Documento.
 * FechaNacimiento (string, format: date, opcional): Fecha de Nacimiento (formato: YYYY-MM-DD).
 * Telefono (string, opcional): Teléfono.
 * Email (string, opcional): E-mail.
 * EmailFacturacion (string, opcional): E-mail facturación.
 * Localizacion (string, opcional): Localización.
 * IdentificacionFiscal (string, opcional): Identificación Fiscal.
 * Contacto (string, opcional): Contacto.
 * Modelo (string, opcional): Modelo.
 * Serie (string, opcional): Serie.
 * Ubicacion (string, opcional): Ubicación.
 * Responsable (string, opcional): Responsable.
 * Plan (string, opcional): Plan.
 * Poliza (string, opcional): Póliza.
 * DatoAdicional (string, opcional): Dato Adicional.
 * Estado (string, opcional): Estado (ejemplo: "A").