Skip to content

Personas

Las personas pueden ser clientes, proveedores, transportistas y vendedores.

Campos comunes

ts
interface Persona {
  id: string;
  idType: TiposDeIdentificacion;
  name: string;
  subjectType: TiposDePersona;
  phone: string;
  email?: string;
  address: string;
  estado: "activo" | "inactivo";
  _movements: Movement[];
}

Consideraciones:

  • No se pueden crear personas con el mismo id e idType.
  • Si idType es RUC (04), el id debe tener 13 dígitos. Si es cédula (05), 10 dígitos.

TIP

Los valores de TiposDeIdentificacion y TiposDePersona se obtienen del endpoint /v3/administrative/clients/get-options. Consulta siempre este endpoint para obtener los valores actualizados.

Clientes

Personas a las que se emiten facturas.

Modelo adicional

ts
interface Cliente {
  cellphone?: string;
  vendedor?: ObjectId;
}

Opciones

GET/v3/administrative/clients/get-options
TESThttps://api-test.upconta.com/v3/administrative/clients/get-options
PRODhttps://api.upconta.com/v3/administrative/clients/get-options
json
{
  "TiposDePersona": [
    { "id": "01", "description": "Persona natural" },
    { "id": "02", "description": "Sociedad" }
  ],
  "TiposDeIdentificacion": [
    { "id": "04", "description": "RUC" },
    { "id": "05", "description": "Cédula" },
    { "id": "06", "description": "Pasaporte" },
    { "id": "08", "description": "Identificación del exterior" },
    { "id": "09", "description": "Placa" }
  ]
}

Obtener clientes

GET/v3/administrative/clients
TESThttps://api-test.upconta.com/v3/administrative/clients
PRODhttps://api.upconta.com/v3/administrative/clients
json
{
  "page": 1,
  "total": 10,
  "data": [
    {
      "_id": "60...",
      "id": "1234567890",
      "idType": "05",
      "name": "Nombre Apellido"
    },
    {
      "_id": "60...",
      "id": "0987654321",
      "idType": "05",
      "name": "Otro Nombre"
    }
  ]
}

Obtener cliente

GET/v3/administrative/clients/:id
TESThttps://api-test.upconta.com/v3/administrative/clients/:id
PRODhttps://api.upconta.com/v3/administrative/clients/:id
json
{
  "_id": "60...",
  "idType": "05",
  "id": "1234567890",
  "name": "Nombre Apellido"
}

Crear cliente

POST/v3/administrative/clients
TESThttps://api-test.upconta.com/v3/administrative/clients
PRODhttps://api.upconta.com/v3/administrative/clients
json
{
  "idType": "05",
  "id": "1234567890",
  "subjectType": "01",
  "name": "Nombre Apellido",
  "phone": "021234567",
  "cellphone": "0999999999",
  "email": "[email protected]",
  "city": "Ciudad",
  "address": "Dirección de ejemplo"
}

Editar cliente

PUT/v3/administrative/clients/:id
TESThttps://api-test.upconta.com/v3/administrative/clients/:id
PRODhttps://api.upconta.com/v3/administrative/clients/:id
json
{
  "name": "Nombre Actualizado",
  "phone": "021234567"
}

Eliminar cliente

DELETE/v3/administrative/clients/:id
TESThttps://api-test.upconta.com/v3/administrative/clients/:id
PRODhttps://api.upconta.com/v3/administrative/clients/:id
json
{
  "message": "success"
}

Transportistas

Personas a las que se emiten guías de remisión.

Modelo adicional

ts
interface Transportista {
  licensePlate: string[];
}

Obtener transportistas

GET/v3/administrative/transporters
TESThttps://api-test.upconta.com/v3/administrative/transporters
PRODhttps://api.upconta.com/v3/administrative/transporters
json
{
  "page": 1,
  "total": 5,
  "data": [
    {
      "_id": "60...",
      "idType": "04",
      "id": "1234567890001",
      "name": "Nombre Transportista"
    }
  ]
}

Obtener transportista

