Do ERP para o TBI, campo a campo
Um ERP fictício que publica clientes, fabricantes, equipamentos, peças e contratos de teste no formato que a Integração ERP do TBI importa. Use-o para testar uma configuração ou demonstrar a integração sem depender do sistema de um 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
Como a integração funciona
Cada distribuidor configura, uma única vez, onde estão os dados no ERP dele e qual campo do ERP alimenta cada campo do TBI. A partir daí, o TBI busca os dados sozinho.
-
Autenticar
O TBI entra no ERP com o método configurado: login com usuário e senha (que devolve um token), uma chave fixa no cabeçalho, ou nenhum.
-
Buscar
Para cada módulo, o TBI chama o endereço configurado e lê a lista de registros, página por página quando o ERP pagina a resposta.
-
Mapear
Cada campo do TBI aponta para um campo do ERP. Vínculos usam códigos que o ERP conhece: o código interno do cliente, o número de série do equipamento, o e-mail do contato.
-
Validar e importar
Cada registro passa pelas mesmas validações de um cadastro feito na tela, e o resultado de cada um fica registrado na execução.
Registro válido: cadastro criado
Entra direto no TBI. Se já existe um cadastro com o mesmo código, a regra de registros existentes da integração decide se ele é atualizado, enviado para revisão ou ignorado.
Registro com problema: Zona de Transição
Fica retido com o motivo, por exemplo um cliente não encontrado ou um campo obrigatório faltando, até alguém completar e aprovar.
A integração roda a cada hora e também pode ser disparada na hora pela tela. Em homologação (staging) nada é criado direto: todo registro vai para a Zona de Transição, para conferir o mapeamento antes de liberar.
Conectar o TBI a este ERP
Em Integração ERP, configure a autenticação uma vez por distribuidor. Depois, para cada módulo, informe o endereço e faça o mapeamento dos campos.
Login com token
Testa o fluxo completo: o TBI faz login, guarda o token e refaz o login se o token expirar.
- URL de login
https://integrationtest.tbieightware.com/api/v1/auth/login- Campo do usuário
login- Campo da senha
senha- Usuário
tbi- Senha
tbi-mock- Caminho do token
data.0.token
Chave no cabeçalho
Para ERPs que entregam uma chave de API fixa em vez de login.
- Nome do cabeçalho
X-API-Key- Prefixo
- deixe vazio
- Chave
tbi-mock-api-key
Sem autenticação
Os mesmos dados, abertos. Também serve para abrir no navegador e colar o JSON na tela de mapeamento.
- Endereço base
https://integrationtest.tbieightware.com/public/v1
Endereços e paginação
- Endereço de cada módulo
https://integrationtest.tbieightware.com/api/v1/módulo, ex.:https://integrationtest.tbieightware.com/api/v1/customers- Caminho da lista
data- Paginação por posição
limiteoffset(oumaxeposition)- Paginação por página
limitepage, começando em 1
Configuração pronta
Cada módulo tem a configuração completa (endereço, mapeamento de todos os campos e grupos repetidos) no formato que o TBI salva, para conferir o mapeamento campo a campo.
Ordem de importação
Os módulos se referem uns aos outros pelos códigos: um contrato procura o cliente, um equipamento procura o modelo. Importe nesta ordem para cada vínculo encontrar o registro que já existe.
- Fabricantes Não depende de outro módulo
- Segmentos de Fabricantes Depois de Fabricantes
- Modelos de Equipamento Depois de Fabricantes
- Contatos de Fabricantes Depois de Fabricantes
- Peças Depois de Fabricantes
- Clientes Não depende de outro módulo
- Contatos de Clientes Depois de Clientes
- Contratos Depois de Clientes e Contatos de Clientes
- Aditivos de Contrato Depois de Contratos
- Equipamentos Depois de Modelos de Equipamento, Clientes e Contratos
- Periféricos Depois de Equipamentos
Os contratos vêm antes dos equipamentos porque cada equipamento informa o número do contrato a que pertence. Os periféricos vêm por último e se ligam ao equipamento pelo número de série dele.
Módulos e campos
Todos os campos que a tela de mapeamento do TBI oferece, com o campo deste ERP que alimenta cada um. Os obrigatórios estão preenchidos em todos os registros.
Fabricantes
5 registros
Fabricantes com endereço, telefone e contatos. A moeda vai como sigla (BRL, USD, EUR). Os contatos que vêm dentro de cada fabricante entram como Contatos de Fabricantes.
/api/v1/manufacturers
Grupos repetidos: contacts em data.contacts. Cada item da lista vira um item no TBI.
| Campo no TBI | Obrigatório | Campo no ERP |
|---|---|---|
Razão Social do Fabricantemanufacturer.manufacturer_name |
Sim |
data.manufacturer_name
|
Nome Fantasiamanufacturer.trade_name |
Sim |
data.trade_name
|
CPF / CNPJmanufacturer.tax_id |
Não |
data.tax_id
|
Statusmanufacturer.status |
Não |
data.status
|
Código Internomanufacturer.internal_code |
Não |
data.internal_code
|
Moeda (Código ISO)manufacturer.currency_id |
Sim |
data.currency_id
|
DDIphone.international_area_code |
Sim |
data.international_area_code
|
Número do Telefonephone.phone_number |
Sim |
data.phone_number
|
Ramalphone.extension |
Não |
data.extension
|
Tipo do Telefonephone.kind |
Não |
data.kind
|
Nome do Endereçoaddress.name |
Não |
data.name
|
Logradouroaddress.street |
Sim |
data.street
|
Númeroaddress.street_number |
Não |
data.street_number
|
Complementoaddress.complement |
Não |
data.complement
|
Bairroaddress.neighborhood |
Não |
data.neighborhood
|
Cidadeaddress.city |
Sim |
data.city
|
Estado (UF)address.state |
Sim |
data.state
|
Paísaddress.country |
Sim |
data.country
|
CEPaddress.zipcode |
Sim |
data.zipcode
|
Latitudeaddress.latitude |
Não |
data.latitude
|
Longitudeaddress.longitude |
Não |
data.longitude
|
Nome do Contatocontacts.0.first_name |
Não |
data.contacts.first_name
|
Sobrenome do Contatocontacts.0.last_name |
Não |
data.contacts.last_name
|
E-mail do Contatocontacts.0.email |
Não |
data.contacts.email
|
Cargo do Contatocontacts.0.title |
Não |
data.contacts.title
|
Tipo do Contatocontacts.0.kind |
Não |
data.contacts.kind
|
Segmento do Fabricante (Nome)contacts.0.segments_manufacturer_id |
Não |
data.contacts.segments_manufacturer_id
|
Telefone do Contatocontacts.0.phone.phone_number |
Não |
data.contacts.phone_number
|
DDI do Telefone do Contatocontacts.0.phone.international_area_code |
Não |
data.contacts.international_area_code
|
Ver um registro de exemplo
{
"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
Os segmentos em que cada fabricante atua, pelo nome. O TBI encontra o segmento ou cria um novo.
/api/v1/manufacturer_segments
| Campo no TBI | Obrigatório | Campo no ERP |
|---|---|---|
Fabricante (Código Interno)segment.manufacturer_id |
Sim |
data.manufacturer_id
|
ID do Segmentosegment.segment_id |
Não | Não enviado Não enviado: é um ID interno do TBI. O segmento é encontrado pelo nome. |
Nome do Segmentosegment.segment_name |
Sim |
data.segment_name
|
Ver um registro de exemplo
{
"manufacturer_id": "FAB-001",
"segment_name": "Hematologia"
}
Modelos de Equipamento
10 registros
Os modelos de cada fabricante, com part number, garantias e plano de manutenção.
/api/v1/manufacturer_equipment
| Campo no TBI | Obrigatório | Campo no ERP |
|---|---|---|
Fabricante (Código Interno)manufacturer_equipment.manufacturer_id |
Sim |
data.manufacturer_id
|
Segmento do Fabricante (Nome)manufacturer_equipment.segments_manufacturer_id |
Sim |
data.segments_manufacturer_id
|
Modelo do Equipamentomanufacturer_equipment.equipment_model_name |
Sim |
data.equipment_model_name
|
Número da Peçamanufacturer_equipment.part_number |
Não |
data.part_number
|
Garantia de Instalação (dias)manufacturer_equipment.warranty_installation |
Não |
data.warranty_installation
|
Garantia de Compra (dias)manufacturer_equipment.warranty_purchase |
Não |
data.warranty_purchase
|
Quantidade de Uso para Manutençãomanufacturer_equipment.maintenance_use_quantity |
Não |
data.maintenance_use_quantity
|
Quantidade de Manutençõesmanufacturer_equipment.maintenance_quantity |
Não |
data.maintenance_quantity
|
Período de Manutençãomanufacturer_equipment.maintenance_period |
Não |
data.maintenance_period
|
Ver um registro de exemplo
{
"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"
}
Contatos de Fabricantes
9 registros
Os mesmos contatos de Fabricantes, em lista própria. O TBI cria um contato para cada segmento do fabricante.
/api/v1/manufacturer_contacts
| Campo no TBI | Obrigatório | Campo no ERP |
|---|---|---|
Fabricante (Código Interno)contact.manufacturer_id |
Sim |
data.manufacturer_id
|
Segmento do Fabricante (Nome)contact.segments_manufacturer_id |
Não |
data.segments_manufacturer_id
|
Nome do Contatocontact.first_name |
Não |
data.first_name
|
Sobrenome do Contatocontact.last_name |
Não |
data.last_name
|
E-mail do Contatocontact.email |
Não |
data.email
|
Cargo do Contatocontact.title |
Não |
data.title
|
Tipo do Contatocontact.kind |
Não |
data.kind
|
Telefone do Contatocontact.phone.phone_number |
Não |
data.phone_number
|
DDI do Telefone do Contatocontact.phone.international_area_code |
Não |
data.international_area_code
|
Ver um registro de exemplo
{
"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"
}
Peças
20 registros
Peças com custo, preço de venda e estoque. Os valores vêm no formato 1.234,56.
/api/v1/spare_parts
| Campo no TBI | Obrigatório | Campo no ERP |
|---|---|---|
Código Internospare_part.internal_code |
Sim |
data.internal_code
|
Nome da Peçaspare_part.part_name |
Sim |
data.part_name
|
Código do Fabricantespare_part.manufacturer_code |
Sim |
data.manufacturer_code
|
País de Origemspare_part.source_country |
Sim |
data.source_country
|
Statusspare_part.status |
Não |
data.status
|
Fabricante (Código Interno)spare_part.manufacturer_id |
Sim |
data.manufacturer_id
|
Segmento do Fabricante (Nome)spare_part.segments_manufacturer_id |
Sim |
data.segments_manufacturer_id
|
Moeda Localspare_part.local_currency |
Não |
data.local_currency
|
Custospare_part.cost |
Não |
data.cost
|
Custo Finalspare_part.final_cost |
Não |
data.final_cost
|
Custo de Vendaspare_part.sales_cost |
Não |
data.sales_cost
|
Quantidade em Estoquespare_part.stock_quantity |
Não |
data.stock_quantity
|
Ver um registro de exemplo
{
"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 com endereços, telefones e filiais em listas, configuradas como grupos repetidos no mapeamento.
/api/v1/customers
Grupos repetidos: address em data.address, phones em data.phones, customer_branches em data.customer_branches. Cada item da lista vira um item no TBI.
| Campo no TBI | Obrigatório | Campo no ERP |
|---|---|---|
Razão Socialcustomer.customer_name |
Sim |
data.customer_name
|
Nome Fantasiacustomer.trade_name |
Sim |
data.trade_name
|
CPF / CNPJcustomer.tax_id |
Sim |
data.tax_id
|
Código Internocustomer.internal_code |
Não |
data.internal_code
|
Statuscustomer.status |
Sim |
data.status
|
CEPaddress.zipcode |
Sim |
data.address.zipcode
|
Logradouroaddress.street |
Sim |
data.address.street
|
Númeroaddress.street_number |
Sim |
data.address.street_number
|
Complementoaddress.complement |
Não |
data.address.complement
|
Bairroaddress.neighborhood |
Não |
data.address.neighborhood
|
Cidadeaddress.city |
Sim |
data.address.city
|
Estado (UF)address.state |
Sim |
data.address.state
|
Paísaddress.country |
Não |
data.address.country
|
Telefone Principalphones.0.phone_number |
Sim |
data.phones.phone_number
|
DDIphones.0.international_area_code |
Sim |
data.phones.international_area_code
|
Tipo do Telefonephones.0.kind |
Não |
data.phones.kind
|
Nome da Filialcustomer_branches.0.branch_name |
Não |
data.customer_branches.branch_name
|
Nome Fantasia da Filialcustomer_branches.0.branch_trade_name |
Não |
data.customer_branches.branch_trade_name
|
CNPJ da Filialcustomer_branches.0.tax_id |
Não |
data.customer_branches.tax_id
|
Código Interno da Filialcustomer_branches.0.internal_code |
Não |
data.customer_branches.internal_code
|
Tipo da Filialcustomer_branches.0.kind |
Não |
data.customer_branches.kind
|
Status da Filialcustomer_branches.0.status |
Não |
data.customer_branches.status
|
Ver um registro de exemplo
{
"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"
}
]
}
Contatos de Clientes
24 registros
Os contatos de cada cliente, ligados pelo código interno do cliente.
/api/v1/customer_contacts
| Campo no TBI | Obrigatório | Campo no ERP |
|---|---|---|
Cliente (Código Interno)contact.customer_id |
Sim |
data.customer_id
|
Nome do Contatocontact.first_name |
Não |
data.first_name
|
Sobrenome do Contatocontact.last_name |
Não |
data.last_name
|
E-mail do Contatocontact.email |
Não |
data.email
|
Cargo do Contatocontact.title |
Não |
data.title
|
Tipo do Contatocontact.kind |
Não |
data.kind
|
Telefone do Contatocontact.phone.phone_number |
Não |
data.phone_number
|
DDI do Telefone do Contatocontact.phone.international_area_code |
Não |
data.international_area_code
|
Ver um registro de exemplo
{
"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 com cliente, vigência e responsáveis (pelo e-mail do contato). Os equipamentos não vêm aqui: cada equipamento informa o seu contrato.
/api/v1/contracts
| Campo no TBI | Obrigatório | Campo no ERP |
|---|---|---|
Cliente (ID)customer_id |
Sim |
data.customer_id
|
Status do Contratostatus |
Sim |
data.status
|
Tipo do Contratokind |
Sim |
data.kind
|
Número do Contratocontract_number |
Sim |
data.contract_number
|
Observaçõesobservations |
Não |
data.observations
|
Data de Iníciostart_date |
Sim |
data.start_date
|
Data de Términoend_date |
Sim |
data.end_date
|
Responsável Interno (ID)internal_responsibles.0 |
Não |
data.internal_responsibles.email
Lista de objetos com o e-mail; o TBI lê o primeiro.
|
Responsável Externo (ID)external_responsibles.0 |
Não |
data.external_responsibles.email
Lista de objetos com o e-mail; o TBI lê o primeiro.
|
Equipamento do Distribuidor (ID)distributor_equipment_ids.0 |
Não | Não enviado Não enviado: os contratos são importados antes dos equipamentos, então cada equipamento informa o seu contrato. |
Ver um registro de exemplo
{
"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]"
}
]
}
Aditivos de Contrato
8 registros
Aditivos ligados ao contrato pelo número do contrato.
/api/v1/contract_additions
| Campo no TBI | Obrigatório | Campo no ERP |
|---|---|---|
Número do Contratocontract_number |
Sim |
data.contract_number
|
Número do Aditivoadditional_number |
Sim |
data.additional_number
|
Tipo do Aditivoadditional_type |
Sim |
data.additional_type
|
Descriçãodescription |
Sim |
data.description
|
Datadate |
Sim |
data.date
|
Ver um registro de exemplo
{
"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"
}
Equipamentos
15 registros
Equipamentos instalados ou em estoque. O modelo vem pelo part number; o fabricante, o cliente e a filial, pelo código interno; o contrato, pelo número do contrato.
/api/v1/distributor_equipment
| Campo no TBI | Obrigatório | Campo no ERP |
|---|---|---|
IDid |
Não | Não enviado Não enviado: é um ID interno do TBI. O número de série identifica o equipamento. |
Número de Sérieserial_number |
Sim |
data.serial_number
|
Código Internointernal_code |
Sim |
data.internal_code
|
Statusstatus |
Sim |
data.status
|
ID do Equipamento do Fabricantemanufacturer_equipment_id |
Sim |
data.manufacturer_equipment_id
|
ID do Fabricantemanufacturer_id |
Sim |
data.manufacturer_id
|
ID do Clientecustomer_id |
Não |
data.customer_id
|
ID da Filial do Clientecustomer_branch_id |
Não |
data.customer_branch_id
|
ID do Segmento do Fabricantesegments_manufacturer_id |
Sim |
data.segments_manufacturer_id
|
ID do Distribuidordistributor_id |
Sim |
data.distributor_id
O TBI usa sempre o distribuidor da própria integração.
|
ID do Endereço de Origemorigin_address_id |
Sim |
data.origin_address_id
Enviado vazio: o TBI usa o endereço padrão do distribuidor.
|
Ano de Fabricaçãomanufacturing_year |
Não |
data.manufacturing_year
|
Mês de Fabricaçãomanufacturing_month |
Não |
data.manufacturing_month
|
Dia de Fabricaçãomanufacturing_day |
Não |
data.manufacturing_day
|
Número da Nota Fiscalinvoice_number |
Sim |
data.invoice_number
|
Data de Aquisiçãoacquisition_date |
Sim |
data.acquisition_date
|
Data de Instalaçãoinstallation_date |
Não |
data.installation_date
|
Versão do Softwaresoftware_version |
Não |
data.software_version
|
Patrimôniofixed_asset |
Não |
data.fixed_asset
|
SLA sem Coberturasla_uncovered_service |
Sim |
data.sla_uncovered_service
|
Periférico Principalperipherals.0 |
Não |
data.peripherals.serial_number
Lista de objetos com o número de série; o TBI lê o primeiro. O vínculo vem da importação de Periféricos, que roda depois.
|
| Contrato (número)Campo extra do ERP | — |
data.contract_number
O contrato em que o equipamento está instalado. O mapeamento do TBI ainda não tem campo de contrato para equipamentos, então o TBI não lê este valor.
|
Ver um registro de exemplo
{
"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 equipamento, ligados pelo número de série do equipamento.
/api/v1/peripherals
| Campo no TBI | Obrigatório | Campo no ERP |
|---|---|---|
ID do Distribuidordistributor_id |
Sim |
data.distributor_id
O TBI usa sempre o distribuidor da própria integração.
|
ID do Endereço de Origemorigin_address_id |
Não |
data.origin_address_id
Enviado vazio: o TBI usa o endereço padrão do distribuidor.
|
ID do Equipamento do Distribuidordistributor_equipment_id |
Não |
data.distributor_equipment_id
|
Número de Sérieserial_number |
Não |
data.serial_number
|
Part Numberpart_number |
Não |
data.part_number
|
Número da Nota Fiscalinvoice_number |
Sim |
data.invoice_number
|
Data de Aquisiçãoacquisition_date |
Sim |
data.acquisition_date
|
Marcabrand_peripheral |
Sim |
data.brand_peripheral
|
Modelomodel_peripheral |
Sim |
data.model_peripheral
|
Tipotype_peripheral |
Sim |
data.type_peripheral
|
Período de Garantiawarranty_period |
Sim |
data.warranty_period
|
Fim da Garantiaend_of_warranty |
Sim |
data.end_of_warranty
|
Statusstatus |
Não |
data.status
|
Ver um registro de exemplo
{
"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"
}
Cenários para demonstrar
A maior parte dos dados entra sem problemas. Alguns registros foram montados de propósito para mostrar o que acontece quando algo precisa de atenção.
-
Cliente com dois endereços
A Policlínica Litoral Norte (CLI-0007) tem dois endereços. O TBI não escolhe sozinho qual é o endereço de atendimento: o cliente vai para a Zona de Transição para alguém escolher.
-
Contato sem cliente
Os dois contatos da CLI-0007 ficam em revisão como cliente não encontrado, até o cliente ser aprovado. É o mesmo caminho de qualquer vínculo que não existe no TBI.
-
Equipamentos sem cliente
Três equipamentos não estão em nenhum cliente: dois em estoque (não alocados) e um em manutenção.
-
Peças sem estoque e contrato encerrado
Duas peças vêm indisponíveis, com estoque zero, e o contrato CTR-2025-0007 vem inativo, com a vigência encerrada.