Del ERP a TBI, campo por campo
Un ERP ficticio que publica clientes, fabricantes, equipos, repuestos y contratos de prueba en el formato que importa la Integración ERP de TBI. Úselo para probar una configuración o presentar la integración sin depender del sistema de un cliente.
data.customer_name
Hospital Santa Clara de Assis Ltda
customer.customer_name
data.tax_id
11.223.344/0001-86
customer.tax_id
data.internal_code
CLI-0001
customer.internal_code
data.address.city
São Paulo
address.city
data.phones.phone_number
1132145000
phones.0.phone_number
Cómo funciona la integración
Cada distribuidor configura, una sola vez, dónde están los datos en su ERP y qué campo del ERP alimenta cada campo de TBI. A partir de ahí, TBI busca los datos por sí solo.
-
Autenticar
TBI entra en el ERP con el método configurado: inicio de sesión con usuario y contraseña (que devuelve un token), una clave fija en el encabezado, o ninguno.
-
Buscar
Para cada módulo, TBI llama a la dirección configurada y lee la lista de registros, página por página cuando el ERP pagina la respuesta.
-
Mapear
Cada campo de TBI apunta a un campo del ERP. Los vínculos usan códigos que el ERP conoce: el código interno del cliente, el número de serie del equipo, el correo del contacto.
-
Validar e importar
Cada registro pasa por las mismas validaciones que un registro creado en pantalla, y el resultado de cada uno queda registrado en la ejecución.
Registro válido: creado
Entra directo en TBI. Si ya existe un registro con el mismo código, la regla de registros existentes de la integración decide si se actualiza, se envía a revisión o se ignora.
Registro con un problema: Zona de Transición
Queda retenido con el motivo, por ejemplo un cliente no encontrado o un campo obligatorio faltante, hasta que alguien lo complete y lo apruebe.
La integración se ejecuta cada hora y también se puede iniciar al momento desde la pantalla. En homologación (staging) no se crea nada directamente: todo registro va a la Zona de Transición, para revisar el mapeo antes de liberarlo.
Conectar TBI a este ERP
En Integración ERP, configure la autenticación una vez por distribuidor. Después, para cada módulo, indique la dirección y mapee los campos.
Inicio de sesión con token
Prueba el flujo completo: TBI inicia sesión, guarda el token y vuelve a iniciar sesión si el token vence.
- URL de inicio de sesión
https://integrationtest.tbieightware.com/api/v1/auth/login- Campo del usuario
login- Campo de la contraseña
senha- Usuario
tbi- Contraseña
tbi-mock- Ruta del token
data.0.token
Clave en el encabezado
Para ERPs que entregan una clave de API fija en lugar de un inicio de sesión.
- Nombre del encabezado
X-API-Key- Prefijo
- déjelo vacío
- Clave
tbi-mock-api-key
Sin autenticación
Los mismos datos, abiertos. También sirve para abrirlos en el navegador y pegar el JSON en la pantalla de mapeo.
- Dirección base
https://integrationtest.tbieightware.com/public/v1
Direcciones y paginación
- Dirección de cada módulo
https://integrationtest.tbieightware.com/api/v1/módulo, p. ej.:https://integrationtest.tbieightware.com/api/v1/customers- Ruta de la lista
data- Paginación por posición
limityoffset(omaxyposition)- Paginación por página
limitypage, empezando en 1
Configuración lista
Cada módulo tiene su configuración completa (dirección, mapeo de todos los campos y grupos repetibles) en el formato que guarda TBI, para revisar el mapeo campo por campo.
Orden de importación
Los módulos se refieren unos a otros por código: un contrato busca su cliente, un equipo busca su modelo. Importe en este orden para que cada vínculo encuentre un registro que ya existe.
- Fabricantes No depende de otro módulo
- Segmentos de Fabricantes Después de Fabricantes
- Equipos de Fabricante Después de Fabricantes
- Contactos de Fabricantes Después de Fabricantes
- Repuestos Después de Fabricantes
- Clientes No depende de otro módulo
- Contactos de Clientes Después de Clientes
- Contratos Después de Clientes y Contactos de Clientes
- Adendas de Contrato Después de Contratos
- Equipos Después de Equipos de Fabricante, Clientes y Contratos
- Periféricos Después de Equipos
Los contratos van antes que los equipos porque cada equipo indica el número del contrato al que pertenece. Los periféricos van al final y se vinculan a su equipo por el número de serie.
Módulos y campos
Todos los campos que ofrece la pantalla de mapeo de TBI, con el campo de este ERP que alimenta cada uno. Los obligatorios están completos en todos los registros.
Fabricantes
5 registros
Fabricantes con dirección, teléfono y contactos. La moneda se envía como su código (BRL, USD, EUR). Los contactos dentro de cada fabricante entran como Contactos de Fabricantes.
/api/v1/manufacturers
Grupos repetibles: contacts en data.contacts. Cada elemento de la lista se convierte en un elemento en TBI.
| Campo en TBI | Obligatorio | Campo en el ERP |
|---|---|---|
Razón Social del Fabricantemanufacturer.manufacturer_name |
Sí |
data.manufacturer_name
|
Nombre Comercialmanufacturer.trade_name |
Sí |
data.trade_name
|
Identificación Fiscalmanufacturer.tax_id |
No |
data.tax_id
|
Estadomanufacturer.status |
No |
data.status
|
Código Internomanufacturer.internal_code |
No |
data.internal_code
|
Moneda (Código ISO)manufacturer.currency_id |
Sí |
data.currency_id
|
Código de Paísphone.international_area_code |
Sí |
data.international_area_code
|
Número de Teléfonophone.phone_number |
Sí |
data.phone_number
|
Extensiónphone.extension |
No |
data.extension
|
Tipo de Teléfonophone.kind |
No |
data.kind
|
Nombre de la Direcciónaddress.name |
No |
data.name
|
Calleaddress.street |
Sí |
data.street
|
Númeroaddress.street_number |
No |
data.street_number
|
Complementoaddress.complement |
No |
data.complement
|
Barrioaddress.neighborhood |
No |
data.neighborhood
|
Ciudadaddress.city |
Sí |
data.city
|
Estado/Provinciaaddress.state |
Sí |
data.state
|
Paísaddress.country |
Sí |
data.country
|
Código Postaladdress.zipcode |
Sí |
data.zipcode
|
Latitudaddress.latitude |
No |
data.latitude
|
Longitudaddress.longitude |
No |
data.longitude
|
Nombre del Contactocontacts.0.first_name |
No |
data.contacts.first_name
|
Apellido del Contactocontacts.0.last_name |
No |
data.contacts.last_name
|
Correo del Contactocontacts.0.email |
No |
data.contacts.email
|
Cargo del Contactocontacts.0.title |
No |
data.contacts.title
|
Tipo de Contactocontacts.0.kind |
No |
data.contacts.kind
|
Segmento del Fabricante (Nombre)contacts.0.segments_manufacturer_id |
No |
data.contacts.segments_manufacturer_id
|
Teléfono del Contactocontacts.0.phone.phone_number |
No |
data.contacts.phone_number
|
Código de País del Teléfono del Contactocontacts.0.phone.international_area_code |
No |
data.contacts.international_area_code
|
Ver un registro de ejemplo
{
"manufacturer_name": "Hemalux Equipamentos Médicos Ltda",
"trade_name": "Hemalux",
"tax_id": "12.345.678/0001-95",
"status": "active",
"internal_code": "FAB-001",
"currency_id": "BRL",
"international_area_code": "55",
"phone_number": "1133445566",
"extension": "201",
"kind": "fixed",
"name": "Matriz",
"street": "Avenida Paulista",
"street_number": "1578",
"complement": "Conj. 1203",
"neighborhood": "Bela Vista",
"city": "São Paulo",
"state": "SP",
"country": "Brasil",
"zipcode": "01310-200",
"latitude": "-23.561414",
"longitude": "-46.655881",
"contacts": [
{
"segments_manufacturer_id": "Hematologia",
"first_name": "Mariana",
"last_name": "Albuquerque",
"email": "[email protected]",
"title": "Gerente de Contas",
"kind": "default",
"phone_number": "1133445577",
"international_area_code": "55"
},
{
"segments_manufacturer_id": "Coagulação",
"first_name": "Rafael",
"last_name": "Teixeira",
"email": "[email protected]",
"title": "Engenheiro de Aplicação",
"kind": "emergency",
"phone_number": "1133445588",
"international_area_code": "55"
}
]
}
Segmentos de Fabricantes
8 registros
Los segmentos en los que trabaja cada fabricante, por nombre. TBI encuentra el segmento o crea uno nuevo.
/api/v1/manufacturer_segments
| Campo en TBI | Obligatorio | Campo en el ERP |
|---|---|---|
Fabricante (Código Interno)segment.manufacturer_id |
Sí |
data.manufacturer_id
|
ID del Segmentosegment.segment_id |
No | No enviado No enviado: es un ID interno de TBI. El segmento se encuentra por nombre. |
Nombre del Segmentosegment.segment_name |
Sí |
data.segment_name
|
Ver un registro de ejemplo
{
"manufacturer_id": "FAB-001",
"segment_name": "Hematologia"
}
Equipos de Fabricante
10 registros
Los modelos de cada fabricante, con número de parte, garantías y plan de mantenimiento.
/api/v1/manufacturer_equipment
| Campo en TBI | Obligatorio | Campo en el ERP |
|---|---|---|
Fabricante (Código Interno)manufacturer_equipment.manufacturer_id |
Sí |
data.manufacturer_id
|
Segmento del Fabricante (Nombre)manufacturer_equipment.segments_manufacturer_id |
Sí |
data.segments_manufacturer_id
|
Modelo del Equipomanufacturer_equipment.equipment_model_name |
Sí |
data.equipment_model_name
|
Número de Partemanufacturer_equipment.part_number |
No |
data.part_number
|
Garantía de Instalación (días)manufacturer_equipment.warranty_installation |
No |
data.warranty_installation
|
Garantía de Compra (días)manufacturer_equipment.warranty_purchase |
No |
data.warranty_purchase
|
Cantidad de Uso para Mantenimientomanufacturer_equipment.maintenance_use_quantity |
No |
data.maintenance_use_quantity
|
Cantidad de Mantenimientosmanufacturer_equipment.maintenance_quantity |
No |
data.maintenance_quantity
|
Período de Mantenimientomanufacturer_equipment.maintenance_period |
No |
data.maintenance_period
|
Ver un registro de ejemplo
{
"manufacturer_id": "FAB-001",
"segments_manufacturer_id": "Hematologia",
"equipment_model_name": "Hemalux HX-500",
"part_number": "HX-500-BR",
"warranty_installation": 365,
"warranty_purchase": 365,
"maintenance_use_quantity": 10000,
"maintenance_quantity": 2,
"maintenance_period": "year"
}
Contactos de Fabricantes
9 registros
Los mismos contactos de Fabricantes, en su propia lista. TBI crea un contacto por cada segmento del fabricante.
/api/v1/manufacturer_contacts
| Campo en TBI | Obligatorio | Campo en el ERP |
|---|---|---|
Fabricante (Código Interno)contact.manufacturer_id |
Sí |
data.manufacturer_id
|
Segmento del Fabricante (Nombre)contact.segments_manufacturer_id |
No |
data.segments_manufacturer_id
|
Nombre del Contactocontact.first_name |
No |
data.first_name
|
Apellido del Contactocontact.last_name |
No |
data.last_name
|
Correo del Contactocontact.email |
No |
data.email
|
Cargo del Contactocontact.title |
No |
data.title
|
Tipo de Contactocontact.kind |
No |
data.kind
|
Teléfono del Contactocontact.phone.phone_number |
No |
data.phone_number
|
Código de País del Teléfono del Contactocontact.phone.international_area_code |
No |
data.international_area_code
|
Ver un registro de ejemplo
{
"manufacturer_id": "FAB-001",
"segments_manufacturer_id": "Hematologia",
"first_name": "Mariana",
"last_name": "Albuquerque",
"email": "[email protected]",
"title": "Gerente de Contas",
"kind": "default",
"phone_number": "1133445577",
"international_area_code": "55"
}
Repuestos
20 registros
Repuestos con costo, precio de venta y stock. Los valores llegan con el formato 1.234,56.
/api/v1/spare_parts
| Campo en TBI | Obligatorio | Campo en el ERP |
|---|---|---|
Código Internospare_part.internal_code |
Sí |
data.internal_code
|
Nombre del Repuestospare_part.part_name |
Sí |
data.part_name
|
Código del Fabricantespare_part.manufacturer_code |
Sí |
data.manufacturer_code
|
País de Origenspare_part.source_country |
Sí |
data.source_country
|
Estadospare_part.status |
No |
data.status
|
Fabricante (Código Interno)spare_part.manufacturer_id |
Sí |
data.manufacturer_id
|
Segmento del Fabricante (Nombre)spare_part.segments_manufacturer_id |
Sí |
data.segments_manufacturer_id
|
Moneda Localspare_part.local_currency |
No |
data.local_currency
|
Costospare_part.cost |
No |
data.cost
|
Costo Finalspare_part.final_cost |
No |
data.final_cost
|
Precio de Ventaspare_part.sales_cost |
No |
data.sales_cost
|
Cantidad en Stockspare_part.stock_quantity |
No |
data.stock_quantity
|
Ver un registro de ejemplo
{
"internal_code": "PEC-00001",
"part_name": "Lâmpada halógena 12V 20W",
"manufacturer_code": "HX-LMP-12V",
"source_country": "Brasil",
"status": "available",
"manufacturer_id": "FAB-001",
"segments_manufacturer_id": "Hematologia",
"local_currency": "BRL",
"cost": "189,90",
"final_cost": "224,08",
"sales_cost": "313,34",
"stock_quantity": 14
}
Clientes
12 registros
Clientes con direcciones, teléfonos y sucursales en listas, configuradas como grupos repetibles en el mapeo.
/api/v1/customers
Grupos repetibles: address en data.address, phones en data.phones, customer_branches en data.customer_branches. Cada elemento de la lista se convierte en un elemento en TBI.
| Campo en TBI | Obligatorio | Campo en el ERP |
|---|---|---|
Razón Socialcustomer.customer_name |
Sí |
data.customer_name
|
Nombre Comercialcustomer.trade_name |
Sí |
data.trade_name
|
Identificación Fiscalcustomer.tax_id |
Sí |
data.tax_id
|
Código Internocustomer.internal_code |
No |
data.internal_code
|
Estadocustomer.status |
Sí |
data.status
|
Código Postaladdress.zipcode |
Sí |
data.address.zipcode
|
Calleaddress.street |
Sí |
data.address.street
|
Númeroaddress.street_number |
Sí |
data.address.street_number
|
Complementoaddress.complement |
No |
data.address.complement
|
Barrioaddress.neighborhood |
No |
data.address.neighborhood
|
Ciudadaddress.city |
Sí |
data.address.city
|
Estado/Provinciaaddress.state |
Sí |
data.address.state
|
Paísaddress.country |
No |
data.address.country
|
Teléfono Principalphones.0.phone_number |
Sí |
data.phones.phone_number
|
Código de Paísphones.0.international_area_code |
Sí |
data.phones.international_area_code
|
Tipo de Teléfonophones.0.kind |
No |
data.phones.kind
|
Nombre de la Sucursalcustomer_branches.0.branch_name |
No |
data.customer_branches.branch_name
|
Nombre Comercial de la Sucursalcustomer_branches.0.branch_trade_name |
No |
data.customer_branches.branch_trade_name
|
Identificación Fiscal de la Sucursalcustomer_branches.0.tax_id |
No |
data.customer_branches.tax_id
|
Código Interno de la Sucursalcustomer_branches.0.internal_code |
No |
data.customer_branches.internal_code
|
Tipo de Sucursalcustomer_branches.0.kind |
No |
data.customer_branches.kind
|
Estado de la Sucursalcustomer_branches.0.status |
No |
data.customer_branches.status
|
Ver un registro de ejemplo
{
"customer_name": "Hospital Santa Clara de Assis Ltda",
"trade_name": "Hospital Santa Clara",
"tax_id": "11.223.344/0001-86",
"internal_code": "CLI-0001",
"status": "active",
"address": [
{
"zipcode": "01405-001",
"street": "Rua Pamplona",
"street_number": "1200",
"complement": null,
"neighborhood": "Jardim Paulista",
"city": "São Paulo",
"state": "SP",
"country": "Brasil"
}
],
"phones": [
{
"phone_number": "1132145000",
"international_area_code": "55",
"kind": "fixed"
},
{
"phone_number": "11987001122",
"international_area_code": "55",
"kind": "mobile"
}
],
"customer_branches": [
{
"branch_name": "Unidade Morumbi",
"branch_trade_name": "Santa Clara Morumbi",
"tax_id": "11.223.344/0002-67",
"internal_code": "CLI-0001-F1",
"kind": "operational",
"status": "active"
},
{
"branch_name": "Centro Administrativo",
"branch_trade_name": "Santa Clara Adm",
"tax_id": "11.223.344/0003-48",
"internal_code": "CLI-0001-F2",
"kind": "administrative",
"status": "active"
}
]
}
Contactos de Clientes
24 registros
Los contactos de cada cliente, vinculados por el código interno del cliente.
/api/v1/customer_contacts
| Campo en TBI | Obligatorio | Campo en el ERP |
|---|---|---|
Cliente (Código Interno)contact.customer_id |
Sí |
data.customer_id
|
Nombre del Contactocontact.first_name |
No |
data.first_name
|
Apellido del Contactocontact.last_name |
No |
data.last_name
|
Correo del Contactocontact.email |
No |
data.email
|
Cargo del Contactocontact.title |
No |
data.title
|
Tipo de Contactocontact.kind |
No |
data.kind
|
Teléfono del Contactocontact.phone.phone_number |
No |
data.phone_number
|
Código de País del Teléfono del Contactocontact.phone.international_area_code |
No |
data.international_area_code
|
Ver un registro de ejemplo
{
"customer_id": "CLI-0001",
"first_name": "Ana",
"last_name": "Ribeiro",
"email": "[email protected]",
"title": "Coordenadora do Laboratório",
"kind": "default",
"phone_number": "1132145007",
"international_area_code": "55"
}
Contratos
8 registros
Contratos con cliente, vigencia y responsables (por el correo del contacto). Los equipos no van aquí: cada equipo indica su contrato.
/api/v1/contracts
| Campo en TBI | Obligatorio | Campo en el ERP |
|---|---|---|
Cliente (ID)customer_id |
Sí |
data.customer_id
|
Estado del Contratostatus |
Sí |
data.status
|
Tipo de Contratokind |
Sí |
data.kind
|
Número de Contratocontract_number |
Sí |
data.contract_number
|
Observacionesobservations |
No |
data.observations
|
Fecha de Iniciostart_date |
Sí |
data.start_date
|
Fecha de Finalizaciónend_date |
Sí |
data.end_date
|
Responsable Interno (ID)internal_responsibles.0 |
No |
data.internal_responsibles.email
Una lista de objetos con el correo; TBI lee el primero.
|
Responsable Externo (ID)external_responsibles.0 |
No |
data.external_responsibles.email
Una lista de objetos con el correo; TBI lee el primero.
|
Equipo del Distribuidor (ID)distributor_equipment_ids.0 |
No | No enviado No enviado: los contratos se importan antes que los equipos, así que cada equipo indica su contrato. |
Ver un registro de ejemplo
{
"customer_id": "CLI-0001",
"status": "active",
"kind": "maintenance",
"contract_number": "CTR-2026-0001",
"observations": "Manutenção preventiva semestral e corretiva ilimitada.",
"start_date": "2026-01-01",
"end_date": "2027-12-31",
"internal_responsibles": [
{
"email": "[email protected]"
}
],
"external_responsibles": [
{
"email": "[email protected]"
}
]
}
Adendas de Contrato
8 registros
Adendas vinculadas a su contrato por el número de contrato.
/api/v1/contract_additions
| Campo en TBI | Obligatorio | Campo en el ERP |
|---|---|---|
Número de Contratocontract_number |
Sí |
data.contract_number
|
Número de Adendaadditional_number |
Sí |
data.additional_number
|
Tipo de Adendaadditional_type |
Sí |
data.additional_type
|
Descripcióndescription |
Sí |
data.description
|
Fechadate |
Sí |
data.date
|
Ver un registro de ejemplo
{
"contract_number": "CTR-2026-0001",
"additional_number": "AD-01",
"additional_type": "Inclusão de equipamento",
"description": "Inclusão do HX-3000 da Unidade Morumbi.",
"date": "2026-07-02"
}
Equipos
15 registros
Equipos instalados o en stock. El modelo se vincula por número de parte; el fabricante, el cliente y la sucursal, por código interno; el contrato, por número de contrato.
/api/v1/distributor_equipment
| Campo en TBI | Obligatorio | Campo en el ERP |
|---|---|---|
IDid |
No | No enviado No enviado: es un ID interno de TBI. El número de serie identifica el equipo. |
Número de Serieserial_number |
Sí |
data.serial_number
|
Código Internointernal_code |
Sí |
data.internal_code
|
Estadostatus |
Sí |
data.status
|
ID del Equipo del Fabricantemanufacturer_equipment_id |
Sí |
data.manufacturer_equipment_id
|
ID del Fabricantemanufacturer_id |
Sí |
data.manufacturer_id
|
ID del Clientecustomer_id |
No |
data.customer_id
|
ID de la Sucursal del Clientecustomer_branch_id |
No |
data.customer_branch_id
|
ID del Segmento del Fabricantesegments_manufacturer_id |
Sí |
data.segments_manufacturer_id
|
ID del Distribuidordistributor_id |
Sí |
data.distributor_id
TBI siempre usa el distribuidor de la propia integración.
|
ID de la Dirección de Origenorigin_address_id |
Sí |
data.origin_address_id
Enviado vacío: TBI usa la dirección predeterminada del distribuidor.
|
Año de Fabricaciónmanufacturing_year |
No |
data.manufacturing_year
|
Mes de Fabricaciónmanufacturing_month |
No |
data.manufacturing_month
|
Día de Fabricaciónmanufacturing_day |
No |
data.manufacturing_day
|
Número de Facturainvoice_number |
Sí |
data.invoice_number
|
Fecha de Adquisiciónacquisition_date |
Sí |
data.acquisition_date
|
Fecha de Instalacióninstallation_date |
No |
data.installation_date
|
Versión del Softwaresoftware_version |
No |
data.software_version
|
Activo Fijofixed_asset |
No |
data.fixed_asset
|
SLA sin Coberturasla_uncovered_service |
Sí |
data.sla_uncovered_service
|
Periférico Principalperipherals.0 |
No |
data.peripherals.serial_number
Una lista de objetos con el número de serie; TBI lee el primero. El vínculo lo hace la importación de Periféricos, que se ejecuta después.
|
| Contrato (número)Campo extra del ERP | — |
data.contract_number
El contrato en el que está instalado el equipo. El mapeo de TBI aún no tiene un campo de contrato para equipos, así que TBI no lee este valor.
|
Ver un registro de ejemplo
{
"serial_number": "SN-HX500-21000",
"internal_code": "EQP-0001",
"status": "allocated",
"manufacturer_equipment_id": "HX-500-BR",
"manufacturer_id": "FAB-001",
"customer_id": "CLI-0001",
"customer_branch_id": null,
"contract_number": "CTR-2026-0001",
"segments_manufacturer_id": "Hematologia",
"distributor_id": "DIST-MOCK",
"origin_address_id": null,
"manufacturing_year": 2023,
"manufacturing_month": 11,
"manufacturing_day": 10,
"invoice_number": "NF-120400",
"acquisition_date": "2024-02-10",
"installation_date": "2024-03-01",
"software_version": "4.2.1",
"fixed_asset": "PAT-30000",
"sla_uncovered_service": false,
"peripherals": [
{
"serial_number": "PER-ENERSAFE-0001"
}
]
}
Periféricos
10 registros
Periféricos de cada equipo, vinculados por el número de serie del equipo.
/api/v1/peripherals
| Campo en TBI | Obligatorio | Campo en el ERP |
|---|---|---|
ID del Distribuidordistributor_id |
Sí |
data.distributor_id
TBI siempre usa el distribuidor de la propia integración.
|
ID de la Dirección de Origenorigin_address_id |
No |
data.origin_address_id
Enviado vacío: TBI usa la dirección predeterminada del distribuidor.
|
ID del Equipo del Distribuidordistributor_equipment_id |
No |
data.distributor_equipment_id
|
Número de Serieserial_number |
No |
data.serial_number
|
Número de Partepart_number |
No |
data.part_number
|
Número de Facturainvoice_number |
Sí |
data.invoice_number
|
Fecha de Adquisiciónacquisition_date |
Sí |
data.acquisition_date
|
Marcabrand_peripheral |
Sí |
data.brand_peripheral
|
Modelomodel_peripheral |
Sí |
data.model_peripheral
|
Tipotype_peripheral |
Sí |
data.type_peripheral
|
Período de Garantíawarranty_period |
Sí |
data.warranty_period
|
Fin de la Garantíaend_of_warranty |
Sí |
data.end_of_warranty
|
Estadostatus |
No |
data.status
|
Ver un registro de ejemplo
{
"distributor_id": "DIST-MOCK",
"origin_address_id": null,
"distributor_equipment_id": "SN-HX500-21000",
"serial_number": "PER-ENERSAFE-0001",
"part_number": "ES1500-BR",
"invoice_number": "NF-130900",
"acquisition_date": "2024-02-10",
"brand_peripheral": "EnerSafe",
"model_peripheral": "ES-1500VA",
"type_peripheral": "Nobreak",
"warranty_period": "24",
"end_of_warranty": "2026-02-10",
"status": "allocated"
}
Escenarios para presentar
La mayoría de los datos entra sin problemas. Algunos registros se armaron a propósito para mostrar qué pasa cuando algo requiere atención.
-
Cliente con dos direcciones
La Policlínica Litoral Norte (CLI-0007) tiene dos direcciones. TBI no elige por sí solo la dirección de atención: el cliente va a la Zona de Transición para que alguien la elija.
-
Contacto sin cliente
Los dos contactos de CLI-0007 quedan en revisión como cliente no encontrado hasta que se apruebe el cliente. Es el mismo camino que cualquier vínculo que no existe en TBI.
-
Equipos sin cliente
Tres equipos no están en ningún cliente: dos en stock (no asignados) y uno en mantenimiento.
-
Repuestos sin stock y un contrato vencido
Dos repuestos llegan no disponibles, con stock cero, y el contrato CTR-2025-0007 llega inactivo, con su vigencia terminada.