Saltar al contenido

API Sage ACICloud - Módulo Clientes

Crear Cliente

Endpoint: POST /api/acicloud/customer
Request Class: CustomersImpRequest
Autenticación: Bearer Token requerido

Parámetros de Request

Campo Tipo Requerido Descripción Validación Ejemplo
CustomerID string ID único del cliente Máx. 20 caracteres, único "CUST001"
Customer_Bill_Name string Nombre de facturación Máx. 39 caracteres "Empresa Ejemplo S.A."
AddressLine1 string Dirección línea 1 - "Calle 50, Edificio Torre"
AddressLine2 string Dirección línea 2 - "Piso 15, Oficina 1501"
City string Ciudad - "Ciudad de Panamá"
State string Estado/Provincia Máx. 2 caracteres "PA"
Zip string Código postal Máx. 12 caracteres "0000"
Country string País - "Panamá"
Telephone1 string Teléfono principal Máx. 20 caracteres "+507 1234-5678"
Email string Correo electrónico Máx. 64 caracteres "cliente@empresa.com"
RUC string RUC del cliente Alfanumérico, máx. 40 "1234567890123"
DV string Dígito verificador Alfanumérico, máx. 40 "12"
Custom_field3 string Campo personalizado 3 Alfanumérico, máx. 40 "Sector Financiero"
Custom_field4 string Campo personalizado 4 Alfanumérico, máx. 40 "VIP"
Custom_field5 string Campo personalizado 5 Alfanumérico, máx. 40 "Corporativo"

Reglas de Validación Detalladas

CustomerID

  • Requerido: Sí
  • Tipo: String
  • Máximo: 20 caracteres
  • Único: Debe ser único en la base de datos
  • Ejemplo válido: "CUST001", "EMP-2025-001"

Customer_Bill_Name

  • Requerido: Sí
  • Tipo: String
  • Máximo: 39 caracteres
  • Ejemplo válido: "Empresa Ejemplo S.A."

RUC y DV

  • Patrón: /^[a-zA-Z0-9_-]*$/
  • Descripción: Solo letras, números, guiones y guiones bajos
  • Ejemplo válido RUC: "1234567890123"
  • Ejemplo válido DV: "12"

Ejemplo de Request Completo

{
  "CustomerID": "CUST001",
  "Customer_Bill_Name": "Empresa Ejemplo S.A.",
  "AddressLine1": "Calle 50, Edificio Torre Global",
  "AddressLine2": "Piso 15, Oficina 1501",
  "City": "Ciudad de Panamá",
  "State": "PA",
  "Zip": "0000",
  "Country": "Panamá",
  "Telephone1": "+507 1234-5678",
  "Email": "contacto@empresaejemplo.com",
  "RUC": "1234567890123",
  "DV": "12",
  "Custom_field3": "Sector_Financiero",
  "Custom_field4": "Cliente_VIP",
  "Custom_field5": "Corporativo"
}

Ejemplo de Request Mínimo

{
  "CustomerID": "CUST002",
  "Customer_Bill_Name": "Cliente Básico"
}

Obtener Clientes

Endpoint: GET /api/acicloud/customers
Request Class: ACIcloudCustomersExpRequest
Autenticación: Bearer Token requerido

Parámetros de Consulta

Campo Tipo Requerido Descripción
order_column string No Columna para ordenamiento
order_direction string No asc o desc
limit integer No Registros por página
f array No Filtros avanzados

Ejemplo de Request

{
  "limit": 50,
  "order_column": "Customer_Bill_Name",
  "order_direction": "asc",
  "f": [
    {
      "column": "Customer_Bill_Name",
      "operator": "like",
      "query_1": "Empresa"
    }
  ]
}

Respuesta

{
  "success": true,
  "data": {
    "customers": [
      {
        "CustomerID": "CUST001",
        "Customer_Bill_Name": "Empresa Ejemplo S.A.",
        "Email": "contacto@empresaejemplo.com",
        "Telephone1": "+507 1234-5678",
        "City": "Ciudad de Panamá",
        "RUC": "1234567890123"
      }
    ],
    "pagination": {
      "current_page": 1,
      "per_page": 50,
      "total": 150
    }
  }
}

Obtener Clientes Importados

Endpoint: GET /api/acicloud/customers_imp
Request Class: ACIcloudCustomersImpRequest
Autenticación: Bearer Token requerido

Obtiene la lista de clientes que han sido importados desde DocuCenter a Sage ACICloud.

Ejemplo de Respuesta

{
  "success": true,
  "data": {
    "customers_imported": [
      {
        "CustomerID": "CUST001",
        "Customer_Bill_Name": "Empresa Ejemplo S.A.",
        "import_date": "2025-08-12T10:30:00Z",
        "status": "imported",
        "sage_sync_status": "synced"
      }
    ]
  }
}

Códigos de Respuesta

Código Descripción
200 Operación exitosa
201 Cliente creado exitosamente
400 Datos de request inválidos
401 No autorizado
422 Error de validación
500 Error interno del servidor

Ejemplos cURL

Crear Cliente

curl -X POST "https://api.docucenter.com/api/acicloud/customer" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "CustomerID": "CUST001",
    "Customer_Bill_Name": "Empresa Ejemplo S.A.",
    "Email": "contacto@empresa.com",
    "RUC": "1234567890123"
  }'

Obtener Clientes

curl -X GET "https://api.docucenter.com/api/acicloud/customers" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "limit": 10,
    "order_column": "Customer_Bill_Name"
  }'

Notas Técnicas

  • El CustomerID debe ser único en toda la organización
  • Los campos personalizados (Custom_field3-5) son útiles para categorización
  • La validación del RUC sigue el patrón panameño estándar
  • Compatible con el sistema multi-tenant de DocuCenter