accept_ticket_and_create_order
ChatGPT============================================================================= AcceptTicketAndCreateOrder - Aceita um ticket e cria a OS correspondente ============================================================================= Aceita um chamado/ticket (pending ou scheduling) e cria uma ordem de serviço numa única chamada transacional. Use quando o cliente aprovou o chamado e queremos materializar a OS para execução em campo. ── PARÂMETROS OBRIGATÓRIOS ────────────────────────────────────────────────── id (ID!) → ID do ticket a aceitar input.scheduledDate (String!) → Data de agendamento da OS (YYYY-MM-DD) input.customerId (Int!) → Cliente da OS (deve casar com o ticket se o ticket já tinha pre-seleção) input.serviceId (Int!) → Serviço da OS (deve casar com pre-seleção) ── PARÂMETROS OPCIONAIS IMPORTANTES ──────────────────────────────────────── input.identifier (String) → Identificador humano da OS input.description (String) → Descrição da OS input.scheduledTime (String) → Horário (HH:mm) input.locationId (String) → Location (se não usar useTicketAddress) input.employeeId (Int) → Técnico atribuído (obrigatório se o ticket tem featureAssignedEmployeeRequired) input.attachmentIds ([String!]) → Anexos do ticket a manter input.equipmentIds ([String!]) → Equipamentos a vincular na OS input.deadlineContractId (String) → Contrato de SLA input.useTicketAddress (Boolean) → Usar o endereço gravado no ticket (em vez de pegar via locationId) input.coords (AddressCoordinatesInput) → { latitude, longitude } input.ticketRoutesAddressesIds ([String!]) → Endereços de rota do ticket input.updatedAt (Datetime) → Optimistic locking — passe para evitar sobrescrever updates concorrentes input.additionalProductsServices ([TicketAcceptProductServiceInput!]) → Produtos/serviços adicionais a vincular ── REGRAS DE NEGÓCIO IMPORTANTES ─────────────────────────────────────────── Ticket deve estar pending ou scheduling (não archived/canceled/expired). Customer/location/service devem casar com pre-seleção do ticket. Para tickets corporate, devem ser do mesmo CMMS account. Quando ticket tem scheduleSuggestions, a scheduledDate deve casar com uma das suggestions. Chame get_ticket_rules para a lista completa. ── RETORNO ────────────────────────────────────────────────────────────────── { ticket: { id, status, acceptedAt }, order: { id, identifier }, task: { id } } ============================================================================= The business rules and constraints enforced by this mutation are documented in get_ticket_rules. Mutations that violate them are rejected. The full structure of the input argument, including nested types, is available from search_schema.
cancel_tickets
ChatGPT============================================================================= CancelTickets - Cancela um ou mais tickets (DESTRUCTIVE) ============================================================================= DESTRUCTIVE: cancela tickets em lote (até 100 por chamada). Tickets cancelados NÃO podem ser aceitos depois. Use quando o cliente desistir do chamado ou quando for um chamado inválido/duplicado. ── PARÂMETROS OBRIGATÓRIOS ────────────────────────────────────────────────── ticketIds ([ID!]!) → Lista de IDs (max 100) cancelationReason (TicketCancelationReasonInput!) → Motivo: { id?, description? } ── ESTRUTURA DO CANCELATION REASON ───────────────────────────────────────── id (ID) → ID de um motivo cadastrado em tickets_cancelations_reasons (se passado, é validado) description (String) → Texto livre — pode ser obrigatório dependendo da metadata do ticket (featureCancelationDescriptionRequired) ── REGRAS DE NEGÓCIO IMPORTANTES ─────────────────────────────────────────── Cada ticket deve ter status pending OU scheduling (não accepted/canceled). Tickets arquivados não podem ser cancelados. Se cancelationReason.id for fornecido, deve existir na conta. Chame get_ticket_rules para a lista completa. ── RETORNO ────────────────────────────────────────────────────────────────── [{ id, status, canceledAt }] (tickets atualizados) ============================================================================= The business rules and constraints enforced by this mutation are documented in get_ticket_rules. Mutations that violate them are rejected. The full structure of the input argument, including nested types, is available from search_schema.
create_entry_storage_movements
ChatGPT============================================================================= CreateEntryStorageMovements - Registra entradas de estoque (incoming) ============================================================================= Cria movimentações de ENTRADA num storage (almoxarifado). Aumenta as quantidades em estoque. Use para registrar compras, devoluções, doações, etc. Aceita products e part_units (NÃO aceita equipments — para esses use create_transfer_storage_movements). ── PARÂMETROS OBRIGATÓRIOS ────────────────────────────────────────────────── storageId (UUID!) → Storage destino items ([CreateEntryStorageMovementItemInput!]!) → Lista de itens (>=1) ── ESTRUTURA DE CADA ITEM ────────────────────────────────────────────────── entityType (StorageMovementEntityTypeEnum!) → "product" ou "part_unit" (equipment NÃO permitido aqui) itemId (UUID!) → ID do produto ou part_unit quantity (Float!) → Quantidade > 0 (min 0.00001) value (Float) → Valor unitário (opcional, >= 0) usageCondition (String) → Condição (ex.: "new", "used") externalId (String) → ID de sistema externo partUnitDescription (String) → Descrição para part_units criadas ── PARÂMETROS OPCIONAIS ───────────────────────────────────────────────────── identifier (String) → Identificador legível (3-50 chars, único na conta) description (String) → Descrição livre da movimentação (max 1000) integration (String) → Sistema de origem (integração) ── REGRAS DE NEGÓCIO IMPORTANTES ─────────────────────────────────────────── storageId deve existir. items não pode estar vazio. Cada item deve existir na tabela correspondente (products_services / part_units). Chame get_movement_rules para a lista completa. ── RETORNO ────────────────────────────────────────────────────────────────── [{ id }] (movimentações criadas — 1 por item ou 1 por unit serializada) ============================================================================= The business rules and constraints enforced by this mutation are documented in get_movement_rules. Mutations that violate them are rejected. The full structure of the input argument, including nested types, is available from search_schema.
create_equipment
ChatGPT============================================================================= CreateEquipment - Cria um novo equipamento (ativo) ============================================================================= Registra um equipamento (ar-condicionado, máquina, etc.). Use quando o usuário quer cadastrar um novo ativo. O equipamento precisa começar em uma location (instalado) OU em um storage (estoque). ── PARÂMETROS OBRIGATÓRIOS ────────────────────────────────────────────────── name (String!) → Nome do equipamento number (String!) → Número/série único na conta (não-arquivado) equipmentTypeId (UUID!) → ID do tipo de equipamento + UM dos dois: storageId OU locationId ── ONDE O EQUIPAMENTO COMEÇA (escolher um) ───────────────────────────────── storageId (UUID) → Inicia no estoque (status "available" ou "in_storage" dependendo do tipo de storage) locationId (UUID) → Inicia instalado no local. Quando passar locationId, o customerId deve casar com o customer da location. ── PARÂMETROS OPCIONAIS IMPORTANTES ──────────────────────────────────────── id (UUID) → ID customizado (auto se omitido) imageUrl (String) → URL da imagem customerId (Int) → Dono do equipamento (auto-vinculado se vier via locationId) locationSectorId (UUID) → Setor dentro da location (precisa pertencer à location) locationEnvironmentId (UUID) → Ambiente dentro do setor (precisa pertencer ao setor) qrCode (String) → QR Code (deve ser único entre contas Bradesco) notes (String) → Notas purchasedAt / installedAt / replacementDueAt (Datetime) → Datas usageCondition (EquipmentConditionEnum) → new | used | refurbished value (Float) → Valor monetário (>= 0) thermalCapacity (String) → Capacidade térmica no padrão "10", "10.5", "10,5" (regex ^\d+([,.]\d+)?$) thermalMeasure (String) → Unidade (ex.: "BTU", "kW") tag (String, max 20) → Etiqueta livre labelIds ([UUID!]) → Etiquetas a vincular externalId (String) → ID de sistema externo customFields ([EquipmentCustomFieldInput!]) → Campos customizados do tipo ── REGRAS DE NEGÓCIO IMPORTANTES ─────────────────────────────────────────── number deve ser único na conta. value >= 0. thermalCapacity tem padrão. Location deve casar com customer. Chame get_equipment_rules para mais. ── RETORNO ────────────────────────────────────────────────────────────────── { id, name, archived, createdAt } ============================================================================= The business rules and constraints enforced by this mutation are documented in get_equipment_rules. Mutations that violate them are rejected. The full structure of the input argument, including nested types, is available from search_schema.
create_order
ChatGPT============================================================================= CreateOrder - Cria uma nova ordem de serviço (OS) ============================================================================= Cria uma nova ordem de serviço do zero. Use quando o usuário quiser agendar um atendimento de campo para um cliente. Não use para editar uma OS existente (use update_order). ── PARÂMETROS OBRIGATÓRIOS ────────────────────────────────────────────────── serviceId (Int!) → ID do tipo de serviço a ser executado customerId (Int!) → ID do cliente que receberá o atendimento locationId (UUID!) → ID do local do cliente onde o serviço ocorre address (AddressInput!) → Endereço da OS: { street, number, city, state, neighborhood, postalCode, latitude?, longitude? } tasks ([CreateTaskInput!]!) → Array com pelo menos 1 atividade. Cada uma com: • duration (Int): minutos estimados (1-999) • employeeId (Int): técnico atribuído (opc.) • scheduledDate (String): data ISO (opc.) • scheduledTime (String): HH:mm (opc.) • description (String): notas (opc., max 5000) ── PARÂMETROS OPCIONAIS IMPORTANTES ──────────────────────────────────────── identifier (String) → Número humano da OS (auto se omitido) description (String) → Descrição/observações (max 5000 caracteres) labelIds ([UUID!]) → Lista de etiquetas para anexar deadlineContractId (String) → Vincular contrato de SLA/prazo deadlineAt (String) → Sobrescrever data limite (ISO) links (CreateOrderLinksInput) → Vincular setores/ambientes/equipamentos/peças na criação. Mais flexível usar save_order_links depois. attachments ([OrderAttachmentInput]) → Anexos (arquivos já enviados) pmocId (UUID) → Vincular a um plano PMOC ticketId (UUID) → Vincular ticket sendo aceito (raro — prefira accept_ticket_and_create_order) ── REGRAS DE NEGÓCIO IMPORTANTES ─────────────────────────────────────────── Customer, location e service não podem estar arquivados. Customer com featureAllowCreateTask=false bloqueia. Customer corporate (CMMS) exige service do mesmo corporate account. Location deve pertencer ao customer. Chame get_order_rules para a lista completa. ── RETORNO ────────────────────────────────────────────────────────────────── { id, identifier, description, archived, createdAt } ============================================================================= The business rules and constraints enforced by this mutation are documented in get_order_rules. Mutations that violate them are rejected. The full structure of the input argument, including nested types, is available from search_schema.
create_removal_storage_movements
ChatGPT============================================================================= CreateRemovalStorageMovements - Registra saídas de estoque (DESTRUCTIVE) ============================================================================= DESTRUCTIVE: cria movimentações de SAÍDA num storage. Diminui as quantidades em estoque permanentemente. Use para registrar baixas (uso em OS, perda, descarte). Aceita products e part_units (NÃO equipments). ── PARÂMETROS OBRIGATÓRIOS ────────────────────────────────────────────────── storageId (UUID!) → Storage de origem items ([CreateRemovalStorageMovementItemInput!]!) → Lista de itens (>=1) ── ESTRUTURA DE CADA ITEM ────────────────────────────────────────────────── entityType (StorageMovementEntityTypeEnum!) → "product" ou "part_unit" itemId (UUID!) → ID do produto ou part_unit quantity (Float!) → Quantidade a remover > 0 (NÃO pode exceder saldo) value (Float) → Valor unitário (opcional, >= 0) usageCondition (String) → Condição (opcional) externalId (String) → ID de sistema externo ── PARÂMETROS OPCIONAIS ───────────────────────────────────────────────────── identifier (String) → Identificador legível (3-50 chars, único na conta) description (String) → Descrição livre (max 1000) integration (String) → Sistema de origem ── REGRAS DE NEGÓCIO IMPORTANTES ─────────────────────────────────────────── Para products, a quantidade pedida NÃO pode exceder o saldo atual no storage (invalid_removal_quantity). Storage deve existir, items não vazios, itemId deve existir. Chame get_movement_rules para mais. ── RETORNO ────────────────────────────────────────────────────────────────── [{ id }] ============================================================================= The business rules and constraints enforced by this mutation are documented in get_movement_rules. Mutations that violate them are rejected. The full structure of the input argument, including nested types, is available from search_schema.
create_task
ChatGPT============================================================================= CreateTask - Cria uma nova atividade/tarefa dentro de uma OS ============================================================================= Cria uma nova task (atividade/visita) dentro de uma OS existente. Use para agendar visitas adicionais, ou dividir trabalho entre vários técnicos/dias. Não use para editar tasks existentes (use update_task). ── PARÂMETROS OBRIGATÓRIOS ────────────────────────────────────────────────── duration (Int!) → Minutos estimados (1-999) ── PARÂMETROS OPCIONAIS IMPORTANTES ──────────────────────────────────────── orderId (UUID) → OS pai (necessário a menos que vc crie via outro fluxo que já define o orderId) employeeId (Int) → Técnico atribuído secondaryEmployeeIds ([Int!]) → Técnicos secundários/backup scheduledDate (String) → Data ISO (obrigatória se a conta não tem taskEnablePendingStatus) scheduledTime (String) → HH:mm description (String) → Notas (max 5000 caracteres) position (Int) → Ordem na lista de tasks pmocId (UUID) → Vincular a um plano PMOC contractId (UUID) → Vincular a um contrato ── REGRAS DE NEGÓCIO IMPORTANTES ─────────────────────────────────────────── scheduledDate não pode ser antes da criação da OS (a menos que a conta tenha featureCreateTaskWithPastDate). Employee deve ter skill para o service da OS. Chame get_task_rules para a lista completa. ── RETORNO ────────────────────────────────────────────────────────────────── { id, receivedAt } ============================================================================= The business rules and constraints enforced by this mutation are documented in get_task_rules. Mutations that violate them are rejected. The full structure of the input argument, including nested types, is available from search_schema.
create_transfer_storage_movements
ChatGPT============================================================================= CreateTransferStorageMovements - Transfere itens entre dois storages ============================================================================= Cria movimentações de TRANSFERÊNCIA entre dois storages. Diminui o de origem e aumenta o de destino. Diferente de entry/removal, transfer ACEITA equipments além de products e part_units. ── PARÂMETROS OBRIGATÓRIOS ────────────────────────────────────────────────── storageEntryId (UUID!) → Storage destino storageRemovalId (UUID!) → Storage origem (DEVE ser diferente do destino) items ([CreateTransferStorageMovementItemInput!]!) → Lista de itens (>=1) ── ESTRUTURA DE CADA ITEM ────────────────────────────────────────────────── entityType (StorageMovementEntityTypeEnum!) → "product", "part_unit" OU "equipment" (único caso onde equipment é aceito) itemId (UUID!) → ID da entidade quantity (Float!) → Quantidade > 0 value (Float) → Valor unitário (opcional, >= 0) ── PARÂMETROS OPCIONAIS ───────────────────────────────────────────────────── identifier (String) → Identificador legível (3-50 chars, único na conta) description (String) → Descrição livre (max 1000) ── REGRAS DE NEGÓCIO IMPORTANTES ─────────────────────────────────────────── storageEntryId e storageRemovalId devem existir e ser DIFERENTES entre si (TRANSFER_SAME_STORAGE). items não vazio. itemId deve existir. Chame get_movement_rules para a lista completa. ── RETORNO ────────────────────────────────────────────────────────────────── [{ id }] (movimentações criadas — pares entry+removal) ============================================================================= The business rules and constraints enforced by this mutation are documented in get_movement_rules. Mutations that violate them are rejected. The full structure of the input argument, including nested types, is available from search_schema.
delete_order_labels
ChatGPT============================================================================= DeleteOrderLabels - Remove etiquetas específicas de uma OS (DESTRUCTIVE) ============================================================================= DESTRUCTIVE: remove etiquetas específicas sem reescrever a lista completa. Use quando o usuário quer tirar tags pontuais. Pra limpar tudo, prefira save_order_labels com lista vazia. ── PARÂMETROS OBRIGATÓRIOS ────────────────────────────────────────────────── orderId (UUID!) → ID da OS alvo labelIds ([UUID!]!) → IDs das etiquetas a remover ── RETORNO ────────────────────────────────────────────────────────────────── [{ id }] (etiquetas restantes na OS) ============================================================================= The business rules and constraints enforced by this mutation are documented in get_order_rules. Mutations that violate them are rejected. The full structure of the input argument, including nested types, is available from search_schema.
execute_graphql
ChatGPTUse this when no other specific tool covers the data needed. Executes a custom GraphQL query against the Field Control API. Requires a valid GraphQL query string. Do not use when a specific search or get tool is available for the entity.
get_customer_details
ChatGPTUse this when the user asks about a specific customer by ID. Returns complete customer data including name, document number, all contacts, address, tags, statistics and attachments. Do not use for listing multiple customers — use search_customers instead.
get_employee_details
ChatGPTUse this when the user asks about a specific employee or technician by ID. Returns complete employee data including name, email, address, contract details, work schedule, groups, skills and device info. Do not use for listing multiple employees — use search_employees instead.
get_equipment_details
ChatGPTUse this when the user asks about a specific equipment by ID. Returns complete equipment data including name, serial number, model, manufacturer, customer, location and maintenance history. Do not use for listing multiple equipments — use search_equipments instead.
get_equipment_rules
ChatGPTReturns the business rules and constraints enforced by equipment mutations (create_equipment, install_equipment, return_equipment, release_equipment), covering number uniqueness, value/thermal capacity constraints, install location consistency with customer, replacement date rules, lifecycle status transitions and storage restrictions on release.
get_location_details
ChatGPTUse this when the user asks about a specific service location by ID. Returns complete location data including name, address, customer, contacts, attachments, territories and responsible person. Do not use for listing multiple locations — use search_locations instead.
get_movement_rules
ChatGPTReturns the business rules and constraints enforced by storage movement mutations (create_entry_storage_movements, create_removal_storage_movements, create_transfer_storage_movements), covering identifier rules, storage existence, allowed entityType per movement type, quantity/value constraints, item existence and stock balance.
get_order_details
ChatGPTUse this when the user asks about a specific work order by ID or needs detailed information about one order. Returns complete order data including tasks, equipments, customer, employee, services, deadline, address and comments. Do not use for listing multiple orders — use search_orders instead.
get_order_rules
ChatGPTReturns the business rules and constraints enforced by order mutations (create_order, update_order, save_order_quotation, save_order_links and related), including required fields, allowed values and locked fields.
get_part_details
ChatGPTUse this when the user asks about a specific inventory part by ID. Returns complete part data including name, code, description, quantity in stock and unit price. Do not use for listing multiple parts — use search_parts instead.
get_part_unit_details
ChatGPTUse this when the user asks about a specific serialized part unit by ID. Returns complete unit data including serial number, status, location history and associated order. Do not use for listing multiple units — use search_part_units instead.
get_part_unit_rules
ChatGPTReturns the business rules and constraints enforced by part unit mutations (install_part_unit, return_part_unit, release_part_unit), covering install requirements (location OR equipment), sector/environment hierarchy, equipment status, replacement date rules, lifecycle status transitions and storage restrictions on release.
get_product_details
ChatGPTUse this when the user asks about a specific product by ID. Returns complete product data including name, code, description, price and stock info. Do not use for listing multiple products — use search_products instead.
get_quotation_details
ChatGPTUse this when the user asks about a specific quotation or estimate by ID. Returns complete quotation data including items, prices, customer, discounts and approval status. Do not use for listing multiple quotations — use search_quotations instead.
get_service_details
ChatGPTUse this when the user asks about a specific service type by ID. Returns complete service data including name, description, pricing and configuration. Do not use for listing multiple services — use search_services instead.
get_storage_details
ChatGPTUse this when the user asks about a specific storage location or warehouse by ID. Returns complete storage data including name, address and inventory summary. Do not use for listing multiple storages — use search_storages instead.
get_task_details
ChatGPTUse this when the user asks about a specific task by ID. Returns complete task data including description, status, scheduled date, duration, assigned employee, order reference and checklist items. Do not use for listing multiple tasks — use search_tasks instead.
get_task_rules
ChatGPTReturns the business rules and constraints enforced by task mutations (create_task, update_task), covering status transitions, startedAt/completedAt requirements and locked fields.
get_ticket_details
ChatGPTUse this when the user asks about a specific support ticket by ID. Returns complete ticket data including subject, description, status, priority, requester, assigned employee and conversation history. Do not use for listing multiple tickets — use search_tickets instead.
get_ticket_rules
ChatGPTReturns the business rules and constraints enforced by ticket mutations (accept_ticket_and_create_order, cancel_tickets), covering pre-selected customer/location/service constraints, schedule suggestions, expiration, archiving and corporate account alignment.
get_user_details
ChatGPTUse this when the user asks about a specific system user by ID. Returns complete user data including name, email, role, phone and profile settings. Do not use for listing multiple users — use search_users instead.
install_equipment
ChatGPT============================================================================= InstallEquipment - Instala um equipamento em uma location ============================================================================= Muda o status do equipamento para "installed" e vincula-o a uma location (e opcionalmente sector/environment). Use quando o usuário quer registrar que um equipamento foi instalado no campo. ── PARÂMETROS OBRIGATÓRIOS ────────────────────────────────────────────────── id (UUID!) → ID do equipamento locationId (UUID!) → Location onde será instalado ── PARÂMETROS OPCIONAIS ───────────────────────────────────────────────────── locationSectorId (UUID) → Setor (precisa pertencer à locationId) locationEnvironmentId (UUID) → Ambiente (precisa pertencer ao setor) installedAt (Datetime) → Quando foi instalado (default: agora) replacementDueAt (Datetime) → Data prevista de troca (hoje ou futuro) orderId (UUID) → Vincular a uma OS de instalação ── REGRAS DE NEGÓCIO IMPORTANTES ─────────────────────────────────────────── Equipamento não pode estar descartado. Se já tem customer_id, a location deve ser daquele customer. replacementDueAt não pode ser no passado. Chame get_equipment_rules para a lista completa. ── RETORNO ────────────────────────────────────────────────────────────────── { id, name } ============================================================================= The business rules and constraints enforced by this mutation are documented in get_equipment_rules. Mutations that violate them are rejected. The full structure of the input argument, including nested types, is available from search_schema.
install_part_unit
ChatGPT============================================================================= InstallPartUnit - Instala uma unidade serializada de peça ============================================================================= Marca uma part_unit como instalada — vinculando-a a uma location e/ou a um equipamento. Use quando o usuário instalou uma peça em campo. O front tem 2 fluxos: instalar em location (com sector/environment opcionais) ou instalar dentro de um equipamento em estoque. ── PARÂMETROS OBRIGATÓRIOS ────────────────────────────────────────────────── id (UUID!) → ID da part_unit + pelo menos UM de: locationId OU equipmentId ── PARÂMETROS OPCIONAIS ───────────────────────────────────────────────────── locationId (UUID) → Instalar em location locationSectorId (UUID) → Setor (precisa pertencer à locationId) locationEnvironmentId (UUID) → Ambiente (precisa pertencer ao sector) equipmentId (UUID) → Instalar dentro de um equipamento (equipamento NÃO pode estar descartado) installedAt (Datetime) → Quando foi instalado (default: agora) replacementDueAt (Datetime) → Próxima troca (hoje ou futuro) orderId (UUID) → Vincular a uma OS ── REGRAS DE NEGÓCIO IMPORTANTES ─────────────────────────────────────────── Part unit não pode estar descartada. Pelo menos uma de location ou equipment é obrigatória. Sector/environment devem respeitar a hierarquia. Equipment alvo não pode estar descartado. replacementDueAt não pode ser no passado. Chame get_part_unit_rules para a lista completa. ── RETORNO ────────────────────────────────────────────────────────────────── { id } ============================================================================= The business rules and constraints enforced by this mutation are documented in get_part_unit_rules. Mutations that violate them are rejected. The full structure of the input argument, including nested types, is available from search_schema.
introspect_schema
ChatGPTUse this when you need to discover available types, fields and operations in the data model. Introspects the GraphQL schema structure.
release_equipment
ChatGPT============================================================================= ReleaseEquipment - Libera um equipamento da triagem para um storage de uso ============================================================================= Move um equipamento que está em revisão/triagem ("under_review") para um storage operacional. Após release, o equipamento fica disponível pra ser instalado novamente. ── PARÂMETROS OBRIGATÓRIOS ────────────────────────────────────────────────── id (UUID!) → ID do equipamento storageId (UUID!) → Storage destino (não pode ser triagem nem de employee) ── REGRAS DE NEGÓCIO IMPORTANTES ─────────────────────────────────────────── Equipamento DEVE estar com status "under_review". Storage destino NÃO pode ter is_triage=true e NÃO pode estar vinculado a um employee. Chame get_equipment_rules para a lista completa. ── RETORNO ────────────────────────────────────────────────────────────────── { id, name } ============================================================================= The business rules and constraints enforced by this mutation are documented in get_equipment_rules. Mutations that violate them are rejected. The full structure of the input argument, including nested types, is available from search_schema.
release_part_unit
ChatGPT============================================================================= ReleasePartUnit - Libera uma part_unit da triagem para um storage de uso ============================================================================= Move uma part_unit que está em revisão ("under_review") para um storage operacional, ficando disponível pra reuso/instalação. ── PARÂMETROS OBRIGATÓRIOS ────────────────────────────────────────────────── id (UUID!) → ID da part_unit storageId (UUID!) → Storage destino (não triagem, não de employee) ── REGRAS DE NEGÓCIO IMPORTANTES ─────────────────────────────────────────── Part unit DEVE estar com status "under_review". Storage destino NÃO pode ser de triagem (is_triage=true) nem estar vinculado a um employee. Chame get_part_unit_rules para a lista completa. ── RETORNO ────────────────────────────────────────────────────────────────── { id } ============================================================================= The business rules and constraints enforced by this mutation are documented in get_part_unit_rules. Mutations that violate them are rejected. The full structure of the input argument, including nested types, is available from search_schema.
return_equipment
ChatGPT============================================================================= ReturnEquipment - Devolve um equipamento para um storage (almoxarifado) ============================================================================= Marca um equipamento entregue (status "delivered") como devolvido — vai para o storage informado (geralmente triagem). Use quando o usuário quer registrar a devolução pós-uso. ── PARÂMETROS OBRIGATÓRIOS ────────────────────────────────────────────────── id (UUID!) → ID do equipamento storageId (UUID!) → Storage que recebe a devolução ── REGRAS DE NEGÓCIO IMPORTANTES ─────────────────────────────────────────── Equipamento DEVE estar com status "delivered" para ser devolvido. Storage deve existir na conta. Chame get_equipment_rules para a lista completa. ── RETORNO ────────────────────────────────────────────────────────────────── { id, name } ============================================================================= The business rules and constraints enforced by this mutation are documented in get_equipment_rules. Mutations that violate them are rejected. The full structure of the input argument, including nested types, is available from search_schema.
return_part_unit
ChatGPT============================================================================= ReturnPartUnit - Devolve uma part_unit para storage ============================================================================= Marca uma part_unit entregue (status "delivered") como devolvida, indo para o storage informado. Use para registrar devolução pós-uso. ── PARÂMETROS OBRIGATÓRIOS ────────────────────────────────────────────────── id (UUID!) → ID da part_unit storageId (UUID!) → Storage que recebe a devolução ── REGRAS DE NEGÓCIO IMPORTANTES ─────────────────────────────────────────── Part unit DEVE estar com status "delivered". Storage deve existir. Chame get_part_unit_rules para a lista completa. ── RETORNO ────────────────────────────────────────────────────────────────── { id } ============================================================================= The business rules and constraints enforced by this mutation are documented in get_part_unit_rules. Mutations that violate them are rejected. The full structure of the input argument, including nested types, is available from search_schema.
save_order_labels
ChatGPT============================================================================= SaveOrderLabels - Define as etiquetas (tags) de uma OS ============================================================================= Substitui o conjunto de etiquetas associadas a uma ordem de serviço. Use quando o usuário quer adicionar, trocar ou setar tags (ex.: "urgente", "garantia", "retrabalho"). Passe lista vazia para limpar todas. ── PARÂMETROS OBRIGATÓRIOS ────────────────────────────────────────────────── orderId (UUID!) → ID da OS alvo labelIds ([UUID!]!) → Lista COMPLETA de etiquetas a associar (substitui as existentes) ── REGRAS DE NEGÓCIO IMPORTANTES ─────────────────────────────────────────── Chame get_order_rules para a lista completa de constraints. ── RETORNO ────────────────────────────────────────────────────────────────── [{ id, label { id, name, color } }] (lista resultante) ============================================================================= The business rules and constraints enforced by this mutation are documented in get_order_rules. Mutations that violate them are rejected. The full structure of the input argument, including nested types, is available from search_schema.
save_order_links
ChatGPT============================================================================= SaveOrderLinks - Vincula entidades físicas/lógicas a uma OS ============================================================================= Anexa setores, ambientes, equipamentos e/ou unidades de peças a uma ordem de serviço. Cada lista REPLACES a lista existente daquele tipo (não é incremental). Listas omitidas ficam intactas. Para orçamentos use save_order_quotation. ── PARÂMETROS OBRIGATÓRIOS ────────────────────────────────────────────────── orderId (UUID!) → ID da OS alvo + pelo menos UMA das listas abaixo ── LISTAS DE VÍNCULOS (pelo menos uma é obrigatória) ─────────────────────── locationSectorIds ([UUID!]) → Setores do local de atendimento locationEnvironmentIds ([UUID!]) → Ambientes do local equipmentIds ([UUID!]) → Equipamentos sendo atendidos partUnitIds ([UUID!]) → Unidades serializadas de peças ── REGRAS DE NEGÓCIO IMPORTANTES ─────────────────────────────────────────── Equipments devem pertencer ao customer OU à location da OS. Chame get_order_rules para a lista completa. ── RETORNO ────────────────────────────────────────────────────────────────── { id, identifier } (a OS atualizada) ============================================================================= The business rules and constraints enforced by this mutation are documented in get_order_rules. Mutations that violate them are rejected. The full structure of the input argument, including nested types, is available from search_schema.
save_order_products
ChatGPT============================================================================= SaveOrderProducts - Define os produtos consumidos numa OS ============================================================================= Substitui a lista de produtos consumidos/vendidos na ordem de serviço. Use quando o usuário quer registrar produtos usados na execução. Passe lista vazia para limpar. ── PARÂMETROS OBRIGATÓRIOS ────────────────────────────────────────────────── orderId (UUID!) → ID da OS alvo products ([ProductOrServiceInputToSave!]!) → Lista COMPLETA de produtos (substitui a existente) ── ESTRUTURA DE CADA PRODUTO ─────────────────────────────────────────────── id (String!) → ID do produto no catálogo quantity (Float!) → Quantidade consumida value (Float) → Preço unitário (opcional — usa o do catálogo se omitido) ── REGRAS DE NEGÓCIO IMPORTANTES ─────────────────────────────────────────── Chame get_order_rules para a lista completa. ── RETORNO ────────────────────────────────────────────────────────────────── [{ id, quantity, totalValue }] (lista resultante) ============================================================================= The business rules and constraints enforced by this mutation are documented in get_order_rules. Mutations that violate them are rejected. The full structure of the input argument, including nested types, is available from search_schema.
save_order_quotation
ChatGPT============================================================================= SaveOrderQuotation - Vincula um orçamento (quotation) a uma OS ============================================================================= Anexa uma cotação/orçamento a uma ordem de serviço. Tipicamente usado após o cliente aprovar o orçamento. ── PARÂMETROS OBRIGATÓRIOS ────────────────────────────────────────────────── orderId (UUID!) → ID da OS alvo quotationId (UUID!) → ID do orçamento a vincular ── REGRAS DE NEGÓCIO IMPORTANTES ─────────────────────────────────────────── A quotation DEVE pertencer ao mesmo customer da OS. Quotations arquivadas ou com status refused/expired/canceled NÃO podem ser vinculadas — apenas status pending (0) ou approved (1). Chame get_order_rules para mais. ── RETORNO ────────────────────────────────────────────────────────────────── { id, identifier } (a OS atualizada) ============================================================================= The business rules and constraints enforced by this mutation are documented in get_order_rules. Mutations that violate them are rejected. The full structure of the input argument, including nested types, is available from search_schema.
save_order_services
ChatGPT============================================================================= SaveOrderServices - Define os serviços executados numa OS ============================================================================= Substitui a lista de serviços executados na ordem de serviço. Use quando o usuário quer registrar quais serviços foram realizados (e quantidade/preço), tipicamente na conclusão da OS. Passe lista vazia para limpar. ── PARÂMETROS OBRIGATÓRIOS ────────────────────────────────────────────────── orderId (UUID!) → ID da OS alvo services ([ProductOrServiceInputToSave!]!) → Lista COMPLETA de serviços (substitui a existente) ── PARÂMETROS OPCIONAIS ───────────────────────────────────────────────────── taskId (UUID) → Limita os serviços a uma task específica da OS ── ESTRUTURA DE CADA SERVIÇO ─────────────────────────────────────────────── id (String!) → ID do serviço no catálogo quantity (Float!) → Quantidade executada value (Float) → Preço unitário (opcional) ── REGRAS DE NEGÓCIO IMPORTANTES ─────────────────────────────────────────── Chame get_order_rules para a lista completa. ── RETORNO ────────────────────────────────────────────────────────────────── [{ id, quantity, totalValue }] (lista resultante) ============================================================================= The business rules and constraints enforced by this mutation are documented in get_order_rules. Mutations that violate them are rejected. The full structure of the input argument, including nested types, is available from search_schema.
search_customers
ChatGPTUse this when the user wants to find, list or search customers (clientes). Returns paginated results with customer name, document number, contact info and address. Supports filtering by name, city, state, document number, tags and rating. Do not use for getting details of a single customer — use get_customer_details instead.
search_employees
ChatGPTUse this when the user wants to list, search or filter field technicians/employees (técnicos/funcionários). Returns paginated results with employee name, email, groups and contract status. Supports filtering by name, active status, group and territory. Do not use for getting details of a single employee — use get_employee_details instead.
search_equipments
ChatGPTUse this when the user wants to find, list or search equipments (equipamentos). Returns paginated results with equipment name, serial number, model, customer and location. Supports filtering by name, serial number, customer and location. Do not use for getting details of a single equipment — use get_equipment_details instead.
search_locations
ChatGPTUse this when the user wants to find, list or search service locations (locais de atendimento). Returns paginated results with location name, address, customer and contact info. Supports filtering by name, city, state, customer and territory. Do not use for getting details of a single location — use get_location_details instead.
search_order_equipments
ChatGPTUse this when the user wants to see which equipments were serviced in work orders. Returns paginated results with equipment name, order reference and service details.
search_order_parts_used
ChatGPTUse this when the user wants to see which parts were consumed in field service orders. Returns paginated results with part name, quantity, order reference and technician.
search_orders
ChatGPTUse this when the user wants to list, search or filter work orders (ordens de serviço). Returns paginated results with order ID, identifier, status, customer name, scheduled date and assigned employee. Supports filtering by date range, status, customer, employee and territory. Do not use for getting details of a single order — use get_order_details instead.
search_part_types
ChatGPTUse this when the user wants to see part categories or types. Returns list of part types with name and description.
search_part_units
ChatGPTUse this when the user wants to list individual serialized part units. Returns paginated results with unit serial number, status and location. Supports filtering by part and status. Do not use for getting details of a single unit — use get_part_unit_details instead.
search_parts
ChatGPTUse this when the user wants to find or list inventory parts (peças). Returns paginated results with part name, code, quantity and unit price. Supports filtering by name and code. Do not use for getting details of a single part — use get_part_details instead.
search_product_types
ChatGPTUse this when the user wants to see product categories or types. Returns list of product types with name and description.
search_products
ChatGPTUse this when the user wants to find or list products (produtos). Returns paginated results with product name, code and price. Supports filtering by name and type. Do not use for getting details of a single product — use get_product_details instead.
search_quotations
ChatGPTUse this when the user wants to list, search or filter quotations/estimates (orçamentos). Returns paginated results with quotation number, customer, total value, status and date. Supports filtering by status, customer and date range. Do not use for getting details of a single quotation — use get_quotation_details instead.
search_schema
ChatGPTUse this when looking for specific data fields or entities in the schema. Searches for types or fields matching a keyword.
search_services
ChatGPTUse this when the user wants to list or search service types (tipos de serviço). Returns paginated results with service name, description and pricing. Supports filtering by name. Do not use for getting details of a single service — use get_service_details instead.
search_storage_items
ChatGPTUse this when the user wants to check inventory items in a specific warehouse. Returns paginated results with item name, quantity and location within storage.
search_storage_movements
ChatGPTUse this when the user wants to track inventory movements or stock changes (movimentações de estoque). Returns paginated results with movement type, item, quantity, date and responsible person.
search_storage_parts
ChatGPTUse this when the user wants to check part stock levels in a specific storage. Returns paginated results with part name, quantity available and storage location.
search_storage_products
ChatGPTUse this when the user wants to check product stock levels in a specific storage. Returns paginated results with product name, quantity available and storage location.
search_storage_requests
ChatGPTUse this when the user wants to see pending inventory requests from field technicians (requisições de estoque). Returns paginated results with request status, items requested and requester.
search_storages
ChatGPTUse this when the user wants to list storage locations or warehouses (almoxarifados). Returns paginated results with storage name and address. Do not use for getting details of a single storage — use get_storage_details instead.
search_tasks
ChatGPTUse this when the user wants to list, search or filter tasks (atividades/tarefas). Returns paginated results with task ID, description, status, scheduled date, duration and assigned employee. Supports filtering by date range, status, employee and order. Do not use for getting details of a single task — use get_task_details instead.
search_tickets
ChatGPTUse this when the user wants to list, search or filter support tickets (chamados). Returns paginated results with ticket subject, status, priority, requester and creation date. Supports filtering by status, priority, requester and date range. Do not use for getting details of a single ticket — use get_ticket_details instead.
search_users
ChatGPTUse this when the user wants to list or search system users who have access to the account. Returns paginated results with user name, email and role. Supports filtering by name and email. Do not use for getting details of a single user — use get_user_details instead.
search_work_services
ChatGPTUse this when the user wants to list work services performed on orders (serviços executados). Returns paginated results with service name, quantity and value.
update_order
ChatGPT============================================================================= UpdateOrder - Atualiza campos de uma OS existente ============================================================================= Atualiza dados da OS: trocar cliente/local/serviço, mudar prazo, descrição ou mover pra outro contrato/PMOC. Não use para alterar tasks, produtos, serviços ou etiquetas (use mutations dedicadas: update_task, save_order_products, save_order_services, save_order_labels). ── PARÂMETROS OBRIGATÓRIOS ────────────────────────────────────────────────── id (UUID!) → ID da OS a atualizar ── PARÂMETROS OPCIONAIS (omitir um campo deixa inalterado) ───────────────── serviceId (Int) → Trocar tipo de serviço customerId (Int) → Trocar cliente (verifica feature flags) locationId (UUID) → Trocar localização address (AddressInput) → Substituir endereço da OS description (String) → Nova descrição (max 5000) deadlineContractId (String) → Trocar contrato de SLA deadlineAt (String) → Sobrescrever prazo pmocId (UUID) → Re-vincular a um plano PMOC contractId (UUID) → Re-vincular a um contrato ── REGRAS DE NEGÓCIO IMPORTANTES ─────────────────────────────────────────── OS travada (locked=true) não pode ser atualizada. Order metadata pode ter featureDisableEditCustomer/Location/Service/DeadlineContract — esses campos ficam bloqueados. Customer/Location/Service trocados seguem as mesmas regras do create_order (não arquivado, mesma corporate account, etc.). Chame get_order_rules para a lista completa. ── RETORNO ────────────────────────────────────────────────────────────────── { id, identifier, description, archived, createdAt } ============================================================================= The business rules and constraints enforced by this mutation are documented in get_order_rules. Mutations that violate them are rejected. The full structure of the input argument, including nested types, is available from search_schema.
update_task
ChatGPT============================================================================= UpdateTask - Atualiza uma atividade existente ============================================================================= Atualiza uma task: muda status, datas, duração, técnico ou descrição. Use para marcar task como iniciada/concluída/cancelada, reagendar, trocar técnico ou editar detalhes. Cada status tem requisitos próprios de campos. ── PARÂMETROS OBRIGATÓRIOS ────────────────────────────────────────────────── id (UUID!) → ID da task a atualizar ── PARÂMETROS OPCIONAIS (omitir deixa inalterado) ────────────────────────── status (String) → Um dos valores TaskStatus: • pending → Pendente (sem agendamento) • scheduled → Agendada • in_progress → Em execução • on_route → Em deslocamento • done → Concluída • canceled → Cancelada • reported → Impedida (relatou problema) statusDescription (String) → Permitido APENAS para done/canceled/reported reportedReason (String) → OBRIGATÓRIO quando status=reported e a conta tem taskEnableReportedReason startedAt (Datetime) → OBRIGATÓRIO quando status ∈ {in_progress, done, canceled, reported}; NULL quando status ∈ {pending, scheduled, on_route}; não pode ser no futuro (a menos que a conta permita) completedAt (Datetime) → OBRIGATÓRIO quando status ∈ {done, canceled, reported}; NULL nos outros; deve ser >= startedAt employeeId (Int) → Trocar técnico principal secondaryEmployeeIds ([Int!]) → Trocar técnicos secundários scheduledDate / scheduledTime → Reagendar duration (Int, 1-999) → Atualizar duração description (String, max 5000) → Atualizar descrição latitude / longitude (Float) → Coordenadas (start/complete) archived (Boolean) → Arquivar/desarquivar pmocId (UUID) → Re-vincular a um PMOC ── REGRAS DE NEGÓCIO IMPORTANTES ─────────────────────────────────────────── Order metadata pode bloquear edição de status (featureDisableEditTaskStatus + featureDisableCancelTaskStatus), startedAt, completedAt. Chame get_task_rules para a lista completa. ── RETORNO ────────────────────────────────────────────────────────────────── { id, receivedAt, completedAt } ============================================================================= The business rules and constraints enforced by this mutation are documented in get_task_rules. Mutations that violate them are rejected. The full structure of the input argument, including nested types, is available from search_schema.
validate_query
ChatGPTUse this when you need to check if a GraphQL query is syntactically correct before executing it. Validates a query against the schema without running it.
accept_ticket_and_create_order
Claudecancel_tickets
Claudecreate_entry_storage_movements
Claudecreate_equipment
Claudecreate_order
Claudecreate_removal_storage_movements
Claudecreate_task
Claudecreate_transfer_storage_movements
Claudedelete_order_labels
Claudeget_customer_details
Claudeget_employee_details
Claudeget_equipment_details
Claudeget_equipment_rules
Claudeget_location_details
Claudeget_movement_rules
Claudeget_order_details
Claudeget_order_rules
Claudeget_part_details
Claudeget_part_unit_details
Claudeget_part_unit_rules
Claudeget_product_details
Claudeget_quotation_details
Claudeget_service_details
Claudeget_storage_details
Claudeget_task_details
Claudeget_task_rules
Claudeget_ticket_details
Claudeget_ticket_rules
Claudeget_user_details
Claudeinstall_equipment
Claudeinstall_part_unit
Claudeintrospect_schema
Clauderelease_equipment
Clauderelease_part_unit
Claudereturn_equipment
Claudereturn_part_unit
Claudesave_order_labels
Claudesave_order_links
Claudesave_order_products
Claudesave_order_quotation
Claudesave_order_services
Claudesearch_customers
Claudesearch_employees
Claudesearch_equipments
Claudesearch_locations
Claudesearch_orders
Claudesearch_part_units
Claudesearch_parts
Claudesearch_products
Claudesearch_quotations
Claudesearch_schema
Claudesearch_services
Claudesearch_storages
Claudesearch_tasks
Claudesearch_tickets
Claudesearch_users
Claudeupdate_order
Claudeupdate_task
Claudevalidate_query
Claude