GET/v3/administrative/transporters/:id
TESThttps://api-test.upconta.com/v3/administrative/transporters/:id
PRODhttps://api.upconta.com/v3/administrative/transporters/:id

Crear transportista

POST/v3/administrative/transporters
TESThttps://api-test.upconta.com/v3/administrative/transporters
PRODhttps://api.upconta.com/v3/administrative/transporters
json
{
  "id": "1234567890001",
  "idType": "04",
  "name": "Nombre Transportista",
  "subjectType": "01",
  "licensePlate": ["ABC-1234"]
}

Editar transportista

PUT/v3/administrative/transporters/:id
TESThttps://api-test.upconta.com/v3/administrative/transporters/:id
PRODhttps://api.upconta.com/v3/administrative/transporters/:id
json
{
  "licensePlate": ["XYZ-5678"]
}

Eliminar transportista

DELETE/v3/administrative/transporters/:id
TESThttps://api-test.upconta.com/v3/administrative/transporters/:id
PRODhttps://api.upconta.com/v3/administrative/transporters/:id

Proveedores

Personas a las que se emiten facturas de reembolso.

Obtener proveedores

GET/v3/administrative/providers
TESThttps://api-test.upconta.com/v3/administrative/providers
PRODhttps://api.upconta.com/v3/administrative/providers
json
{
  "page": 1,
  "total": 10,
  "data": [
    {
      "_id": "60...",
      "id": "1234567890001",
      "idType": "04",
      "name": "Nombre Proveedor"
    }
  ]
}

Obtener proveedor

GET/v3/administrative/providers/:id
TESThttps://api-test.upconta.com/v3/administrative/providers/:id
PRODhttps://api.upconta.com/v3/administrative/providers/:id

Crear proveedor

POST/v3/administrative/providers
TESThttps://api-test.upconta.com/v3/administrative/providers
PRODhttps://api.upconta.com/v3/administrative/providers
json
{
  "id": "1234567890001",
  "idType": "04",
  "name": "Nombre Proveedor",
  "subjectType": "01"
}

Editar proveedor

PUT/v3/administrative/providers/:id
TESThttps://api-test.upconta.com/v3/administrative/providers/:id
PRODhttps://api.upconta.com/v3/administrative/providers/:id

Eliminar proveedor

DELETE/v3/administrative/providers/:id
TESThttps://api-test.upconta.com/v3/administrative/providers/:id
PRODhttps://api.upconta.com/v3/administrative/providers/:id

Vendedores

Vendedores de la empresa, relacionados con clientes y facturas.

Modelo

ts
interface Vendedor {
  codigo: string;
  name: string;
  correo?: string;
  telefono?: string;
  estado: "activo" | "inactivo";
  _movements: Movement[];
}

Obtener vendedores

GET/v3/administrative/sellers
TESThttps://api-test.upconta.com/v3/administrative/sellers
PRODhttps://api.upconta.com/v3/administrative/sellers
json
{
  "page": 1,
  "total": 5,
  "data": [
    { "_id": "60...", "name": "Vendedor Uno" },
    { "_id": "60...", "name": "Vendedor Dos" }
  ]
}

Obtener vendedor

GET/v3/administrative/sellers/:id
TESThttps://api-test.upconta.com/v3/administrative/sellers/:id
PRODhttps://api.upconta.com/v3/administrative/sellers/:id

Crear vendedor

POST/v3/administrative/sellers
TESThttps://api-test.upconta.com/v3/administrative/sellers
PRODhttps://api.upconta.com/v3/administrative/sellers
json
{
  "codigo": "COD001",
  "name": "Nombre Vendedor",
  "telefono": "0999999999"
}

Editar vendedor

PUT/v3/administrative/sellers/:id
TESThttps://api-test.upconta.com/v3/administrative/sellers/:id
PRODhttps://api.upconta.com/v3/administrative/sellers/:id

Eliminar vendedor

DELETE/v3/administrative/sellers/:id
TESThttps://api-test.upconta.com/v3/administrative/sellers/:id
PRODhttps://api.upconta.com/v3/administrative/sellers/:id