NAV Navigation
Code

API Field Control

Esse documento descreve os recursos que compõe a API de Integração oficial do Field Control.

Introdução

A API do Field Control tem como base conceitos de arquitetura REST.

Os endpoints da API são organizados em torno de recursos, como ordens de serviço, comentários ou formulários. Os recursos são representados em JSON, ações pelos métodos do HTTP e os erros por HTTP status code.

Autenticação

Todas as requisições para a API são autenticadas fornecendo sua chave de API.

A chave da API deve ser fornecida como um cabeçalho HTTP chamado X-Api-Key.

Header

curl -H "X-Api-Key: SUA_KEY" https://carchost.fieldcontrol.com.br/

Como obtenho minha chave?

Usuários com perfil de administrador podem gerenciar as chaves de acesso ou API keys no Painel de gestão pelo link: https://app.fieldcontrol.com.br/#/configuracoes/configuracao-para-desenvolvedores

Ao acessar o painel, na seção "Chave de integração", clique no link demonstrado na imagem abaixo.

Em seguida, dê um nome para sua chave e clique em "Criar".

Pronto! Sua chave foi criada.

Métodos HTTP

A API usa métodos padrões do HTTP para indicar a ação a ser executada em um recurso.

MétodoAção
GETRecupera um recurso existente
POSTCria um novo recurso
PUTAtualiza um recurso existente
DELETEExclui um recurso existente

Schema

O corpo das requisições e das respostas da API são representadas no formato JSON. Todos os timestamps são retornados no formato ISO 8601: YYYY-MM-DDTHH:MM:SSZ sempre em UTC.

Recursos individuais

Os recursos individuais são representados de forma singular. Ao lado, segue uma representação de um serviço.

Exemplo de resultado individual de serviço:

{
  "name": "Manutenção corretiva",
  "duration": 60,
  "archived": false
}

Lista de recursos

As listas de recursos são representadas por um membro de nível mais alto chamado items e no nível mais abaixo, encontram-se os recursos.

O membro totalCount representa o número total de registros do recurso solicitado.

Exemplo de resultado de uma listagem de serviços:

GET https://carchost.fieldcontrol.com.br/services

{
  "items": [
    {
      "name": "Instalação",
      "duration": 60,
      "archived": false
    },
    {
      "name": "Reparo",
      "duration": 30,
      "archived": false
    },
    {
      "name": "Reforma",
      "duration": 120,
      "archived": false
    }
  ],
  "totalCount": 3
}

Paginação, Filtros e Ordenação de resultados

Paginação

Os endpoints que retornam listas de recursos devem limitar o número de registros retornados em uma resposta. O parâmetro limit da query deve ser usado para alterar o número de registros retornados.

Um endpoint irá retornar 10 registros por padrão e permite, no máximo, retornar 100 registros.

O parâmetro offset da query deve ser usado para deslocar um conjunto de resultados. Esses parâmetros podem ser combinados para recuperar todos os recursos de uma lista por meio de uma série de requisições que incrementam o offset pelo valor do limit em cada uma delas.

Para utilizar os dois parâmetros na mesma requisição, basta separá-los com &, como por exemplo:

https://carchost.fieldcontrol.com.br/services?limit=20&offset=40.

ParâmetroDescrição
limitO número de resultados que devem ser retornados em cada página (padrão = 10; máximo = 100)
offsetO ponto de início do conjunto de resultados de uma página. O valor padrão do índice é 0

Por exemplo, se existem 345 registros e o parâmetro limit é igual ao valor padrão (10), use offset=10 para recuperar a próxima página de resultados.

O número total de registros em uma lista pode ser encontrado na propriedade totalCount da resposta.

Filtros

Os filtros permitem refinar a consulta de um determinada lista. Para aplicar um filtro, deve ser inserido ?q=chave:"valor" logo após o endpoint na URL. Cada recurso é compatível com um tipo de parâmetro.

Por exemplo, serviços podem ser filtrados por nome.

Serviços filtrados por nome

GET https://carchost.fieldcontrol.com.br/services?q=name:"Instalação"

{
  "items": [
    {
      "id": "NTox",
      "name": "Instalação",
      "duration": 60,
      "archived": false
    }
  ],
  "totalCount": 1
}

É possível aplicar mais de um filtro na mesma requisição, basta separar os parâmetros por espaço na query. Por exemplo:

Consulta com mais de um filtro

GET https://carchost.fieldcontrol.com.br/customer?q=name:"Luiz Freneda" document_number:"59784800870"

{
  "items": [
    {
      "id": "NTox",
      "name": "Luiz Freneda",
      "documentNumber": "59784800870",
      "contact": {
        "email": "luiz@fieldcontrol.com.br",
        "phone": "17996584235"
      },
      "address": {
        "zipCode": "15085480",
        "street": "Rua Padre Clemente Marton Segura",
        "number": "51",
        "neighborhood": "Higienópolis",
        "complement": "Sobrado amarelo",
        "city": "São José do Rio Preto",
        "state": "São Paulo",
        "coords": {
          "latitude": -20.836378,
          "longitude": -49.38591
        }
      },
      "statistics": {
        "updatedAt": null,
        "service": {
          "firstAt": null,
          "lastAt": null,
          "total": 0
        },
        "rating": {
          "averageStars": 0,
          "lastComment": null,
          "lastStar": 0
        }
      },
      "archived": false
    }
  ],
  "totalCount": 1
}

Alguns filtros podem utilizar de operadores condicionais, como o parâmetro created_at. Para aplicar o filtro com o operador condicional compatível, basta colocá-lo no final do nome do parâmetro.

Por exemplo, para filtrar os resultados de um recurso por data de criação maior ou igual a 2020-06-12 o filtro ficaria &q=created_at>=:2020-06-12. Para resultados exatos, utiliza-se o parâmetro sem operador condicional, como: &q=created_at:2020-06-12T15:20:00Z

Ordenação de resultados

Os endpoints que retornam listas de recursos podem ter seus resultados ordenados. Para aplicar uma ordenação, deve ser inserido &sort=valor após o endpoint na URL. Os dados podem ser organizados em ordem ascendente ou em ordem descendente, para isso, é necessário incluir - junto do valor de sort para que os resultados sejam mostrados em ordem descendente e somente valor para que os resultados sejam mostrados em ordem ascendente.

Por exemplo, as ordens de serviços podem ser ordenadas pela data de criação, então seria &sort=created_at para a ordenação ascendente dos resultados e &sort=-created_at para a ordenação descendente dos resultados.

Exemplo de requisição para recuperar lista de clientes em ordem descendente da data de criação (mais recente primeiro):

curl -X GET https://carchost.fieldcontrol.com.br/customers&limit=2&sort=-created_at \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here'

Exemplo de resposta de sucesso:

{
  "items": [
    {
      "id": "MTox",
      "name": "Eduardo Luiz Santos",
      "code": "e1eb7458ff84",
      "contact": {
        "email": "edu@fieldcontrol.com.br",
        "phone": "17996543210"
      },
      "address": {
        "zipCode": "05422010",
        "street": "Rua dos Pinheiros",
        "number": "383",
        "neighborhood": null,
        "complement": null,
        "city": "São Paulo",
        "state": "São Paulo",
        "coords": {
          "latitude": -23.565217,
          "longitude": -46.681819
        }
      },
      "statistics": {
        "updatedAt": null,
        "service": {
          "firstAt": null,
          "lastAt": null,
          "total": 0
        },
        "rating": {
          "averageStars": 0,
          "lastComment": null,
          "lastStar": 0
        }
      },
      "createdAt": "2020-06-12T15:35:06Z"
    },
    {
      "id": "MTI0NTY2OjMyNjM1",
      "name": "Maria Luiza dos Reis",
      "code": "5adf68asf87h",
      "contact": {
        "email": "mluiza@gmail.com",
        "phone": "11996874231"
      },
      "address": {
        "zipCode": "06874139",
        "street": "Rua dos Trabalhadores",
        "number": "500",
        "neighborhood": null,
        "complement": null,
        "city": "São Paulo",
        "state": "São Paulo",
        "coords": {
          "latitude": -23.567891,
          "longitude": -46.64712
        }
      },
      "statistics": {
        "updatedAt": null,
        "service": {
          "firstAt": null,
          "lastAt": null,
          "total": 0
        },
        "rating": {
          "averageStars": 0,
          "lastComment": null,
          "lastStar": 0
        }
      },
      "createdAt": "2020-06-10T1:00:06Z"
    }
  ],
  "totalCount": 200
}

Erros

A API utiliza o status code do HTTP para indicar que ocorreu um erro enquanto processava a requisição.

HTTP StatusCodeDescrição
401A API key é inválida
429Quantidade máxima de requisições por segundo ultrapassada
404O recurso não pode ser encontrado
422A requisição não pôde ser processada, possivelmente devido à falta de um parâmetro ou um parâmetro inválido

No caso do erro 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Segue o exemplo abaixo:

{
  "code": "resourceValidationErr",
  "errors": [
    {
      "code": null,
      "reason": "optional",
      "message": "is missing and not optional",
      "property": "@.address"
    }
  ]
}

Rate Limits

A API permite que a aplicação cliente possa fazer uma requisição por segundo. Contas com alta demanda podem entrar em contato conosco para obter uma solução de limite personalizada.

Headers obrigatórios

Para garantir a segurança e o correto funcionamento ao consumir nossa API de integração, é essencial incluir os seguintes headers em suas requisições:

Certifique-se de que todos os headers obrigatórios estão presentes em suas requisições para evitar problemas de autenticação e roteamento.

Bibliotecas oficiais

As bibliotecas oficiais da API Field Control permitem simplificar e reduzir o montante de código que você precisa escrever para utilizar os recursos disponíveis.

As bibliotecas oficiais são de código aberto e ao clicar nos logos abaixo você será redirecionado para a página do repositório no GitHub. Lá, você encontrará todas as instruções de como instalar e utilizar a biblioteca.

Confira as bibliotecas oficias disponíveis:

Clientes

Clientes são os consumidores finais dos serviços prestados (tipos de OSs), seja ele uma pessoa física ou jurídica.

Parâmetros

NomeTipoDescrição
idstringIdentificador do cliente
name*stringNome do cliente
documentNumberstringNúmero do CPF ou CNPJ do cliente (somente números)
external.idstringIdentificador externo
codestringCódigo do cliente
notesstringObservações do cliente
contact.emailstringE-mail principal de contato do cliente (somente leitura)
contact.phonestringTelefone principal de contato do cliente (apenas números e somente leitura)
primaryLocation.idstringId da localização primária vinculada (somente leitura)
address.zipCodestringCEP - Código de endereço postal (apenas números)
address.city*stringNome da cidade referente ao CEP
address.state*stringNome do estado referente ao CEP
address.neighborhoodstringNome do bairro referente ao CEP
address.streetstringNome do logradouro referente ao CEP
address.numberstringNúmero da residência/prédio
address.complementstringInformação adicional do endereço
address.coords.latitude*floatLatitude - Coordenada geográfica do local de atendimento
address.coords.longitude*floatLongitude - Coordenada geográfica do local de atendimento
statistics.updatedAtstringData da última atualização dos dados estatísticos (somente leitura)
statistics.service.firstAtstringData do primeiro atendimento feito ao cliente (somente leitura)
statistics.service.lastAtstringData do último atendimento feito ao cliente (somente leitura)
statistics.service.totalintegerNúmero total de atendimentos feitos ao cliente (somente leitura)
statistics.rating.averageStarsintegerNota média (0 a 5) de todas as avaliação feita pelo cliente (somente leitura)
statistics.rating.lastCommentstringÚltimo comentário feito pelo cliente (somente leitura)
statistics.rating.lastStarintegerNota (0 a 5) da última avaliação feita pelo cliente (somente leitura)
archived*booleanIndica se o cliente está arquivado

Atenção: As propriedades com * são obrigatórias

Usuários podem gerenciar os clientes no Painel de gestão pelo link: https://app.fieldcontrol.com.br/#/clientes

Caso seu sistema não possua dados de geolocalização para seus clientes, veja essa seção.

Criar um cliente

Cria um novo cliente

MétodoEndpoint
POSThttps://carchost.fieldcontrol.com.br/customers
Status CodeDescrição
201Cliente criado com sucesso
422Cliente enviado contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Exemplo de requisição para criação de um cliente:

curl -X POST https://carchost.fieldcontrol.com.br/customers \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here' \
  --data-binary \
  '{
    "name": "Nicola Zagari",
    "code": "22f30236efad",
    "notes": null,
    "external": {
      "id": null
    },
    "address": {
      "zipCode": "05432070",
      "street": "R. Fidalga",
      "number": "66",
      "neighborhood": "Vila Madalena",
      "complement": "Prédio branco",
      "city": "São Paulo",
      "state": "SP",
      "coords": {
        "latitude": -23.558418,
        "longitude": -46.688081
      }
    }
  }' \
  --compressed

Exemplo de resposta de sucesso:

{
  "id": "NTc4NTQ1OjIyOTE1",
  "name": "Nicola Zagari",
  "code": "22f30236efad",
  "notes": null,
  "external": {
    "id": null
  },
  "documentNumber": null,
  "contact": {
    "email": null,
    "phone": null
  },
  "primaryLocation": {
    "id": "NmJlZTk4ZWQtNGRjZC00MTYyLTgwYWYtODFjNzk3OGNhN2FhOjE="
  },
  "address": {
    "zipCode": "05432070",
    "street": "R. Fidalga",
    "number": "66",
    "neighborhood": "Vila Madalena",
    "complement": "Prédio branco",
    "city": "São Paulo",
    "state": "SP",
    "coords": {
      "latitude": -23.558418,
      "longitude": -46.688081
    }
  },
  "statistics": {
    "updatedAt": null,
    "service": {
      "firstAt": null,
      "lastAt": null,
      "total": 0
    },
    "rating": {
      "averageStars": 0,
      "lastComment": null,
      "lastStar": 0
    }
  }
}

Recuperar um cliente

Recupera um cliente existente por id.

MétodoEndpoint
GEThttps://carchost.fieldcontrol.com.br/customers/:id
Status CodeDescrição
200Cliente recuperado com sucesso
404Cliente não encontrado
422Requisição contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Exemplo de requisição para recuperar um cliente:

curl -X GET https://carchost.fieldcontrol.com.br/customers/:id \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here'

Exemplo de resposta de sucesso:

{
  "id": "MTox",
  "name": "Eduardo Luiz Santos",
  "code": "ef2bf873154c",
  "external": {
    "id": "194a98af-bcea-4561-bc21-cc706d925827"
  },
  "notes": null,
  "contact": {
    "email": "edu@fieldcontrol.com.br",
    "phone": "17996543210"
  },
  "primaryLocation": {
    "id": "NmJlZTk4ZWQtNGRjZC00MTYyLTgwYWYtODFjNzk3OGNhN2FhOjE=",
  },
  "address": {
    "zipCode": "05422010",
    "street": "Rua dos Pinheiros",
    "number": "383",
    "neighborhood": null,
    "complement": null,
    "city": "São Paulo",
    "state": "São Paulo",
    "coords": {
      "latitude": -23.565217,
      "longitude": -46.681819
    }
  },
  {
    "statistics": {
    "updatedAt": null,
    "service": {
      "firstAt": null,
      "lastAt": null,
      "total": 0
    },
    "rating": {
      "averageStars": 0,
      "lastComment": null,
      "lastStar": 0
    }
  }
}

Atualizar um cliente

Atualiza um cliente existente

MétodoEndpoint
PUThttps://carchost.fieldcontrol.com.br/customers/:id
Status CodeDescrição
200Cliente atualizado com sucesso
422Cliente enviado contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Exemplo de requisição para atualização de um cliente:

curl -X PUT https://carchost.fieldcontrol.com.br/customers/:id \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here' \
  --data-binary \
  '{
    "name": "Luiz Freneda",
    "code": "05e67c054594",
    "notes": null,
    "documentNumber": "27032236881",
    "external": {
      "id": "aa282c35-ec38-4c07-b017-f7ea4fccdcca"
    },
    "address": {
      "zipCode": "15085480",
      "street": "Rua Padre Clemente Marton Segura",
      "number": "51",
      "neighborhood": "Higienópolis",
      "complement": "Sobrado amarelo",
      "city": "São José do Rio Preto",
      "state": "São Paulo",
      "coords": {
        "latitude": -20.836378,
        "longitude": -49.38591
      }
    }
  }' \
  --compressed

Exemplo de resposta de sucesso:

{
  "id": "NTAxMDc0OjIyOTE1",
  "name": "Luiz Freneda",
  "code": "05e67c054594",
  "notes": null,
  "documentNumber": "27032236881",
  "external": {
    "id": "aa282c35-ec38-4c07-b017-f7ea4fccdcca"
  },
  "contact": {
    "email": "luiz@fieldcontrol.com.br",
    "phone": "17996584235"
  },
  "primaryLocation": {
    "id": "NmJlZTk4ZWQtNGRjZC00MTYyLTgwYWYtODFjNzk3OGNhN2FhOjE="
  },
  "address": {
    "zipCode": "15085480",
    "street": "Rua Padre Clemente Marton Segura",
    "number": "51",
    "neighborhood": "Higienópolis",
    "complement": "Sobrado amarelo",
    "city": "São José do Rio Preto",
    "state": "São Paulo",
    "coords": {
      "latitude": -20.836378,
      "longitude": -49.38591
    }
  },
  "statistics": {
    "updatedAt": null,
    "service": {
      "firstAt": null,
      "lastAt": null,
      "total": 0
    },
    "rating": {
      "averageStars": 0,
      "lastComment": null,
      "lastStar": 0
    }
  }
}

Listar clientes

Lista clientes existentes

MétodoEndpoint
GEThttps://carchost.fieldcontrol.com.br/customers/
Status CodeDescrição
200Clientes recuperados com sucesso
422Requisição contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Filtros disponíveis para a listagem de clientes:

ParâmetroOperadoresDescrição
archivedNenhumArquivado
nameNenhumNome do cliente
document_numberNenhumDocumento do cliente
external_idNenhumIdentificador externo
codeNenhumCódigo do cliente
created_at>=, <=, > e <Data de criação

Valores disponíveis para ordenação de resultados:

ValorDescrição
created_atData de criação em ordem ascendente
-created_atData de criação em ordem descendente

Exemplo de requisição para recuperar lista de clientes:

curl -X GET https://carchost.fieldcontrol.com.br/customers \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here'

Exemplo de resposta de sucesso:

{
  "items": [
    {
      "id": "MTox",
      "name": "Eduardo Luiz Santos",
      "code": "e1eb7458ff84",
      "notes": null,
      "external": {
        "id": "194a98af-bcea-4561-bc21-cc706d925827"
      },
      "contact": {
        "email": "edu@fieldcontrol.com.br",
        "phone": "17996543210"
      },
      "primaryLocation": {
        "id": "NmJlZTk4ZWQtNGRjZC00MTYyLTgwYWYtODFjNzk3OGNhN2FhOjE=",
      },
      "address": {
        "zipCode": "05422010",
        "street": "Rua dos Pinheiros",
        "number": "383",
        "neighborhood": null,
        "complement": null,
        "city": "São Paulo",
        "state": "São Paulo",
        "coords": {
          "latitude": -23.565217,
          "longitude": -46.681819
        }
      },
      {
        "statistics": {
        "updatedAt": null,
        "service": {
          "firstAt": null,
          "lastAt": null,
          "total": 0
        },
        "rating": {
          "averageStars": 0,
          "lastComment": null,
          "lastStar": 0
        }
      },
      "createdAt": "2020-06-12T15:35:06Z"
    }
  ],
  "totalCount": 1
}

Informações de contato

As informações de contato de um cliente são compostas por telefone e e-mail.

Telefones

São todos os telefones associados a um cliente.

Parâmetros

NomeTipoDescrição
idstringIdentificador do telefone
number*stringNúmero do telefone
type*stringTipo do telefone
primarybooleanSe o telefone é o principal, com valor padrão false

Atenção: As propriedades com * são obrigatórias

Usuários podem gerenciar os clientes no Painel de gestão pelo link: https://app.fieldcontrol.com.br/#/clientes

Parâmetro type e seus valores

ValorDescrição
homeTelefone domiciliar
mobileTelefone móvel
workTelefone de trabalho

Criar um telefone

Cria um telefone.

MétodoEndpoint
POSThttps://carchost.fieldcontrol.com.br/customers/:id/phones
Status CodeDescrição
201Telefone criado com sucesso
422Requisição contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Exemplo de requisição para criação de um telefone de um cliente:

curl -X POST https://carchost.fieldcontrol.com.br/customers/:id/phones \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here' \
  --data-binary \
  '{
    "number": "17996085421",
    "type": "mobile",
    "primary": true
  }' \
  --compressed

Exemplo de resposta de sucesso:

{
  "id": "NmJlZTk4ZWQtNGRjZC00MTYyLTgwYWYtODFjNzk3OGNhN2FhOjE=",
  "number": "17996085421",
  "type": "mobile",
  "primary": true
}

Atualizar um telefone

Atualiza um telefone existente.

MétodoEndpoint
PUThttps://carchost.fieldcontrol.com.br/customers/:id/phones/:phone_id
Status CodeDescrição
200Telefone atualizado com sucesso
404Cliente ou telefone não encontrado
422Requisição contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Exemplo de requisição para atualizar um telefone:

curl -X GET https://carchost.fieldcontrol.com.br/customers/:id/phones/:phone_id \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here'
  --data-binary \
  '{
    "number": "17996089867",
    "type": "mobile"
  }' \
  --compressed

Exemplo de resposta de sucesso:

{
  "id": "NmJlZTk4ZWQtNGRjZC00MTYyLTgwYWYtODFjNzk3OGNhN2FhOjE=",
  "number": "17996089867",
  "type": "mobile",
  "primary": true
}

Listar telefones

Lista todos os telefones do cliente.

MétodoEndpoint
GEThttps://carchost.fieldcontrol.com.br/customers/:id/phones
Status CodeDescrição
200Telefones listados com sucesso
404Cliente não encontrado
422Requisição contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Exemplo de requisição para listar os telefones de um cliente:

curl -X GET https://carchost.fieldcontrol.com.br/customers/:id/phones \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here'

Exemplo de resposta de sucesso:

{
  "items": [
    {
      "id": "Y2U4M2YyOTgtZTg1Ni00YjRlLTk0OTMtOWEwODEyN2E4ZWQwOjE=",
      "number": "17996854723",
      "type": "work",
      "primary": false
    },
    {
      "id": "MGUwYzdmYzQtZGZhZS00OWFiLThlNzYtNjJjYWYyNDk4NWFhOjE=",
      "number": "17996325412",
      "type": "mobile",
      "primary": true
    }
  ],
  "totalCount": 2
}

Remover um telefone

Remove um telefone existente.

MétodoEndpoint
DELETEhttps://carchost.fieldcontrol.com.br/customers/:id/phones/:phone_id
Status CodeDescrição
204Telefone removido com sucesso (corpo da resposta é vazio)
404Cliente ou telefone não encontrado

Exemplo de requisição para remover um telefone de um cliente:

curl -X GET https://carchost.fieldcontrol.com.br/customers/:id/phones/:phone_id \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here'

E-mails

São todos os e-mails associados a um cliente.

Parâmetros

NomeTipoDescrição
idstringIdentificador do e-mail
address*stringEndereço eletrônico
type*stringTipo do e-mail
primarybooleanSe o e-mail é o principal e seu valor padrão é false

Atenção: As propriedades com * são obrigatórias

Usuários podem gerenciar os clientes no Painel de gestão pelo link: https://app.fieldcontrol.com.br/#/clientes

Parâmetro type e seus valores

ValorDescrição
personalE-mail pessoal
workE-mail de trabalho

Criar um e-mail

Cria um e-mail.

MétodoEndpoint
POSThttps://carchost.fieldcontrol.com.br/customers/:id/emails
Status CodeDescrição
201E-mail criado com sucesso
422Requisição contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Exemplo de requisição para criação de um e-mail de um cliente:

curl -X POST https://carchost.fieldcontrol.com.br/customers/:id/emails \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here' \
  --data-binary \
  '{
    "address": "andre@gmail.com",
    "type": "personal",
    "primary": true
  }' \
  --compressed

Exemplo de resposta de sucesso:

{
  "id": "NmJlZTk4ZWQtNGRjZC00MTYyLTgwYWYtODFjNzk3OGNhN2FhOjE=",
  "address": "andre@gmail.com",
  "type": "personal",
  "primary": true
}

Atualizar um e-mail

Atualiza um e-mail existente.

MétodoEndpoint
PUThttps://carchost.fieldcontrol.com.br/customers/:id/emails/:email_id
Status CodeDescrição
200E-mail atualizado com sucesso
404Cliente ou e-mail não encontrado
422Requisição contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Exemplo de requisição para atualizar um e-mail:

curl -X GET https://carchost.fieldcontrol.com.br/customers/:id/emails/:email_id \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here'
  --data-binary \
  '{
    "address": "andre@empresa.com.br",
    "type": "work"
  }' \
  --compressed

Exemplo de resposta de sucesso:

{
  "id": "NmJlZTk4ZWQtNGRjZC00MTYyLTgwYWYtODFjNzk3OGNhN2FhOjE=",
  "address": "andre@empresa.com.br",
  "type": "work",
  "primary": true
}

Listar e-mails

Lista todos os e-mails do cliente.

MétodoEndpoint
GEThttps://carchost.fieldcontrol.com.br/customers/:id/emails
Status CodeDescrição
200E-mails listados com sucesso
404Cliente não encontrado

Exemplo de requisição para listar os e-mails de um cliente:

curl -X GET https://carchost.fieldcontrol.com.br/customers/:id/emails \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here'

Exemplo de resposta de sucesso:

{
  "items": [
    {
      "id": "Y2U4M2YyOTgtZTg1Ni00YjRlLTk0OTMtOWEwODEyN2E4ZWQwOjE=",
      "address": "andre@empresa.com.br",
      "type": "work",
      "primary": false
    },
    {
      "id": "MGUwYzdmYzQtZGZhZS00OWFiLThlNzYtNjJjYWYyNDk4NWFhOjE=",
      "address": "andre@gmail.com",
      "type": "personal",
      "primary": true
    }
  ],
  "totalCount": 2
}

Remover um e-mail

Remove um e-mail existente.

MétodoEndpoint
DELETEhttps://carchost.fieldcontrol.com.br/customers/:id/emails/:email_id
Status CodeDescrição
204E-mail removido com sucesso (corpo da resposta é vazio)
404Cliente ou e-mail não encontrado

Exemplo de requisição para remover um e-mail de um cliente:

curl -X GET https://carchost.fieldcontrol.com.br/customers/:id/emails/:email_id \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here'

Etiquetas do cliente

São as etiquetas vinculadas a um cliente.

Parâmetros

NomeTipoDescrição
idstringIdentificador da etiqueta
namestringNome da etiqueta
typenumberTipo da etiqueta
colorstringCor da etiqueta

Type O type sempre será 1, pois é referente às etiquetas de clientes.

Listar as etiquetas do cliente

Recupera todas as etiquetas de um cliente por id do cliente.

MétodoEndpoint
GEThttps://carchost.fieldcontrol.com.br/customers/:id/labels
Status CodeDescrição
200Etiqueta recuperada com sucesso
404Cliente ou etiqueta não encontrada
422Requisição contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Exemplo de resposta de sucesso:

{
  "items": [
    {
      "id": "Mjk3NzI2ZDAtMzAxZC00ZGU2LWI5YTQtZTQzOWI4MWY0NGJhOjE=",
      "name": "Contrato",
      "color": "yellow",
      "type": 1
    },
    {
      "id": "MWRiNmUwN2YtOTFlMi00MmZiLWI2NWMtOWEzNjRiNmJhZDRjOjE=",
      "name": "Particular",
      "color": "purple",
      "type": 1
    }
  ],
  "totalCount": 2
}

Inserir etiquetas em um cliente

Vincular uma etiqueta a um cliente.

Parâmetros

NomeTipoDescrição
label.idstringIdentificador da etiqueta
MétodoEndpoint
POSThttps://carchost.fieldcontrol.com.br/customers/:id/labels
Status CodeDescrição
201Etiqueta inserida com sucesso no cliente
422Identificador da etiqueta enviado é inválido ou a etiqueta não foi encontrada
409Etiqueta já está inserida no cliente

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Exemplo de requisição para inserção de uma etiqueta a um cliente:

curl -X POST https://carchost.fieldcontrol.com.br/customers/:id/labels \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here' \
  --data-binary \
  '{
    "label": {
      "id": "OGFjYmZjNDctMDkxMy00YTU2LWI1OTQtYWEzMWI5OGU0Y2IwOjE="
    }
  }' \
  --compressed

Exemplo de resposta de sucesso:

{
  "id": "OGFjYmZjNDctMDkxMy00YTU2LWI1OTQtYWEzMWI5OGU0Y2IwOjE=",
  "name": "Zona Oeste de São Paulo",
  "color": "red",
  "type": 1
}

Remover uma etiqueta de um cliente

Desvincular etiqueta de um cliente.

MétodoEndpoint
DELETEhttps://carchost.fieldcontrol.com.br/customers/:id/labels/:label_id
Status CodeDescrição
204Etiqueta removida com sucesso
404Cliente não encontrado ou etiqueta não encontrada no cliente
422Requisição contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Exemplo de requisição para remover uma etiqueta de um cliente:

curl -X DELETE https://carchost.fieldcontrol.com.br/customers/:id/labels/:label_id \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here'

Resposta de sucesso não possui informações no corpo da mensagem

Localizações

São as localizações com endereços vinculados a um cliente.

Parâmetros

NomeTipoDescrição
idstringIdentificador da localização
customer.id*stringIdentificador do cliente
name*stringNome da localização
notesstringDescrição da localização
address.postalCodestringCEP - Código de endereço postal (apenas números)
address.streetstringNome do logradouro referente ao CEP
address.numberstringNúmero da residência/prédio
address.neighborhoodstringNome do bairro referente ao CEP
address.city*stringNome da cidade referente ao CEP
address.state*stringNome do estado referente ao CEP
address.complementstringInformação adicional do endereço
address.coords.latitude*floatLatitude - Coordenada geográfica do local de atendimento
address.coords.longitude*floatLongitude - Coordenada geográfica do local de atendimento
archivedbooleanIndica se a localização está arquivada

Atenção: As propriedades com * são obrigatórias

Usuários podem gerenciar os as localizações de um cliente no Painel de gestão pelo link: https://app.fieldcontrol.com.br/#/localizacoes

Caso seu sistema não possua dados de geolocalização para seus clientes, veja essa seção.

Criar uma localização

Cria uma localização.

MétodoEndpoint
POSThttps://carchost.fieldcontrol.com.br/customers/:id/locations
Status CodeDescrição
201Localização criada com sucesso
404Cliente não encontrado
422Requisição contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Exemplo de requisição para criação de uma localização de um cliente:

curl -X POST https://carchost.fieldcontrol.com.br/customers/:id/locations \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here' \
  --data-binary \
  '{
    "name": "Localização de Nicola Zagari",
    "address": {
      "postalCode": "15035180",
      "street": "Rua Santina Figliacci",
      "number": "461",
      "neighborhood": "Vila Itália",
      "city": "São José do Rio Preto",
      "state": "São Paulo",
      "complement": "Apt 24 Bloco F",
      "coords": {
        "latitude": -20.799553,
        "longitude": -49.4161149
      }
    }
  }' \
  --compressed

Exemplo de resposta de sucesso:

{
  "id": "NmJlZTk4ZWQtNGRjZC00MTYyLTgwYWYtODFjNzk3OGNhN2FhOjE=",
  "customer": {
    "id": "NTc4NTQ1OjIyOTE1"
  },
  "name": "Luiz Freneda Localização Teste",
  "address": {
    "postalCode": "15035180",
    "street": "Rua Santina Figliacci",
    "number": "461",
    "neighborhood": "Vila Itália",
    "city": "São José do Rio Preto",
    "state": "São Paulo",
    "complement": "Apt 24 Bloco F",
    "coords": {
      "latitude": -20.799553,
      "longitude": -49.4161149
    }
  },
  "archived": false,
  "notes": null
}

Recuperar uma localização

Recupera uma localização existente por id.

MétodoEndpoint
GEThttps://carchost.fieldcontrol.com.br/customers/:id/locations/:locationId
Status CodeDescrição
200Localização recuperada com sucesso
404Cliente ou localização não encontrado
422Requisição contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Exemplo de requisição para recuperar um cliente:

curl -X GET https://carchost.fieldcontrol.com.br/customers/:id/locations/:locationId \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here'

Exemplo de resposta de sucesso:

{
  "id": "NmJlZTk4ZWQtNGRjZC00MTYyLTgwYWYtODFjNzk3OGNhN2FhOjE=",
  "customer": {
    "id": "NTc4NTQ1OjIyOTE1"
  },
  "name": "Localização de Nicola Zagari",
  "address": {
    "postalCode": "15035181",
    "street": "Rua Santina Figliacci",
    "number": "465",
    "neighborhood": "Vila França",
    "city": "Sao José Do Rio Preto",
    "state": "Sao Paulo",
    "complement": "Apt 25 Bloco A",
    "coords": {
      "latitude": -21.799553,
      "longitude": -50.4161149
    }
  },
  "archived": true,
  "notes": "Tive que arquivar"
}

Atualizar uma localização

Atualiza uma localização existente.

MétodoEndpoint
PUThttps://carchost.fieldcontrol.com.br/customers/:id/locations/:locationId
Status CodeDescrição
200Localiazação atualizada com sucesso
404Cliente ou localização não encontrado
422Requisição contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Exemplo de requisição para atualizar uma localização:

curl -X GET https://carchost.fieldcontrol.com.br/:id/locations/:locationId \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here'
  --data-binary \
  '{
    "name": "Localização de Nicola Zagari",
    "address": {
      "postalCode": "15035181",
      "street": "Rua Santina Figliacci",
      "number": "465",
      "neighborhood": "Vila França",
      "city": "Sao José Do Rio Preto",
      "state": "Sao Paulo",
      "complement": "Apt 25 Bloco A",
      "coords": {
        "latitude": -21.799553,
        "longitude": -50.4161149
      }
    },
    "archived": true,
    "notes": "Tive que arquivar"
  }' \
  --compressed

Exemplo de resposta de sucesso:

{
  "id": "NmJlZTk4ZWQtNGRjZC00MTYyLTgwYWYtODFjNzk3OGNhN2FhOjE=",
  "customer": {
    "id": "NTc4NTQ1OjIyOTE1"
  },
  "name": "Luiz Freneda Localização Teste Modificado",
  "address": {
    "postalCode": "15035181",
    "street": "Rua Santina Figliacci",
    "number": "465",
    "neighborhood": "Vila França",
    "city": "Sao José Do Rio Preto",
    "state": "Sao Paulo",
    "complement": "Apt 25 Bloco A",
    "coords": {
      "latitude": -21.799553,
      "longitude": -50.4161149
    }
  },
  "archived": true,
  "notes": "Tive que arquivar"
}

Atualizar a localização primária de um cliente

Atualiza o vinculo da localização primária de um cliente

MétodoEndpoint
PUThttps://carchost.fieldcontrol.com.br/customers/:id/primary-location/:locationId
Status CodeDescrição
200Localiazação atualizada com sucesso
404Cliente ou localização não encontrado
422Requisição contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Exemplo de requisição para atualizar a localização primária de um cliente:

curl -X GET https://carchost.fieldcontrol.com.br/customers/:id/primary-location/:locationId \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here'

Exemplo de resposta de sucesso:

{
  "id": "NTc4NTQ1OjIyOTE1",
  "name": "Nicola Zagari",
  "code": "22f30236efad",
  "documentNumber": null,
  "contact": {
    "email": null,
    "phone": null
  },
  "primaryLocation": {
    "id": "NmJlZTk4ZWQtNGRjZC00MTYyLTgwYWYtODFjNzk3OGNhN2FhOjE=",
  },
  "address": {
    "zipCode": "05432070",
    "street": "R. Fidalga",
    "number": "66",
    "neighborhood": "Vila Madalena",
    "complement": "Prédio branco",
    "city": "São Paulo",
    "state": "SP",
    "coords": {
      "latitude": -23.558418,
      "longitude": -46.688081
    }
  },
  "statistics": {
    "updatedAt": null,
    "service": {
      "firstAt": null,
      "lastAt": null,
      "total": 0
    },
    "rating": {
      "averageStars": 0,
      "lastComment": null,
      "lastStar": 0
    }
  }
}

Listar localizações

Lista todos os telefones do cliente.

MétodoEndpoint
GEThttps://carchost.fieldcontrol.com.br/customers/:id/locations
Status CodeDescrição
200Localizações listadas com sucesso
404Cliente não encontrado
422Requisição contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Filtros disponíveis para a listagem de localizações:

ParâmetroOperadoresDescrição
archivedNenhumArquivado
nameNenhumNome da localização
created_at>=, <=, > e <Data de criação

Valores disponíveis para ordenação de resultados:

ValorDescrição
created_atData de criação em ordem ascendente
-created_atData de criação em ordem descendente

Exemplo de requisição para listar os telefones de um cliente:

curl -X GET https://carchost.fieldcontrol.com.br/customers/:id/locations \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here'

Exemplo de resposta de sucesso:

{
  "items": [
    {
      "id": "NmJlZTk4ZWQtNGRjZC00MTYyLTgwYWYtODFjNzk3OGNhN2FhOjE=",
      "customer": {
        "id": "NTc4NTQ1OjIyOTE1"
      },
      "name": "Luiz Freneda Localização Teste Modificado",
      "address": {
        "postalCode": "15035181",
        "street": "Rua Santina Figliacci",
        "number": "465",
        "neighborhood": "Vila França",
        "city": "Sao José Do Rio Preto",
        "state": "Sao Paulo",
        "complement": "Apt 25 Bloco A",
        "coords": {
          "latitude": -21.799553,
          "longitude": -50.4161149
        }
      },
      "archived": true,
      "notes": "Tive que arquivar"
    }
  ],
  "totalCount": 1
}

Colaboradores

Colaboradores são os profissionais que trabalham externamente usando o app Field Control.

Parâmetros

NomeTipoDescrição
idstringIdentificador
name*stringNome do colaborador
notesstringObservações do colaborador
email*stringEmail do colaborador (somente criação)
avatarUrl*stringCaminho para a foto de avatar do colaborador
isActivebooleanSituação do colaborador, se está ativo ou não
createdAtstringData de criação do colaborador (somente leitura)

Usuários com perfil de administrador podem gerenciar os colaboradores no Painel de gestão pelo link: https://app.fieldcontrol.com.br/#/colaboradores

Criar um colaborador

Cria um colaborador.

MétodoEndpoint
POSThttps://carchost.fieldcontrol.com.br/employees
Status CodeDescrição
201Colaborador criado com sucesso
422Colaborador enviado contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Exemplo de requisição para criação de um colaborador:

curl -X POST https://carchost.fieldcontrol.com.br/employees \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here' \
  --data-binary \
  '{
    "name": "João Vitor",
    "email": "jvitor@gmail.com",
    "avatarUrl": null,
    "isActive": true
  }' \
  --compressed

Recuperar um colaborador

Recupera um colaborador existente pelo identificador.

MétodoEndpoint
GEThttps://carchost.fieldcontrol.com.br/employees/:id
Status CodeDescrição
200Colaborador recuperado com sucesso
404Colaborador não encontrado
422Requisição contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Exemplo de requisição para recuperar um colaborador:

curl -X GET https://carchost.fieldcontrol.com.br/employees/:id \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here'

Exemplo de resposta de sucesso:

{
  "id": "MTY0MTU6MjI5MTU=",
  "name": "Mauro Garcia",
  "email": "m.garcia@gmail.com",
  "avatarUrl": null
}

Atualizar um colaborador

Atualiza um colaborador.

MétodoEndpoint
PUThttps://carchost.fieldcontrol.com.br/employees/:id
Status CodeDescrição
200Colaborador atualizado com sucesso
422Colaborador enviado contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Exemplo de requisição para atualização de um colaborador:

curl -X PUT https://carchost.fieldcontrol.com.br/employees/:id \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here' \
  --data-binary \
  '{
    "name": "Mauro Garcia",
  }' \
  --compressed

Listar colaboradores

Lista os colaboradores existentes.

MétodoEndpoint
GEThttps://carchost.fieldcontrol.com.br/employees
Status CodeDescrição
200Colaboradores recuperados com sucesso
422Requisição contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Filtros disponíveis para a listagem de colaboradores:

ParâmetroDescrição
nameNome do colaborador

Exemplo de requisição para recuperar lista de colaboradores:

curl -X GET https://carchost.fieldcontrol.com.br/employees \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here'

Exemplo de resposta de sucesso:

{
  "items": [
    {
      "id": "MTY0MTU6MjI5MTU=",
      "name": "Mauro Garcia",
      "notes": "Principal colaborador",
      "email": "m.garcia@gmail.com",
      "avatarUrl": null
    },
    {
      "id": "MTY1NDk6MjI5MTU=",
      "name": "Renan Valentin",
      "notes": null,
      "email": "renanvalentin@gmail.com",
      "avatarUrl": null
    },
    {
      "id": "MTY1NTU6MjI5MTU=",
      "name": "Felipe Zini",
      "email": "zini@gmail.com",
      "avatarUrl": null
    }
  ],
  "totalCount": 3
}

Atualizar um colaborador

Atualiza um colaborador.

MétodoEndpoint
PUThttps://carchost.fieldcontrol.com.br/employees/:id
Status CodeDescrição
200Colaborador atualizado com sucesso
422Colaborador enviado contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Exemplo de requisição para atualização de um colaborador:

curl -X PUT https://carchost.fieldcontrol.com.br/employees/:id \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here' \
  --data-binary \
  '{
    "name": "Mauro Garcia",
  }' \
  --compressed

Listar localização dos colaboradores

Lista a geolocalizações dos colaboradores.

MétodoEndpoint
GEThttps://carchost.fieldcontrol.com.br/employees/tracking
Status CodeDescrição
200Geolocalização dos colaboradores recuperados com sucesso
422Requisição contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Exemplo de requisição para recuperar lista de geolocalização dos colaboradores:

curl -X GET https://carchost.fieldcontrol.com.br/employees/tracking \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here'

Exemplo de resposta de sucesso:

  [
    {
      "accuracy": 16.2,
      "speed": -1,
      "heading": -1,
      "employee": {
        "id": "NTgyNjox"
      },
      "coords": {
        "latitude": -22.3368284,
        "longitude": -49.0473741
      },
      "timestamp": "2019-08-05T17:04:17.355Z",
      "receivedAt": "2019-08-05T17:04:18.270Z",
    },
    {
      "accuracy": 7.5,
      "speed": 0,
      "heading": 0,
      "employee": {
        "id": "NjE5MTox"
      },
      "coords": {
        "latitude": -22.3364431,
        "longitude": -49.0474458
      },
      "timestamp": "2019-08-05T17:01:29.000Z",
      "receivedAt": "2019-08-05T17:01:29.763Z",
    }
  ]

Materiais

Materiais são os produtos ou peças utilizados na execução de uma ordem de serviço. Caso ocorra a migração de materiais para produtos, serão considerados os produtos nas operações.

Parâmetros

NomeTipoDescrição
idstringIdentificador
name*stringNome do material
measure*stringUnidade de medida (unity, centimeter, meter, liter, milliliter)
archivedbooleanIndica se o material está arquivado

Criar um material

Cria um novo material

MétodoEndpoint
POSThttps://carchost.fieldcontrol.com.br/materials/
Status CodeDescrição
201Material criado com sucesso
422Material enviado contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Exemplo de requisição para criação de um material:

curl -X POST https://carchost.fieldcontrol.com.br/materials \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here' \
  --data-binary \
  '{
    "name": "Tomada Padrão americano RJ11",
    "measure": "unity"
  }' \
  --compressed

Exemplo de resposta de sucesso:

{
  "id": "MzUxMzE6MjI5MTU=",
  "name": "Tomada Padrão americano RJ11",
  "measure": "unity"
  "archived": false
}

Recuperar um material

Recupera um material existente por id

MétodoEndpoint
GEThttps://carchost.fieldcontrol.com.br/materials/:id
Status CodeDescrição
200Material recuperado com sucesso
404Material não encontrado
422Requisição contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Exemplo de requisição para recuperar um material:

curl -X GET https://carchost.fieldcontrol.com.br/materials/:id \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here'

Exemplo de resposta de sucesso:

{
  "id": "MzUxMzE6MjI5MTU=",
  "name": "Tomada Padrão americano RJ11",
  "measure": "unity",
  "archived": false
}

Atualizar um material

Atualiza um material existente

MétodoEndpoint
PUThttps://carchost.fieldcontrol.com.br/materials/:id
Status CodeDescrição
200Material atualizado com sucesso
422Material enviado contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Exemplo de requisição para atualização de um material:

curl -X PUT https://carchost.fieldcontrol.com.br/materials/:id \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here' \
  --data-binary \
  '{
    "name": "Tomada Padrão americano RJ11",
    "measure": "unity"
  }' \
  --compressed

Exemplo de resposta de sucesso:

{
  "id": "MzUxMzE6MjI5MTU=",
  "name": "Tomada Padrão americano RJ11",
  "measure": "unity",
  "archived": false
}

Listar materiais

Lista materiais existentes

MétodoEndpoint
GEThttps://carchost.fieldcontrol.com.br/materials/
Status CodeDescrição
200Materiais recuperados com sucesso
422Requisição contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Filtros disponíveis para a listagem de materiais:

ParâmetroDescrição
archivedArquivado
nameNome do material

Exemplo de requisição para recuperar lista de materiais:

curl -X GET https://carchost.fieldcontrol.com.br/materials \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here'

Exemplo de resposta de sucesso:

{
  "items": [
    {
      "id": "MzUxMzE6MjI5MTU=",
      "name": "Tomada Padrão americano RJ11",
      "measure": "unity",
      "archived": false
    }
  ],
  "totalCount": 1
}

Listar materiais de uma ordem de serviço

Materiais são os produtos ou peças utilizados na execução de uma ordem de serviço.

Parâmetros

NomeTipoDescrição
quantitynúmeroQuantidade do material utilizado
material.idstringIdentificador
material.name*stringNome do material
material.measure*stringUnidade de medida (unity, centimeter, meter, liter, milliliter)
MétodoEndpoint
GEThttps://carchost.fieldcontrol.com.br/orders/:order_id/materials
Status CodeDescrição
200Materiais utilizados recuperados com sucesso
422Requisição contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Exemplo de requisição para recuperar lista de anexos de uma ordem de serviço:

curl -X GET https://carchost.fieldcontrol.com.br/orders/:order_id/materials \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here'

Exemplo de resposta de sucesso:

{
  "items": [
    {
      "id": "YWY0MmZmZDktODY1NS00MTdjLTlkM2QtNDRkMDZlZmQ5Y2MzOjE=",
      "quantity": 25,
      "material": {
        "id": "NzNjZTBiNDEtZjYwMC00YmU0LWFhMzEtNTE1MTQ1NTNmMjY5OjE=",
        "name": "Fibra ótica",
        "measure": "centimeter"
      }
    }
  ],
  "totalCount": 1
}

Produtos e serviços

Produtos/Serviços são os produtos ou serviços incluídos na execução de uma ordem de serviço.

Parâmetros

NomeTipoDescrição
idstringIdentificador
name*stringNome do produto/serviço
descriptionstringDescrição
measure*stringUnidade de medida (unity, centimeter, meter, liter, milliliter, kilogram)
archived*booleanIndica se o produto/serviço está arquivado
type*numberIndica se o produto/serviço é um produto ou serviço
value*stringIndica o valor do produto/serviço
imageUrlstringCaminho para a foto do produto/serviço

Criar um produto/serviço

Cria um novo produto/serviço

MétodoEndpoint
POSThttps://carchost.fieldcontrol.com.br/products-services/
Status CodeDescrição
201Produto/Serviço criado com sucesso
422Produto/Serviço enviado contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Exemplo de requisição para criação de um produto/serviço:

curl -X POST https://carchost.fieldcontrol.com.br/products-services \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here' \
  --data-binary \
  '{
    "name": "Cabo de rede",
    "measure": "meter",
    "description": "Modelo rj45",
    "value": 9.99,
    "type": "product",
    "archived": false,
    "imageUrl": null
  }' \
  --compressed

Exemplo de resposta de sucesso:

{
  "id": "NDdjYTQyZT",
  "name": "Cabo de rede",
  "description": "Modelo rj45",
  "measure": "meter",
  "archived": false,
  "type": "product",
  "value": 9.99,
  "imageUrl": null
}

Listar produtos/serviços

Listar todos produtos/serviços existentes.

MétodoEndpoint
GEThttps://carchost.fieldcontrol.com.br/products-services
Status CodeDescrição
200Produtos/Serviços recuperados com sucesso
422Requisição contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Filtros disponíveis para a listagem de produtos/serviços:

ParâmetroDescrição
archivedArquivado
nameNome do produto/serviço
typeBuscar somente product ou service

Exemplo de requisição para recuperar produtos/serviços:

curl -X GET https://carchost.fieldcontrol.com.br/products-services \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here'

Exemplo de resposta de sucesso:

{
  "items": [
    {
      "id": "YjY0NzZkNGItMDJiNi00YWE2LWJmZTUtNjM0ODY1YzMzMzFkOjE=",
      "name": "Cabo de aço",
      "description": null,
      "measure": "meter",
      "imageUrl": null,
      "type": "product",
      "value": 499.99,
      "archived": false
    },
    {
      "id": "PsA0NzMpOLItMDJiNi22YWE2LWJmMNBtNjM0ODY1YzMzMzFkOjE=",
      "name": "Prego",
      "description": null,
      "measure": "unity",
      "imageUrl": null,
      "type": "product",
      "value": 0.15,
      "archived": false
    },
  ],
  "totalCount": 2
}

Recuperar um produto/serviço

Recupera um produto/serviço existente por id.

MétodoEndpoint
GEThttps://carchost.fieldcontrol.com.br/products-services/:id
Status CodeDescrição
200Produto/serviço recuperado com sucesso
404Produto/serviço não encontrado
422Requisição contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Exemplo de requisição para recuperar um produto/serviço:

curl -X GET https://carchost.fieldcontrol.com.br/products-services/:id \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here'

Exemplo de resposta de sucesso:


{
  "id": "YjY0NzZkNGItMDJiNi00YWE2LWJmZTUtNjM0ODY1YzMzMzFkOjE=",
  "name": "Cabo de aço",
  "description": null,
  "measure": "meter",
  "imageUrl": null,
  "type": "product",
  "value": 499.99,
  "archived": false
}

Atualizar um produto/serviço

Atualiza um produto/serviço

MétodoEndpoint
PUThttps://carchost.fieldcontrol.com.br/products-services/:id
Status CodeDescrição
200Produto/Serviço atualizado com sucesso
422Produto/Serviço enviado contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Exemplo de requisição para atualização de um produto/serviço:

curl -X PUT https://carchost.fieldcontrol.com.br/products-services/:id \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here' \
  --data-binary \
  '{
    "name": "Cabo de rede rj45",
    "description": "Novo modelo rj45",
    "measure": "unity",
    "archived": false,
    "type": "product",
    "value": 3.99,
    "imageUrl": "https://www.domain.name/cabo"
  }' \
  --compressed

Exemplo de resposta de sucesso:

{
  "id": "NDdjYTQyZT",
  "name": "Cabo de rede rj45",
  "description": "Novo modelo rj45",
  "measure": "unity",
  "archived": false,
  "type": "product",
  "value": 3.99,
  "imageUrl": "https://www.domain.name/cabo"
}

Equipamentos

Equipamentos são os aparelhos da ordem de serviço que recebem manutenções.

Parâmetros

NomeTipoDescrição
idstringIdentificador do equipamento
name*stringNome do equipamento
number*stringNúmero de série do equipamento
notesstringObservações do equipamento
qrCodestringCódigo QR do equipamento
archivedbooleanIndica se o equipamento está arquivado
avatarUrlstringCaminho para a foto de avatar do equipamento
customer.idstringIdentificador do cliente (veja a observação abaixo)
customer.namestringNome do cliente (veja a observação abaixo)
location.idstringIdentificador da localização do cliente
type.idstringIdentificador do tipo de equipamento (veja a observação abaixo)
type.namestringNome do tipo de equipamento (veja a observação abaixo)
customFieldsarrayLista dos campos customizados do equipamento (somente ao recuperar um equipamento)
createdAtstringData de criação do equipamento (somente leitura)

OBS: Ao inserir ou atualizar um equipamento, é possível informar o nome do tipo do equipamento e/ou o nome do cliente ao invés de seus identificadores. É importante notar que um dos dois parâmetros deve ser informado. Caso os dois parâmetros sejam informados, somente o identificador será considerado.

Criar um equipamento

Cria um equipamento.

MétodoEndpoint
POSThttps://carchost.fieldcontrol.com.br/equipments
Status CodeDescrição
201Equipamento criado com sucesso
422Equipamento enviado contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

OBS: O parâmetro customFields é opcional, não sendo necessário seu uso. A requisição será realizada com ou sem ele, ou até como um array vazio.

Exemplo de requisição para criação de um equipamento:

curl -X POST https://carchost.fieldcontrol.com.br/equipments \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here' \
  --data-binary \
  '{
    "type": {
      "id": "MTox"
    },
    "customer": {
      "id": "MTox"
    },
    "location": {
      "id": "MTox"
    },
    "name": "LG DUAL Inverter 12.000 Btus",
    "number": "XG900",
    "qrCode": "04e3a914-6d6b-4cd6-b5ec-fca2937ce8b0",
    "notes": null,
    "avatarUrl": null
  }' \
  --compressed

Exemplo de requisição para criação de um equipamento com o nome do tipo de equipamento e o nome do cliente

curl -X POST https://carchost.fieldcontrol.com.br/equipments \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here' \
  --data-binary \
  '{
    "type": {
      "name": "Instalação"
    },
    "customer": {
      "name": "Luana Oliveira"
    },
    "location": {
      "id": "MTox"
    },
    "name": "LG DUAL Inverter 12.000 Btus",
    "number": "XG900",
    "qrCode": "04e3a914-6d6b-4cd6-b5ec-fca2937ce8b0",
    "notes": null,
    "avatarUrl": null
  }' \
  --compressed

Exemplo de requisição para criação de um equipamento com o parâmetro customFields

curl -X POST https://carchost.fieldcontrol.com.br/equipments \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here' \
  --data-binary \
  '{
    "type": {
      "id": "MTox"
    },
    "customer": {
      "id": "MTox"
    },
    "location": {
      "id": "MTox"
    },
    "name": "LG DUAL Inverter 12.000 Btus",
    "number": "XG900",
    "qrCode": "04e3a914-6d6b-4cd6-b5ec-fca2937ce8b0",
    "notes": null,
    "avatarUrl": null,
    "customFields": [
      {
        "name": "Qual é a marca do equipamento ?",
            "value": "LG",
            "position": "0",
            "type": "question"
      },
      {
        "name": "Quantos Btus possui ?",
            "value": "12000",
            "position": "1",
            "type": "number"
      }
    ]
  }' \
  --compressed

Recuperar um equipamento

Recupera um equipamento existente pelo identificador.

MétodoEndpoint
GEThttps://carchost.fieldcontrol.com.br/equipments/:id
Status CodeDescrição
200Equipamento recuperado com sucesso
404Equipamento não encontrado
422Requisição contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Exemplo de requisição para recuperar um material:

curl -X GET https://carchost.fieldcontrol.com.br/equipments/:id \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here'

Exemplo de resposta de sucesso:

{
  "id": "YzkyMTA0MzgtNWVmNy00YjU4LTkxOWYtMjBmY2Y4ZDI1OTdiOjE=",
  "name": "Venax FI109",
  "number": "4as57n9c7",
  "notes": "Localizado no centro da cozinha",
  "archived": false,
  "qrCode": "5f40c7a6-3889-4b5c-afc2-8484af60bae6",
  "avatarUrl": null,
  "customer": {
    "id": "MTox"
  },
  "location": {
    "id": "MTox"
  },
  "type": {
    "id": "NDFkNzk3MDctZDI3Yy00ZTM1LWJmZGQtYTNhMTUwNzEwNmNkOjE="
  },
  "customFields": [
    {
      "id": "ZDRhODlmNDYtOWE1MS00Njg1LThmMGUtNmU3MTIyZTJjY2MwOjIyOTE1",
      "name": "Qual a data de fabricação do forno?",
      "value": "2020-02-19T16:40:43.671Z",
      "position": 1,
      "type": "date",
      "equipment": {
        "id": "YzkyMTA0MzgtNWVmNy00YjU4LTkxOWYtMjBmY2Y4ZDI1OTdiOjE="
      }
    },
    {
      "id": "ZWQ0NjE5MjgtNzhkMy00Y2YyLWI4NDAtMmZjZTI2ZGE4MjVjOjIyOTE1",
      "name": "Qual a potência do forno?",
      "value": "4.5",
      "position": 2,
      "type": "number",
      "equipment": {
        "id": "YzkyMTA0MzgtNWVmNy00YjU4LTkxOWYtMjBmY2Y4ZDI1OTdiOjE="
    },
    {
      "id": "ZjM4MDAwMDMtZjc2Zi00ODdlLWJlYjMtYzQyODczZTBiYWQ3OjIyOTE1",
      "name": "Selecione a marca:",
      "value": "Venax",
      "position": 3,
      "type": "multiple-choice",
      "equipment": {
        "id": "YzkyMTA0MzgtNWVmNy00YjU4LTkxOWYtMjBmY2Y4ZDI1OTdiOjE="
    }
  ],
  "createdAt": "2020-07-01T12:34:12Z"
}

Atualizar um equipamento

Atualiza um equipamento.

MétodoEndpoint
PUThttps://carchost.fieldcontrol.com.br/equipments/:id
Status CodeDescrição
200Equipamento atualizado com sucesso
422Equipamento enviado contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

OBS: O parâmetro customFields é opcional, não sendo necessário seu uso. A requisição será realizada com ou sem ele, ou até como um array vazio. Vale lembrar que caso seja inserido como um array vazio, ele deletará todos os customFields inseridos naquele equipamento. Serão considerados os novos valores refletindo o parâmetro insertado.

Exemplo de requisição para atualização de um equipamento:

curl -X PUT https://carchost.fieldcontrol.com.br/equipments/:id \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here' \
  --data-binary \
  '{
    "type": {
      "id": "NWI4MDZiODQtNjQ5YS00Yjg1LTlhZTAtMTY2YjhjNzJhYzM0OjE="
    },
    "customer": {
      "id": "MTox"
    },
    "location": {
      "id": "MTox"
    },
    "name": "LG DUAL Inverter 8.000 Btus",
    "number": "XG900-G9",
    "qrCode": "e799f6b1-c5ef-4453-98b1-f73e90b1d143",
    "notes": "Equipamento atualizado",
    "avatarUrl": null
  }' \
  --compressed

Exemplo de requisição para atualização de um equipamento com o nome do tipo de equipamento e o nome do cliente

curl -X PUT https://carchost.fieldcontrol.com.br/equipments/:id \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here' \
  --data-binary \
  '{
    "type": {
      "name": "Ar condicionado split"
    },
    "customer": {
      "name": "Rodrigo Alves"
    },
    "location": {
      "id": "MTox"
    },
    "name": "LG DUAL Inverter 12.000 Btus",
    "number": "XG900",
    "qrCode": "04e3a914-6d6b-4cd6-b5ec-fca2937ce8b0",
    "notes": null,
    "avatarUrl": null
  }' \
  --compressed

Exemplo de requisição para atualização de um equipamento com parâmetro customFields

curl -X PUT https://carchost.fieldcontrol.com.br/equipments/:id \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here' \
  --data-binary \
  '{
    "type": {
      "id": "NWI4MDZiODQtNjQ5YS00Yjg1LTlhZTAtMTY2YjhjNzJhYzM0OjE="
    },
    "customer": {
      "id": "MTox"
    },
    "location": {
      "id": "MTox"
    },
    "name": "LG DUAL Inverter 24.000 Btus",
    "number": "XG900",
    "qrCode": "04e3a914-6d6b-4cd6-b5ec-fca2937ce8b0",
    "notes": null,
    "avatarUrl": null,
    "customFields": [
      {
        "name": "Quantos Btus possui ?",
            "value": "24000",
            "position": "1",
            "type": "number"
      }
    ]
  }' \
  --compressed

Listar equipamentos

Lista equipamentos existentes

MétodoEndpoint
GEThttps://carchost.fieldcontrol.com.br/equipments
Status CodeDescrição
200Equipamentos recuperados com sucesso
422Requisição contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Filtros disponíveis para a listagem de equipamentos:

ParâmetroOperadoresDescrição
numberNenhumNúmero de série do equipamento
customer_idNenhumIdentificador do cliente
location_idNenhumIdentificador da localização do cliente
type_idNenhumIdentificador do tipo de equipamento
archivedNenhumEquipamento arquivado
created_at>=, <=, > e <Data de criação do equipamento

Exemplo de requisição para recuperar lista de equipamentos:

curl -X GET https://carchost.fieldcontrol.com.br/equipments \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here'

Exemplo de resposta de sucesso:

{
  "items": [
    {
      "id": "MTdjZDYxZWItODRmMy00ZjdhLTg1NDItZDMxMjczMzBkODhiOjE=",
      "name": "Ar condicionado split 9000 Btu",
      "number": "6amzdfds1",
      "notes": "",
      "archived": false,
      "qrCode": "7bdbc830-541e-468a-8d3a-62d10c3e6e5f",
      "avatarUrl": null,
      "customer": {
        "id": "MTox"
      },
      "location": {
        "id": "MTox"
      },
      "type": {
        "id": "NDFkNzk3MDctZDI3Yy00ZTM1LWJmZGQtYTNhMTUwNzEwNmNkOjE="
      },
      "createdAt": "2020-07-01T15:37:10Z"
    },
    {
      "id": "YzkyMTA0MzgtNWVmNy00YjU4LTkxOWYtMjBmY2Y4ZDI1OTdiOjE=",
      "name": "Ar condicionado split 12000 Btu",
      "number": "4as57n9c7",
      "notes": "Localizado no canto esquerdo da sala de reuniões",
      "archived": false,
      "qrCode": "5f40c7a6-3889-4b5c-afc2-8484af60bae6",
      "avatarUrl": null,
      "customer": {
        "id": "MTox"
      },
      "location": {
        "id": "MTox"
      },
      "type": {
        "id": "NDFkNzk3MDctZDI3Yy00ZTM1LWJmZGQtYTNhMTUwNzEwNmNkOjE="
      },
      "createdAt": "2020-07-01T12:34:12Z"
    }
  ],
  "totalCount": 2
}

Valores disponíveis para ordenação de resultados:

ValorDescrição
created_atData de criação em ordem ascendente
-created_atData de criação em ordem descendente

Campos customizados

Os campos customizados são questões personalizadas para um tipo de equipamento.

Parâmetros

NomeTipoDescrição
idstringIdentificador do campo customizado
namestringNome da pergunta, ou, nome igual ao cadastrado no campo customizado no tipo de equipamento
valuestringValor do campo customizado
positionintegerPosição do campo customizado
typestringTipo do campo customizado, pertencente a lista ['question', 'date', 'multiple-choice', 'number']
equipment.idstringIdentificador do equipamento qual o campo customizado pertence

Eles podem ser obtidos ao recuperar um equipamento, correspondente ao parâmetro customFields.

Tipos de Equipamentos

Os tipos de equipamentos definem o tipo do equipamento, por exemplo: ar condicionado, forno, freezer, etc.

Parâmetros

NomeTipoDescrição
idstringIdentificador do tipo de equipamento
name*stringNome do tipo de equipamento
archivedbooleanIndica se o tipo de equipamento está arquivado
createdAtstringData de criação do tipo de equipamento (somente leitura)

Criar um tipo de equipamento

Cria um tipo de equipamento.

MétodoEndpoint
POSThttps://carchost.fieldcontrol.com.br/equipment-types
Status CodeDescrição
201Tipo de equipamento criado com sucesso
409Tipo de equipamento já existe
422Tipo de equipamento enviado contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Exemplo de requisição para criação de um tipo de equipamento:

curl -X POST https://carchost.fieldcontrol.com.br/equipment-types \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here' \
  --data-binary \
  '{
    "name": "Exaustor",
    "archived": false
  }' \
  --compressed

Exemplo de resposta de sucesso

curl -X POST https://carchost.fieldcontrol.com.br/equipments \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here' \
  --data-binary \
  '{
    "id": "OTcyODg0MjItZGY0Ni00ZGZlLWIzNDctYzA0ZmFiYTMwZWM0OjE=",
    "name": "Exaustor",
    "archived": false,
    "createdAt": "2020-04-15T14:51:04Z"
  }' \
  --compressed

Recuperar um tipo de equipamento

Recupera um tipo de equipamento pelo identificador.

MétodoEndpoint
GEThttps://carchost.fieldcontrol.com.br/equipment-types/:id
Status CodeDescrição
200Tipo de equipamento recuperado com sucesso
404Tipo de equipamento não encontrado
422Requisição contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Exemplo de requisição para recuperar um tipo de equipamento:

curl -X GET https://carchost.fieldcontrol.com.br/equipment-types/:id \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here'

Exemplo de resposta de sucesso:

{
  "id": "OTcyODg0MjItZGY0Ni00ZGZlLWIzNDctYzA0ZmFiYTMwZWM0OjE=",
  "name": "Exaustor",
  "archived": false,
  "createdAt": "2020-04-15T14:51:04Z"
}

Atualizar um tipo de equipamento

Atualiza um tipo de equipamento.

MétodoEndpoint
PUThttps://carchost.fieldcontrol.com.br/equipment-types/:id
Status CodeDescrição
200Tipo de equipamento atualizado com sucesso
409Tipo de equipamento já existe
422Tipo de equipamento enviado contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Exemplo de requisição para atualização de um tipo de equipamento:

curl -X PUT https://carchost.fieldcontrol.com.br/equipment-types/:id \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here' \
  --data-binary \
  '{
    "name": "Exaustor de parede"
  }' \
  --compressed

Exemplo de resposta de sucesso:

{
  "id": "OTcyODg0MjItZGY0Ni00ZGZlLWIzNDctYzA0ZmFiYTMwZWM0OjE=",
  "name": "Exaustor de parede",
  "archived": false,
  "createdAt": "2020-04-15T14:51:04Z"
}

Listar tipos de equipamentos

Lista os tipos de equipamentos.

MétodoEndpoint
GEThttps://carchost.fieldcontrol.com.br/equipment-types
Status CodeDescrição
200Tipos de equipamentos recuperados com sucesso
422Requisição contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Filtros disponíveis para a listagem de equipamentos:

ParâmetroOperadoresDescrição
nameNenhumNome do tipo de equipamento
archivedNenhumTipo de equipamento arquivado

Exemplo de requisição para recuperar lista de equipamentos:

curl -X GET https://carchost.fieldcontrol.com.br/equipment-types \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here'

Exemplo de resposta de sucesso:

{
  "items": [
    {
      "id": "MGU5NWViYmYtNmFhNC00YjAyLTk2MjgtNGJkZTNhZjI0ZjNkOjE=",
      "name": "Computador",
      "archived": false,
      "createdAt": "2020-04-15T14:51:04.300Z"
    },
    {
      "id": "M2RjYTBhZDgtYjA3Yi00MGJkLTg3OWEtOTBkNmQzN2EyOTU0OjE=",
      "name": "Elevador",
      "archived": false,
      "createdAt": "2020-04-15T14:59:40.300Z"
    },
    {
      "id": "NDFkNzk3MDctZDI3Yy00ZTM1LWJmZGQtYTNhMTUwNzEwNmNkOjE=",
      "name": "Ar condicionado",
      "archived": false,
      "createdAt": "2020-04-20T19:06:23.300Z"
    }
  ],
  "totalCount": 3
}

Marcas de Veículos

Marcas de Veículos disponíveis para a utilização nos veículos

Parâmetros

NomeTipoDescrição
idstringIdentificador
name*stringNome da marca
createdAtstringData de criação da marca (somente leitura)

Listar marcas de veículos

Lista marcas de veículos existentes

MétodoEndpoint
GEThttps://carchost.fieldcontrol.com.br/vehicles-brands
Status CodeDescrição
200marcas de veículos recuperados com sucesso
422Requisição contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Filtros disponíveis para a listagem de marcas veículos:

ParâmetroOperadoresDescrição
nameNenhumNome da marca do veículo

Exemplo de requisição para recuperar lista de marcas de veículos:


curl -X GET https://carchost.fieldcontrol.com.br/vehicles-brands \

  -H 'Content-Type: application/json;charset=UTF-8' \

  -H 'X-Api-Key: token-here'

Exemplo de resposta de sucesso:

{
  "items": [{
    "id": "YTUhYjFmOGEtYTU4MS00OTg0LWJkOTYtNjhmYWIwNzI5OWRhOjE=",
    "name": "HONDA",
    "createdAt": "2020-06-12T15:35:06Z"
  },
  {
    "id": "YTKhYjFmOGEtYTU4MS00OTg0LWJkOTYtNjhmYWIwNzI5OWRhOjE=",
    "name": "FIAT",
    "createdAt": "2021-06-12T15:35:06Z"
  }],
  "totalCount": 2
}

Valores disponíveis para ordenação de resultados:

ValorDescrição
created_atData de criação em ordem ascendente
-created_atData de criação em ordem descendente

Modelos de Veículos

Modelos de Veículos disponíveis para a utilização nos veículos

Parâmetros

NomeTipoDescrição
idstringIdentificador
name*stringNome do modelo
brand.namestringNome da marca
Encontrado na listagem de marcas (brands) de veículos
createdAtstringData de criação do veículo (somente leitura)

Listar modelos de veículos

Lista modelos de veículos existentes
Um modelo pertence a uma marca (brand) de veículos

MétodoEndpoint
GEThttps://carchost.fieldcontrol.com.br/vehicles-brands
Status CodeDescrição
200modelos de veículos recuperados com sucesso
422Requisição contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Filtros disponíveis para a listagem de marcas veículos:

ParâmetroOperadoresDescrição
nameNenhumNome do modelo do veículo
brand_idNenhumId da marca do modelo do veículo

Exemplo de requisição para recuperar lista de marcas de veículos:


curl -X GET https://carchost.fieldcontrol.com.br/vehicles-brands \

  -H 'Content-Type: application/json;charset=UTF-8' \

  -H 'X-Api-Key: token-here'

Exemplo de resposta de sucesso:

{
  "items": [{
    "id": "YTUhYjFmOGEtYTU4MS00OTg0LWJkOTYtNjhmYWIwNzI5OWRhOjE=",
    "name": "BIZ",
    "brand": {
      "id": "YTUhYjFmOGEtYTU4MS00OTg0LWJkOTYtNjhmYWIwNzI5OWRhOjE=",
      "name": "HONDA"
    },
    "createdAt": "2020-06-12T15:35:06Z"
  },
  {
    "id": "YTKhYjFmOGEtYTU4MS00OTg0LWJkOTYtNjhmYWIwNzI5OWRhOjE=",
    "name": "PALIO",
    "brand": {
      "id": "YTVhYjFmOGEtYTU4MS00OTg0LWJkOTYtNjhmYWIwNzI5OWRhOjE=",
      "name": "FIAT"
    },
    "createdAt": "2021-06-12T15:35:06Z"
  }],
  "totalCount": 2
}

Valores disponíveis para ordenação de resultados:

ValorDescrição
created_atData de criação em ordem ascendente
-created_atData de criação em ordem descendente

Veículos

Veículos disponíveis para a utilização dos colaboradores

Parâmetros

NomeTipoDescrição
idstringIdentificador
colorstringCor do veículo, podendo ser
- yellow Amarelo.
- blue Azul.
- beige Bege.
- white Branco.
- bronze Bronze.
- gray Cinza.
- golden Dourado.
- undefined Não definido.
- orange Laranja.
- brown Marrom.
- silver Prateado.
- black Preto.
- pink Rosa.
- purple Roxo.
- green Verde.
- red Vermelho.
- wine Vinho.
name*stringNome do veículo
licensePlate*stringPlaca do veículo
origin*stringOrigem do veículo, podendo ser:
- rented Veículo alugado.
- company Veículo da empresa
- employee Veículo do colaborador.
registerstringRegistro do veículo
status*stringStatus atual do veículo, podendo ser:
- available veículo disponível para os colaboradores.
- unavailable veículo indisponível para os colabores.
type*stringTipo do veículo, podendo ser:
- car Carro.
- motorcycle Motorcicleta.
- truck Caminhão.
- nautical Náutico.
- semi_truck Carreta.
year*numberAno do veículo
archived*booleanSe o veículo está arquivado
brand.name*stringNome da marca do veíuclo
Encontrado na listagem de marcas (brands) de veículos
model.name*stringNome do modelo do veíuclo
Encontrado na listagem de modelos (models) de veículos
Um modelo pertence a uma marca (brand)

Criar um veículo

Cria um novo veículo

MétodoEndpoint
POSThttps://carchost.fieldcontrol.com.br/vehicles/
Status CodeDescrição
201Veículo criado com sucesso
422Veículo enviado contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Exemplo de requisição para criação de um veículo:

curl -X POST https://carchost.fieldcontrol.com.br/vehicles \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here' \
  --data-binary \
  '{
    "name": "veiculo teste",
    "color": "red",
    "licensePlate": "333-AAA",
    "origin": "company",
    "register": "verdade",
    "status": "available",
    "type": "truck",
    "year": "2018",
    "archived": false,
    "description": "um caminhao",
    "imageUrl": "url_da_imagem.jpg",
    "originalTravelingDistance": 5555,
    "qrCode": "qr_code_do_veiculo",
    "brand": {
      "name": "HONDA"
    },
    "model": {
      "name": "BIZ"
    }
  }' \
  --compressed

Exemplo de resposta de sucesso:

{
  "id": "NDdjYTQyZT",
  "name": "veiculo teste",
  "color": "red",
  "licensePlate": "333-AAA",
  "origin": "company",
  "register": "verdade",
  "status": "available",
  "type": "truck",
  "year": "2018",
  "archived": false,
  "description": "um caminhao",
  "imageUrl": "url_da_imagem.jpg",
  "originalTravelingDistance": 5555,
  "qrCode": "qr_code_do_veiculo",
  "brand": {
    "name": "HONDA"
  },
  "model": {
    "name": "BIZ"
  }
}

Listar veículos

Lista veículos existentes

MétodoEndpoint
GEThttps://carchost.fieldcontrol.com.br/vehicles
Status CodeDescrição
200veículos recuperados com sucesso
422Requisição contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Filtros disponíveis para a listagem de veículos:

ParâmetroOperadoresDescrição
nameNenhumNome do veículo
archivedNenhumVeículo arquivado

Exemplo de requisição para recuperar lista de veículos:


curl -X GET https://carchost.fieldcontrol.com.br/vehicles \

  -H 'Content-Type: application/json;charset=UTF-8' \

  -H 'X-Api-Key: token-here'

Exemplo de resposta de sucesso:

{
  "items": [{
    "id": "YTNhYjFmOGEtYTU4MS00OTg0LWJkOTYtNjhmYWIwNzI5OWRhOjE=",
    "name": "Motocicleta em uso",
    "archived": false,
    "register": null,
    "color": "black",
    "status": "unavailable",
    "type": "motorcycle",
    "year": 2012,
    "licensePlate": "PAC-2243",
    "origin": "rented",
    "brand": {
      "name": "HONDA"
    },
    "model": {
      "name": "CB 500"
    }
  }],
  "totalCount": 1
}

Valores disponíveis para ordenação de resultados:

ValorDescrição
created_atData de criação em ordem ascendente
-created_atData de criação em ordem descendente

Recuperar um veículo

Recupera um veículo existente pelo identificador.

MétodoEndpoint
GEThttps://carchost.fieldcontrol.com.br/vehicles/:id
Status CodeDescrição
200Veículo recuperado com sucesso
404Veículo não encontrado
422Requisição contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Exemplo de requisição para recuperar um veículo:

curl -X GET https://carchost.fieldcontrol.com.br/vehicles/:id \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here'

Exemplo de resposta de sucesso:

{
  "id": "YTNhYjFmOGEtYTU4MS00OTg0LWJkOTYtNjhmYWIwNzI5OWRhOjE=",
  "name": "Caminhão de entrega",
  "archived": false,
  "register": null,
  "color": "black",
  "status": "available",
  "type": "truck",
  "year": 2018,
  "licensePlate": "PFG-4629",
  "origin": "company",
  "brand": {
    "name": "VOLKSWAGEN"
  },
  "model": {
    "name": "D-6000"
  }
}

Atualizar um veículo

Atualiza um veículo

MétodoEndpoint
PUThttps://carchost.fieldcontrol.com.br/vehicles/:id
Status CodeDescrição
200Veículo atualizado com sucesso
422Veículo enviado contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Exemplo de requisição para atualização de um veículo:

curl -X PUT https://carchost.fieldcontrol.com.br/vehicles/:id \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here' \
  --data-binary \
  '{
    "name": "veiculo atualzado",
    "color": "red",
    "licensePlate": "444-AAA",
    "origin": "employee",
    "register": "verdade",
    "status": "unavailable",
    "type": "car",
    "year": "2018",
    "archived": false,
    "description": "um caminhao",
    "imageUrl": "url_da_imagem.jpg",
    "originalTravelingDistance": 5555,
    "qrCode": "qr_code_do_veiculo",
    "brand": {
      "name": "FIAT"
    },
    "model": {
      "name": "210"
    }
  }' \
  --compressed

Exemplo de resposta de sucesso:

{
  "name": "veiculo atualzado",
  "color": "red",
  "licensePlate": "444-AAA",
  "origin": "employee",
  "register": "verdade",
  "status": "unavailable",
  "type": "car",
  "year": "2018",
  "archived": false,
  "description": "um caminhao",
  "imageUrl": "url_da_imagem.jpg",
  "originalTravelingDistance": 5555,
  "qrCode": "qr_code_do_veiculo",
  "brand": {
    "name": "FIAT"
  },
  "model": {
    "name": "210"
  }
}

Histórico de Uso

Histórico de Uso dos veículos disponíveis para a utilização dos colaboradores

Parâmetros

NomeTipoDescrição
idstringIdentificador
durationstringDuração do histórico de uso
pickupAtstringMomento de retirada do veículo do histórico de uso
pickupTravellingDistancenumberDistância trafegada na retirada no histórico de uso
pickupDescriptionstringDescrição da retirada no histórico de uso
pickupImageUrlstringImagem da retirada no histórico de uso
returnedAtstringMomento de devolução do veículo do histórico de uso
returnedTravellingDistancenumberDistância trafegada na devolução no histórico de uso
returnedDescriptionstringDescrição da devolução no histórico de uso
returnedImageUrlstringImagem da devolução no histórico de uso
travellingDistancestringDistância total trafegada no histórico de uso
createdAtstringMomento da criação do histórico de uso
archivedbooleanSe o histórico de uso está arquivado
employee.idstringId do colaborador do histórico de uso
vehicle.idstringId do veículo do histórico de uso

Listar histórico de Uso

Lista histórico de uso dos veículos existentes

MétodoEndpoint
GEThttps://carchost.fieldcontrol.com.br/vehicles-usages
Status CodeDescrição
200históricos de uso recuperados com sucesso
422Requisição contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Filtros disponíveis para a listagem de históricos de uso:

ParâmetroOperadoresDescrição
nameNenhumDescrição do histórico de uso
archivedNenhumHistórico de uso arquivado

Exemplo de requisição para recuperar lista de históricos de uso:


curl -X GET https://carchost.fieldcontrol.com.br/vehicles-usages \

  -H 'Content-Type: application/json;charset=UTF-8' \

  -H 'X-Api-Key: token-here'

Exemplo de resposta de sucesso:

{
  "items": [{
    "id": "YTNhYjFmOGEtYTU4MS00OTg0LWJkOTYtNjhmYWIwNzI5OWRhOjE=",
    "createdAt": "2020-03-07T21:00:00.000Z",
    "duration": "187200000",
    "archived": false,
    "pickupAt": "2022-01-05T21:00:00.000Z",
    "pickupDescription": null,
    "pickupImageUrl": null,
    "pickupTravellingDistance": 50300,
    "returnedAt": "2022-01-05T21:00:00.000Z",
    "returnedDescription": null,
    "returnedImageUrl": null,
    "returnedTravellingDistance": 50600,
    "travellingDistance": 300,
    "employee": {
      "id": "YTNhYjFmOGEtYTU4MS00OTg0LWJkOTYtNjhmYWIwNzI5OWRhOjE="
    },
    "vehicle": {
      "id": "YTNhYjFmOGEtYTU4MS00OTg0LWJkOTYtNjhmYWIwNzI5OWRhOjE="
    }
  }],
  "totalCount": 1
}

Valores disponíveis para ordenação de resultados:

ValorDescrição
created_atData de criação em ordem ascendente
-created_atData de criação em ordem descendente

Recuperar um histórico de uso

Recupera um histórico de uso existente pelo identificador.

MétodoEndpoint
GEThttps://carchost.fieldcontrol.com.br/vehicles-usages/:id
Status CodeDescrição
200Histórico de uso recuperado com sucesso
404Histórico de uso não encontrado
422Requisição contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Exemplo de requisição para recuperar um histórico de uso:

curl -X GET https://carchost.fieldcontrol.com.br/vehicles-usages/:id \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here'

Exemplo de resposta de sucesso:

{
  "id": "YTNhYjFmOGEtYTU4MS00OTg0LWJkOTYtNjhmYWIwNzI5OWRhOjE=",
  "createdAt": "2020-03-07T21:00:00.000Z",
  "duration": "187200000",
  "archived": false,
  "pickupAt": "2022-01-05T21:00:00.000Z",
  "pickupDescription": null,
  "pickupImageUrl": null,
  "pickupTravellingDistance": 50300,
  "returnedAt": "2022-01-05T21:00:00.000Z",
  "returnedDescription": null,
  "returnedImageUrl": null,
  "returnedTravellingDistance": 50600,
  "travellingDistance": 300,
  "employee": {
    "id": "YTNhYjFmOGEtYTU4MS00OTg0LWJkOTYtNjhmYWIwNzI5OWRhOjE="
  },
  "vehicle": {
    "id": "YTNhYjFmOGEtYTU4MS00OTg0LWJkOTYtNjhmYWIwNzI5OWRhOjE="
  }
}

Solicitação de serviço

Uma solicitação de serviço é, basicamente, um pedido de atendimento, ele pode ser um novo negócio, um problema de um cliente já existente e entre outras utilizações.

Parâmetros

NomeTipoDescrição
idstringId da solicitação de serviço
identifierstringIdentificador da solicitação, em caso de aprovação este identificador deve ser atribuído a ordem de serviço.
name*stringNome da solicitação de serviço
external.idstringIdentificador externo
subject*stringAssunto para ser tratado
message*stringMensagem em texto longo
createdAtstringData de criação da solicitação (somente leitura)
archivedbooleanIndica se a solicitação está arquivada ou não (somente leitura)
statusstringStatus da solicitação de serviço. Os valores possíveis são: pending, accepted, canceled, scheduling (somente leitura)
contact.emailstringE-mail do contato que abriu o chamado
contact.phonestringTelefone do contato que abriu o chamado
customer.idstringId do cliente vinculado a solicitação
service.idstringId do serviço vinculado a solicitação
location.idstringId do localização vinculado a solicitação
equipments[].numberstringNúmero do equipamento vinculado a solicitação (somente leitura)
equipments[].qrCodestringQRCode do equipamento vinculado a solicitação (somente leitura)

É possível visualizar as solicitações de serviço via Painel de gestão pelo link: https://app.fieldcontrol.com.br/#/chamados-e-oportunidades

A propriedade equipments tem seus valores populados somente em solicitações que tem como origem o sistema de Gestão de fornecedores ou a Área do Cliente.

Criar uma solicitação de serviço

Cria uma nova solicitação de serviço.

MétodoEndpoint
POSThttps://carchost.fieldcontrol.com.br/tickets/
Status CodeDescrição
201Solicitação de serviço criada com sucesso
422Solicitação de serviço enviada contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Exemplo de requisição para criação de uma solicitação de serviço:

curl -X POST https://carchost.fieldcontrol.com.br/tickets \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here' \
  --data-binary \
  '{
    "name": "Luiz Freneda",
    "message": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas posuere eget tellus vitae malesuada. Duis consequat pulvinar tincidunt. Aenean in enim tincidunt, auctor mauris a, tincidunt turpis.",
    "subject": "Manutenção preventiva",
    "external": {
      "id": "e33876bc-7707-4108-a684-33a7c9bdc24b"
    },
    "contact": {
      "email": "email@fieldcontrol.com.br",
      "phone": "11963427191"
    },
  }' \
  --compressed

Exemplo de resposta de sucesso:

{
  "id": "M2JlYTAyNDctODAyNC00Mzc5LTkwNWQtYTM5ZWRhYWMzM2NmOjE=",
  "name": "Luiz Freneda",
  "status": "pending",
  "createdAt": "2024-11-25T18:00:00.386Z",
  "message": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas posuere eget tellus vitae malesuada. Duis consequat pulvinar tincidunt. Aenean in enim tincidunt, auctor mauris a, tincidunt turpis.",
  "subject": "Manutenção preventiva",
  "external": {
    "id": "e33876bc-7707-4108-a684-33a7c9bdc24b"
  },
  "contact": {
    "email": "email@fieldcontrol.com.br",
    "phone": "11963427191"
  },
  "archived": false,
  "customer": null,
  "service": null,
  "location": null,
  "equipments": []
}

A seguir um exemplo de requisição para criação de uma solicitação de serviço com identifier:

curl -X POST https://carchost.fieldcontrol.com.br/tickets \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here' \
  --data-binary \
  '{
    "name": "Luiz Freneda",
    "identifier": "K",
    "message": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas posuere eget tellus vitae malesuada. Duis consequat pulvinar tincidunt. Aenean in enim tincidunt, auctor mauris a, tincidunt turpis.",
    "subject": "Manutenção preventiva",
    "external": {
      "id": null
    },
    "contact": {
      "email": "email@fieldcontrol.com.br",
      "phone": "11963427191"
    }
  }' \
  --compressed

Exemplo de resposta de sucesso com identifier:

{
  "id": "M2JlYTAyNDctODAyNC00Mzc5LTkwNWQtYTM5ZWRhYWMzM2NmOjE=",
  "name": "Luiz Freneda",
  "status": "pending",
  "createdAt": "2024-11-25T18:00:00.386Z",
  "identifier": "K",
  "message": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas posuere eget tellus vitae malesuada. Duis consequat pulvinar tincidunt. Aenean in enim tincidunt, auctor mauris a, tincidunt turpis.",
  "subject": "Manutenção preventiva",
  "contact": {
    "email": "email@fieldcontrol.com.br",
    "phone": "11963427191"
  },
  "external": {
    "id": null
  },
  "archived": false,
  "customer": null,
  "service": null,
  "location": null,
  "equipments": []
}

A seguir um exemplo de requisição para criação de uma solicitação de serviço com id do cliente:

curl -X POST https://carchost.fieldcontrol.com.br/tickets \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here' \
  --data-binary \
  '{
    "name": "Luiz Freneda",
    "message": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas posuere eget tellus vitae malesuada. Duis consequat pulvinar tincidunt. Aenean in enim tincidunt, auctor mauris a, tincidunt turpis.",
    "subject": "Manutenção preventiva",
    "contact": {
      "email": "email@fieldcontrol.com.br",
      "phone": "11963427191"
    },
    "customer": {
      "id": "MTox"
    }
  }' \
  --compressed

Exemplo de resposta de sucesso com id do cliente:

{
  "id": "M2JlYTAyNDctODAyNC00Mzc5LTkwNWQtYTM5ZWRhYWMzM2NmOjE=",
  "name": "Luiz Freneda",
  "status": "pending",
  "createdAt": "2024-11-25T18:00:00.386Z",
  "external": {
    "id": null
  },
  "message": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas posuere eget tellus vitae malesuada. Duis consequat pulvinar tincidunt. Aenean in enim tincidunt, auctor mauris a, tincidunt turpis.",
  "subject": "Manutenção preventiva",
  "contact": {
    "email": "email@fieldcontrol.com.br",
    "phone": "11963427191"
  },
  "archived": false,
  "customer": {
    "id": "MTox"
  },
  "equipments": []
}

A seguir um exemplo de requisição para criação de uma solicitação de serviço com id do serviço:

curl -X POST https://carchost.fieldcontrol.com.br/tickets \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here' \
  --data-binary \
  '{
    "name": "Luiz Freneda",
    "message": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas posuere eget tellus vitae malesuada. Duis consequat pulvinar tincidunt. Aenean in enim tincidunt, auctor mauris a, tincidunt turpis.",
    "subject": "Manutenção preventiva",
    "contact": {
      "email": "email@fieldcontrol.com.br",
      "phone": "11963427191"
    },
    "service": {
      "id": "MTox"
    }
  }' \
  --compressed

A seguir um exemplo de requisição para criação de uma solicitação de serviço com id da localização:

curl -X POST https://carchost.fieldcontrol.com.br/tickets \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here' \
  --data-binary \
  '{
    "name": "Luiz Freneda",
    "message": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas posuere eget tellus vitae malesuada. Duis consequat pulvinar tincidunt. Aenean in enim tincidunt, auctor mauris a, tincidunt turpis.",
    "subject": "Manutenção preventiva",
    "contact": {
      "email": "email@fieldcontrol.com.br",
      "phone": "11963427191"
    },
    "customer": {
      "id": "MTox"
    },
    "location": {
      "id": "ZTE2N2Q3MjctODk4OS00MTY3LTg5ZGMtMTI5NmQxM2VjYTQ5OjE=",
    },
  }' \
  --compressed

Exemplo de resposta de sucesso com id do serviço:

{
  "id": "M2JlYTAyNDctODAyNC00Mzc5LTkwNWQtYTM5ZWRhYWMzM2NmOjE=",
  "name": "Luiz Freneda",
  "status": "pending",
  "createdAt": "2024-11-25T18:00:00.386Z",
  "message": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas posuere eget tellus vitae malesuada. Duis consequat pulvinar tincidunt. Aenean in enim tincidunt, auctor mauris a, tincidunt turpis.",
  "subject": "Manutenção preventiva",
  "contact": {
    "email": "email@fieldcontrol.com.br",
    "phone": "11963427191"
  },
  "archived": false,
  "customer": {
    "id": "MTox"
  },
  "equipments": []
}

A seguir um exemplo de requisição para criação de uma solicitação de serviço com id externo:

curl -X POST https://carchost.fieldcontrol.com.br/tickets \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here' \
  --data-binary \
  '{
    "name": "Luiz Freneda",
    "message": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas posuere eget tellus vitae malesuada. Duis consequat pulvinar tincidunt. Aenean in enim tincidunt, auctor mauris a, tincidunt turpis.",
    "external": {
      "id": null
    },
    "subject": "Manutenção preventiva",
    "contact": {
      "email": "email@fieldcontrol.com.br",
      "phone": "11963427191"
    },
    "customer": {
      "id": "MTox"
    },
    "location": {
      "id": "ZTE2N2Q3MjctODk4OS00MTY3LTg5ZGMtMTI5NmQxM2VjYTQ5OjE=",
    },
  }' \
  --compressed

Exemplo de resposta de sucesso com id externo:

{
  "id": "M2JlYTAyNDctODAyNC00Mzc5LTkwNWQtYTM5ZWRhYWMzM2NmOjE=",
  "name": "Luiz Freneda",
  "status": "pending",
  "createdAt": "2024-11-25T18:00:00.386Z",
  "external": {
    "id": "d7a9dd0b-730c-4182-82c0-1ac80e0c8a4d"
  },
  "message": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas posuere eget tellus vitae malesuada. Duis consequat pulvinar tincidunt. Aenean in enim tincidunt, auctor mauris a, tincidunt turpis.",
  "subject": "Manutenção preventiva",
  "contact": {
    "email": "email@fieldcontrol.com.br",
    "phone": "11963427191"
  },
  "archived": false,
  "customer": {
    "id": "MTox"
  },
  "equipments": []
}

Recuperar uma solicitação de serviço

Recupera uma solicitação de serviço existente por id

MétodoEndpoint
GEThttps://carchost.fieldcontrol.com.br/tickets/:id
Status CodeDescrição
200Solicitação de serviço recuperada com sucesso
404Solicitação de serviço não encontrada
422Requisição contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Exemplo de requisição para recuperar uma solicitação de serviço:

curl -X GET https://carchost.fieldcontrol.com.br/tickets/:id \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here'

Exemplo de resposta de sucesso:

{
  "id": "ZTg1ZGRkYjctNWU0NS00MDg3LWIxODgtNTVjNGNmNTQ2NWFlOjE=",
  "name": "Luiz Freneda",
  "status": "pending",
  "createdAt": "2024-11-25T18:00:00.386Z",
  "external": {
    "id": null
  },
  "message": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas posuere eget tellus vitae malesuada.",
  "subject": "Manutenção preventiva",
  "contact": {
    "email": "email@fieldcontrol.com.br",
    "phone": "11963427191"
  },
  "archived": false,
  "customer": {
    "id":  "MTox"
  },
  "service": {
    "id": "MzAwOjE="
  },
  "location": {
    "id": "ZTE2N2Q3MjctODk4OS00MTY3LTg5ZGMtMTI5NmQxM2VjYTQ5OjE=",
  },
  "equipments": [
    {
      "number": "1997",
      "qrCode": "58079516-198e-4227-9430-c77286c7f2a3"
    }
  ]
}

Atualizar uma solicitação de serviço

Atualiza uma solicitação de serviço existente

MétodoEndpoint
PUThttps://carchost.fieldcontrol.com.br/tickets/:id
Status CodeDescrição
200Solicitação de serviço atualizada com sucesso
422Solicitação de serviço enviada contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Exemplo de requisição para atualização de uma solicitação de serviço:

curl -X PUT https://carchost.fieldcontrol.com.br/tickets/:id \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here' \
  --data-binary \
  '{
    "name": "Renan",
    "message": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas posuere eget tellus vitae malesuada. Duis consequat pulvinar tincidunt. Aenean in enim tincidunt, auctor mauris a, tincidunt turpis.",
    "external": {
      "id": "8ee186e5-4a7b-4cd2-bad1-01aacefdf49f"
    },
    "subject": "Manutenção mensal",
    "contact": {
      "email": "renan@field.com.br",
      "phone": "17993528763"
    },
    "archived": false
  }' \
  --compressed

Exemplo de resposta de sucesso:

{
  "id": "M2JlYTAyNDctODAyNC00Mzc5LTkwNWQtYTM5ZWRhYWMzM2NmOjE=",
  "name": "Renan",
  "status": "pending",
  "createdAt": "2024-11-25T18:00:00.386Z",
  "external": {
    "id": "8ee186e5-4a7b-4cd2-bad1-01aacefdf49f"
  },
  "message": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas posuere eget tellus vitae malesuada. Duis consequat pulvinar tincidunt. Aenean in enim tincidunt, auctor mauris a, tincidunt turpis.",
  "subject": "Manutenção mensal",
  "contact": {
    "email": "renan@field.com.br",
    "phone": "17993528763"
  },
  "archived": false,
  "customer": null,
  "service": null,
  "location": null,
  "equipments": []
}

Listar solicitações de serviço

Lista solicitações de serviço existentes

MétodoEndpoint
GEThttps://carchost.fieldcontrol.com.br/tickets/
Status CodeDescrição
200Solicitações de serviço recuperadas com sucesso
422Requisição contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Filtros disponíveis para a listagem de solicitações de serviço:

ParâmetroOperadoresDescrição
identifierNenhumIdentificador da solicitação de serviço
nameNenhumNome do cliente da solicitação de serviço
external_idNenhumIdentificador externo
statusNenhumStatus da solicitação de serviço (Somente funcionará se o parâmetro created_at for adicionado em conjunto)
archivedNenhumArquivado
created_at>=, <=, > e <Data de criação da solicitação de serviço

Ordenações disponíveis para a listagem de solicitações de serviço:

ParâmetroDescrição
created_atData de criação em ordem ascendente
-created_atData de criação em ordem descendente

Exemplo de requisição para recuperar lista de solicitações de serviço:

curl -X GET https://carchost.fieldcontrol.com.br/tickets \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here'

Exemplo de resposta de sucesso:

{
  "items": [
    {
      "id": "MTgxYzhmMzQtMGJjMC00ODQwLWI5OTEtMDFlNzFjMWM5Nzk0OjE=",
      "name": "Eduardo Zagari",
      "status": "pending",
      "createdAt": "2024-11-25T18:00:00.386Z",
      "external": {
        "id": null
      },
      "message": "Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
      "subject": "Limpeza",
      "identifier": "15987264",
      "contact": {
        "email": "eduardo.zagari@fieldcontrol.com.br",
        "phone": "11963427098"
      },
      "archived": false,
      "customer": null,
      "service": null,
      "location": null,
      "equipments": []
    },
    {
      "id": "MWEwMWQzYjItZDcwMC00MjYzLTljNTktNDI0ZWMwMTFkYmRhOjE=",
      "name": "Nicola Zagari",
      "status": "pending",
      "createdAt": "2024-11-25T18:05:36.386Z",
      "external": {
        "id": null
      },
      "message": "Bacon ipsum dolor amet shoulder leberkas tenderloin cupim. Meatball chuck turkey biltong short loin. Boudin burgdoggen alcatra, pork belly flank ground round sausage frankfurter doner pig ham hock spare ribs drumstick.",
      "subject": "Limpeza",
      "identifier": "15987266",
      "contact": {
        "email": "zagari@fieldcontrol.com.br",
        "phone": "11963427098"
      },
      "archived": false,
      "customer": null,
      "service": null,
      "location": null,
      "equipments": []
    }
  ],
  "totalCount": 2
}

Atividades

Atividades são os registros das visitas e serviços realizados aos clientes.

Na prática, funciona assim: dado uma ordem de serviço, agora é preciso agendar o atendimento até o local da prestação de serviço (cadastrado na OS).

É necessário atribuir uma data, opcionalmente um horário e um colaborador. As atividades são enviadas para os celulares dos técnicos formando sua agenda de atendimento. Vale ressaltar que é possível criar uma ou mais atividades (visitas) para a mesma ordem de serviço.

Parâmetros

NomeTipoDescrição
idstringIdentificador da atividade
order.idstringIdentificador da ordem de serviço (somente leitura)
employee.idstringIdentificador do colaborador associado
archivedbooleanArquivado (somente leitura)
duration*integerDuração da atividade
position*integerPosição da atividade referente às outras atividades previamente cadastradas
status*stringEstado da atividade. Os valores possíveis são: scheduled, in-progress, done, canceled ou reported
startedAtstringData e hora de início da atividade (somente leitura)
completedAtstringData e hora de fechamento da atividade (somente leitura)
descriptionstringDescrição da atividade
statusDescriptionstringDescrição de fechamento da atividade, por exemplo, detalhes dados pelo técnico sobre a atividade realizada
ratingLinkstringLink de avaliação do colaborador da atividade, apenas é retornado em atividades concluídas.
scheduling.type*stringTipo do agendamento. Os possíveis valores são: scheduled-date e scheduled-date-and-time
scheduling.date*stringData de agendamento da atividade (DD-MM-YYYY)
scheduling.timestringHora de agendamento da atividade (HH:mm)
coords.latitude*floatLatitude - Coordenada geográfica do local de atendimento
coords.longitude*floatLongitude - Coordenada geográfica do local de atendimento
startCoords.latitudestringLatitude inicial - Coordenada geográfica do local inicial de atendimento (somente leitura)
startCoords.longitudestringLongitude inicial - Coordenada geográfica do local inicial de atendimento (somente leitura)
completeCoords.latitudestringLatidude completa - Coordenada geográfica do local do atendimento que foi concluído (somente leitura)
completeCoords.longitudestringLongitude completa - Coordenada geográfica do local do atendimento que foi concluído (somente leitura)
createdAtstringData de criação da atividade (somente leitura)
updatedAtstringData da ultima atualização da atividade (somente leitura)
receivedAtstringData de recebimento da atividade no app do colaborador (somente leitura)
viewedAtstringData de visualização da atividade pelo colaborador (somente leitura)

Atenção: As propriedades com * são obrigatórias

Recuperar uma atividade

Recupera uma atividade existente pelo identificador

MétodoEndpoint
GEThttps://carchost.fieldcontrol.com.br/tasks/:id
Status CodeDescrição
200Atividade recuperada com sucesso
404Atividade não encontrada
422Requisição contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Exemplo de requisição para recuperar uma atividade:

curl -X GET https://carchost.fieldcontrol.com.br/tasks/:id \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here'

Exemplo de resposta de sucesso:

{
  "id": "YTNhYjFmOGEtYTU4MS00OTg0LWJkOTYtNjhmYWIwNzI5OWRhOjE=",
  "duration": 60,
  "position": 1,
  "archived": false,
  "status": "scheduled",
  "startedAt": null,
  "completedAt": null,
  "description": null,
  "statusDescription": null,
  "order": {
    "id": "MTox"
  },
  "employee": {
    "id": "Mzox"
  },
  "scheduling": {
    "type": "scheduled-date",
    "date": null,
    "time": null
  },
  "coords": {
    "latitude": -23.573005,
    "longitude": -46.695866
  },
  "startCoords": {
    "latitude:": -25.576005,
    "longitude": -46.965874
  },
  "completeCoords": {
    "latitude:": -25.585005,
    "longitude": -46.965974
  },
  "createdAt": "2020-05-30T09:23:14Z",
  "updatedAt": "2020-05-30T09:23:14Z",
  "receivedAt": "2020-05-30T09:24:36Z",
  "viewedAt": "2020-05-30T09:30:12Z"
}

Listar atividades

Lista atividades

MétodoEndpoint
GEThttps://carchost.fieldcontrol.com.br/tasks
Status CodeDescrição
200Atividades recuperados com sucesso
422Requisição contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Filtros disponíveis para a listagem de atividades:

ParâmetroOperadoresDescrição
archivedNenhumArquivada
statusNenhumSituação da atividade
employee_idNenhumColaborador vinculado a atividade
scheduled_date>=, <=, > e <Data de agendamento da atividade
created_at>=, <=, > e <Data de criação da atividade
updated_at>=, <=, > e <Data da última atualização da atividade
completed_at>=, <=, > e <Data de conclusão da atividade

Exemplo de requisição para recuperar lista de atividades:

curl -X GET https://carchost.fieldcontrol.com.br/tasks \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here'

Exemplo de resposta de sucesso:

{
  "items": [
    {
      "id": "NzFhYzUxNjYtNDNmYS00MGY4LWE1ZmMtOTE1MjZmNjJmZWM1OjE=",
      "duration": 60,
      "position": 1,
      "archived": false,
      "status": "scheduled",
      "startedAt": null,
      "completedAt": null,
      "description": null,
      "statusDescription": null,
      "order": {
        "id": "MTox"
      },
      "employee": {
        "id": "Mzox"
      },
      "scheduling": {
        "type": "scheduled-date",
        "date": null,
        "time": null
      },
      "coords": {
        "latitude": -23.573005,
        "longitude": -46.695866
      },
      "startCoords": {
        "latitude": -23.573664,
        "longitude": -46.695987
      },
      "completeCoords": {
        "latitude": -24.569745,
        "longitude": -47.594578
      },
      "createdAt": "2020-03-26T09:37:15Z",
      "updatedAt": "2020-05-30T09:23:14Z",
      "receivedAt": null,
      "viewedAt": null
    },
    {
      "id": "YTNhYjFmOGEtYTU4MS00OTg0LWJkOTYtNjhmYWIwNzI5OWRhOjE=",
      "duration": 60,
      "position": 1,
      "archived": false,
      "status": "scheduled",
      "startedAt": null,
      "completedAt": null,
      "description": null,
      "statusDescription": null,
      "order": {
        "id": "MTox"
      },
      "employee": {
        "id": "Mzox"
      },
      "scheduling": {
        "type": "scheduled-date",
        "date": null,
        "time": null
      },
      "coords": {
        "latitude": -23.573005,
        "longitude": -46.695866
      },
       "startCoords": {
        "latitude:": -25.576005,
        "longitude": -46.965874
      },
      "completeCoords": {
        "latitude:": -25.585005,
        "longitude": -46.965974
      },
      "createdAt": "2020-02-25T12:56:00Z",
      "updatedAt": "2020-05-30T09:23:14Z",
      "receivedAt": null,
      "viewedAt": null
    }
  ],
  "totalCount": 2
}

Valores disponíveis para ordenação de resultados:

ValorDescrição
created_atData de criação em ordem ascendente
-created_atData de criação em ordem descendente
updated_atData de atualização em ordem ascendente
-updated_atData de atualização em ordem descendente
scheduled_dateData de agendamento em ordem ascendente
-scheduled_dateData de agendamento em ordem descendente

Colaboradores secundários

Colaboradores secundários são os demais colaboradores além do colaborador principal de uma atividade.

Para atualizar os colaboradores secundários são utilizadas, uma de adição de um colaborador como secundário e outra de remoção de um colaborador secundário, a adição possui algumas regras que também são validadas ao atualizar uma atividade normalmente:

Parâmetros

NomeTipoDescrição
items[].idstringIdentificador de cada colaborador secundário associado

Atenção: As propriedades com * são obrigatórias

Listar Colaboradores secundários de uma Atividade

Liste todas os colaboradores secundários da ordem de serviço.

MétodoEndpoint
GEThttps://carchost.fieldcontrol.com.br/tasks/:task_id/secondary-employees
Status CodeDescrição
200Colaboradores secundários recuperados com sucesso
404Atividade não encontrada

Exemplo de requisição para listagem de colaboradores secundários:

curl -X GET https://carchost.fieldcontrol.com.br/tasks/:task_id/secondary-employees \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here'

Exemplo de resposta de sucesso:

{
  "items": [
    {
      "id": "NDox"
    },
    {
      "id": "MTox"
    }
  ],
  "totalCount": 2
}

Adicionar colaborador secundário a uma atividade

Adiciona um colaborador secundário a uma atividade existente

MétodoEndpoint
POSThttps://carchost.fieldcontrol.com.br/tasks/:task_id/secondary-employees/:employee_id
Status CodeDescrição
200Colaborador secundário adicionado com sucesso
404Atividade ou Colaborador não encontrado(a)
422Dados enviados contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Exemplo de requisição para adição de um colaborador secundário de uma atividade:

curl -X POST https://carchost.fieldcontrol.com.br/tasks/:task_id/secondary-employees/:employee_id \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here'

Exemplo de resposta de sucesso:

{
  "id": "MTox",
  "name": "Colaborador Teste",
  "email": "teste@teste.com",
  "avatarUrl": null,
  "isActive": true,
  "createdAt": "2025-04-14T23:22:57.632Z"
}

Remover colaborador secundário de uma atividade

Remove um colaborador secundário de uma atividade existente

MétodoEndpoint
DELETEhttps://carchost.fieldcontrol.com.br/tasks/:task_id/secondary-employees/:employee_id
Status CodeDescrição
204Colaborador secundário removido com sucesso
404Atividade ou Colaborador não encontrado(a)
422Dados enviados contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Exemplo de requisição para remoção de um colaborador secundário de uma atividade:

curl -X DELETE https://carchost.fieldcontrol.com.br/tasks/:task_id/secondary-employees/:employee_id \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here'

Resposta de sucesso não possui informações no corpo da mensagem

Tipos de OS

Tipos de OS são serviços prestados pela empresa. Exemplos: instalação, manutenção, reparo, etc..

Parâmetros

NomeTipoDescrição
id*stringIdentificador
name*stringNome do tipo de OS
duration*integerDuração estimada
archived*booleanIndica se o tipo de OS está arquivado
createdAtstringData de criação do tipo de OS (somente leitura)

Usuários com perfil de administrador podem gerenciar os tipos de OSs no Painel de gestão pelo link: https://app.fieldcontrol.com.br/#/tipos-de-os

Criar um tipo de OS

Cria um novo tipo de OS

MétodoEndpoint
POSThttps://carchost.fieldcontrol.com.br/services/
Status CodeDescrição
201Tipo de OS criado com sucesso
422Tipo de OS enviado contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Exemplo de requisição para criação de um tipo de OS:

curl -X POST https://carchost.fieldcontrol.com.br/services \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here' \
  --data-binary \
  '{
    "name": "Instalação manual",
    "duration": 120
  }' \
  --compressed

Exemplo de resposta de sucesso:

{
  "id": "MzUxMzE6MjI5MTU=",
  "name": "Reparo",
  "duration": 120,
  "archived": false
}

Recuperar um tipo de OS

Recupera um tipo de OS existente por id

MétodoEndpoint
GEThttps://carchost.fieldcontrol.com.br/services/:id
Status CodeDescrição
200Tipo de OS recuperado com sucesso
404Tipo de OS não encontrado
422Requisição contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Exemplo de requisição para recuperar um tipo de OS:

curl -X GET https://carchost.fieldcontrol.com.br/services/:id \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here'

Exemplo de resposta de sucesso:

{
  "id": "MzA0ODY6MjI5MTU=",
  "name": "Reforma",
  "duration": 240,
  "archived": false
}

Atualizar um tipo de OS

Atualiza um tipo de OS existente

MétodoEndpoint
PUThttps://carchost.fieldcontrol.com.br/services/:id
Status CodeDescrição
200Tipo de OS atualizado com sucesso
422Tipo de OS enviado contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Exemplo de requisição para atualização de um tipo de OS:

curl -X PUT https://carchost.fieldcontrol.com.br/services/:id \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here' \
  --data-binary \
  '{
    "name": "Reforma",
    "duration": 240
  }' \
  --compressed

Exemplo de resposta de sucesso:

{
  "id": "MzA0ODY6MjI5MTU=",
  "name": "Reforma",
  "duration": 240,
  "archived": false
}

Listar tipos de OS

Lista tipos de OS existentes

MétodoEndpoint
GEThttps://carchost.fieldcontrol.com.br/services/
Status CodeDescrição
200Tipos de OS recuperadas com sucesso
422Requisição contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Filtros disponíveis para a listagem de tipos de OS:

ParâmetroDescrição
archivedArquivado
nameNome do tipo de OS

Exemplo de requisição para recuperar lista de tipos de OS:

curl -X GET https://carchost.fieldcontrol.com.br/services \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here'

Exemplo de resposta de sucesso:

{
  "items": [
    {
      "id": "MzA0ODY6MjI5MTU=",
      "name": "Reforma",
      "duration": 240,
      "archived": false
    }
  ],
  "totalCount": 1
}

Ordem de Serviço (OS)

Uma ordem de serviço é a formalização do serviço a ser prestado.

Na prática, funciona assim: o cliente chega até você com uma demanda, solicita um orçamento, há uma negociação e, assim que ela é concluída, é preciso emitir uma OS para organizar internamente o trabalho a ser realizado.

O conteúdo de uma OS varia conforme a atividade exercida por sua empresa e o próprio serviço que será executado. Mas há algumas informações básicas e essenciais presentes em todo documento. Veja quais são elas:

Parâmetros

NomeTipomaxLengthDescrição
idstring-----Id da ordem de serviço
identifier*string-----Identificador da ordem de serviço, deve ser único entre todas as ordens de serviço
archivedboolean-----Indica se a ordem de serviço está arquivada (somente leitura)
totalValuefloat-----Valor total da ordem de serviço (somente leitura)
productsTotalValuefloat-----Valor total dos produtos da ordem de serviço (somente leitura)
servicesTotalValuefloat-----Valor total dos serviços da ordem de serviço (somente leitura)
external.idstring(100)Identificador externo
descriptionstring(2000)Descrição da ordem de serviço, por exemplo, detalhes da OS inseridos pelo gestor e que o técnico deve levar em consideração ao atender a OS
customer.id*string----Id do cliente associado
service.id*string----Id do serviço a ser prestado
address.zipCode*string(10)CEP - Código de endereçamento postal (apenas números)
address.city*string(50)Nome da cidade refente ao CEP
address.state*string(30)Nome do estado referente ao CEP
address.neighborhoodstring(50)Nome do bairro referente ao CEP
address.street*string(50)Nome do logradouro
address.number*string(10)Número da residência/prédio
address.complementstring(50)Informação adicional do endereço
address.coords.latitude*float----Latitude - Coordenada geográfica do local de atendimento
address.coords.longitude*float----Longitude - Coordenada geográfica do local de atendimento
metadataobject----Metadata interna da ordem de serviço
createdAtstring----Data de criação da ordem de serviço (somente leitura)
updatedAtstring----Data da ultima atualização da ordem de serviço (somente leitura)
tasksarray----Atividade(s) associada(s) à ordem de serviço. É necessário somente ao criar uma ordem de serviço
ticket.idstring----Id da Solicitação associado à ordem de serviço caso informado o respectivo ticket será marcado como aceito e arquivado.
location.idstring----Id da localização do cliente associado
deadlineContract.idstring----Id do contrato de prazo associado à ordem de serviço

Criar uma ordem de serviço

Cria uma nova ordem de serviço.

MétodoEndpoint
POSThttps://carchost.fieldcontrol.com.br/orders/
Status CodeDescrição
201Ordem de serviço criada com sucesso
422Ordem de serviço enviada contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Para criar uma ordem de serviço, é necessário criar ao menos uma atividade.

Exemplo de requisição para criação de uma ordem de serviço:

curl -X POST https://carchost.fieldcontrol.com.br/orders \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here' \
  --data-binary \
  '{
    "identifier": "695860",
    "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas posuere eget tellus vitae malesuada.",
    "external": {
      "id": null
    },
    "customer": {
      "id": "MTox"
    },
    "service": {
      "id": "MTox"
    },
    "address": {
      "zipCode": "05005900",
      "city": "Sao Paulo",
      "state": "SP",
      "street": "Rua Turiassu",
      "number": "902",
      "complement": null,
      "neighborhood": null,
      "coords": {
        "latitude": -23.52702,
        "longitude": -46.680823
      }
    },
    "metadata": {
      "shagrat": {
        "a": 1,
        "b": true
      },
    },
    "tasks": [
      {
        description: null,
        "employee": {
          "id": "MTAxOjE="
        },
        "status": "done",
        "duration": 30,
        "scheduling": {
          "date": "2019-08-20",
          "time": "15:00:00"
        },
        "coords": {
          "latitude": -23.52702,
          "longitude": -46.680823
        }
      }
    ],
    "location": {
      "id": "NDUwODQ4MDQtNGZjNS00MTY1LTliYWEtYTU1NDA2MzEwNDNmOjE="
    },
    "deadlineContract": {
      "id": "YTUhYjFmOGEtYTU4MS00OTg0LWJkOTYtNjhmYWIwNzI5OWRhOjE="
    }
  }' \
  --compressed

Para facilitar, é possível definir um cliente (customer) e/ou um tipo de OS (service) e/ou uma localização do cliente (location) por nome na requisição.

Exemplo de requisição para criação de uma ordem de serviço com cliente (customer) e tipo de OS (service) definidos por nome:

curl -X POST https://carchost.fieldcontrol.com.br/orders \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here' \
  --data-binary \
  '{
    "identifier": "695860",
    "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas posuere eget tellus vitae malesuada.",
    "external": {
      "id": null
    },
    "customer": {
      "name": "Luiz Freneda"
    },
    "service": {
      "name": "Instalação de Ar Condicionado"
    },
    "address": {
      "zipCode": "05005900",
      "city": "Sao Paulo",
      "state": "SP",
      "street": "Rua Turiassu",
      "number": "902",
      "complement": null,
      "neighborhood": null,
      "coords": {
        "latitude": -23.52702,
        "longitude": -46.680823
      }
    },
    "tasks": [
      {
        description: null,
        "employee": {
          "id": "MTAxOjE="
        },
        "status": "done",
        "duration": 30,
        "scheduling": {
          "date": "2019-08-20",
          "time": "15:00:00"
        },
        "coords": {
          "latitude": -23.52702,
          "longitude": -46.680823
        }
      }
    ],
    "location": {
      "name": "Sede São Paulo"
    }
  }' \
  --compressed

Exemplo de resposta de sucesso:

{
  "id": "NDJiMWQ0YzQtOWNmOC00NWE2LTg2MjItYjNjNzZjZjk0MmM4OjE=",
  "identifier": "695860",
  "description": "Pork chop salami sausage bresaola turkey. Picanha tri-tip turkey, pork loin rump salami strip steak hamburger kevin cow.",
  "link": "https://app.fieldcontrol.com.br/relacionamento-cliente/#/relatorio/c0a43e7d-3630-44ab-988d-ab9c693b7b29",
  "archived": false,
  "external": {
    "id": null
  },
  "customer": {
    "id": "MTox"
  },
  "service": {
    "id": "MTox"
  },
  "address": {
    "zipCode": "05005900",
    "city": "Sao Paulo",
    "state": "SP",
    "street": "Rua Turiassu",
    "number": "902",
    "complement": null,
    "neighborhood": null,
    "coords": {
      "latitude": -23.52702,
      "longitude": -46.680823
    }
  },
  "createdAt": "2020-06-12T12:00:15Z",
  "tasks": [
    {
      "order": {
        "id": "ZmY1Y2MwOWQtNjAzZi00NmQxLWJiYjUtNDE1OGU3MTEzNmQ1OjE="
      },
      "description": "Short ribs spare ribs rump, dale.",
      "employee": {
        "id": "MTAxOjE="
      },
      "status": "done",
      "startedAt": "2020-02-29T11:38:54Z",
      "completedAt": "2020-02-29T12:12:26Z",
      "duration": 30,
      "scheduling": {
        "date": "2019-08-20",
        "time": "15:00:00"
      },
      "coords": {
        "latitude": -23.52702,
        "longitude": -46.680823
      },
      "updatedAt": "2020-02-29T12:12:26Z"
    }
  ],
  "location": {
    "id": "NDUwODQ4MDQtNGZjNS00MTY1LTliYWEtYTU1NDA2MzEwNDNmOjE="
  },
  "updatedAt": "2020-02-29T12:12:26Z"
}

Recuperar uma ordem de serviço

Recupera uma ordem de serviço existente por id

MétodoEndpoint
GEThttps://carchost.fieldcontrol.com.br/orders/:id
Status CodeDescrição
200Ordem de serviço recuperada com sucesso
404Ordem de serviço não encontrada
422Requisição contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Exemplo de requisição para recuperar uma ordem de serviço:

curl -X GET https://carchost.fieldcontrol.com.br/orders/:id \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here'

Exemplo de resposta de sucesso:

{
  "id": "NTVlMzYxMTktZWJiZi00YmE5LTkzM2YtM2Q5MWU1NjlmMjliOjE=",
  "identifier": "695861",
  "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas posuere eget tellus vitae malesuada. Duis consequat pulvinar.",
  "archived": false,
  "external": {
    "id": "55ffbc10-db39-42d7-9bd8-6ccafe4740e2"
  },
  "link": "https://app.fieldcontrol.com.br/relacionamento-cliente/#/relatorio/42b1d4c4-9cf8-45a6-8622-b3c76cf942c8",
  "customer": {
    "id": "MTox"
  },
  "service": {
    "id": "MTox"
  },
  "address": {
    "zipCode": "05005900",
    "city": "Sao Paulo",
    "state": "SP",
    "street": "Rua Turiassu",
    "number": "902",
    "complement": null,
    "neighborhood": null,
    "coords": {
      "latitude": -23.527028,
      "longitude": -46.680823
    }
  },
  "createdAt": "2020-06-12T13:20:15Z",
  "updatedAt": "2020-02-29T12:12:26Z",
  "location": {
    "id": "NDUwODQ4MDQtNGZjNS00MTY1LTliYWEtYTU1NDA2MzEwNDNmOjE="
  }
}

Atualizar uma ordem de serviço

Atualiza uma ordem de serviço existente

MétodoEndpoint
PUThttps://carchost.fieldcontrol.com.br/orders/:id
Status CodeDescrição
200Ordem de serviço atualizada com sucesso
422Ordem de serviço enviada contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Exemplo de requisição para atualização de uma ordem de serviço:

curl -X PUT https://carchost.fieldcontrol.com.br/orders/:id \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here' \
  --data-binary \
  '{
    "identifier": "695869",
    "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas posuere eget tellus vitae malesuada.",
    "external": {
      "id": "360fddc7-721d-499a-8d40-9b3b6ce41a97"
    },
    "customer": {
      "id": "MTox"
    },
    "service": {
      "id": "MTox"
    },
    "address": {
      "zipCode": "15057560",
      "street": "Avenida Brasil",
      "number": "898",
      "neighborhood": null,
      "complement": null,
      "city": "Rio de Janeiro",
      "state": "RJ",
      "coords": {
        "latitude": -23.573005,
        "longitude": -46.695866
      }
    }
  }' \
  --compressed

Exemplo de resposta de sucesso:

{
  "id": "NTVlMzYxMTktZWJiZi00YmE5LTkzM2YtM2Q5MWU1NjlmMjliOjE=",
  "identifier": "695869",
  "external": {
    "id": "360fddc7-721d-499a-8d40-9b3b6ce41a97"
  },
  "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas posuere eget tellus vitae malesuada.",
  "archived": false,
  "link": "https://app.fieldcontrol.com.br/relacionamento-cliente/#/relatorio/42b1d4c4-9cf8-45a6-8622-b3c76cf942c8",
  "customer": {
    "id": "MTox"
  },
  "service": {
    "id": "MTox"
  },
  "address": {
    "zipCode": "15057560",
    "street": "Avenida Brasil",
    "number": "898",
    "neighborhood": null,
    "complement": null,
    "city": "Rio de Janeiro",
    "state": "RJ",
    "coords": {
      "latitude": -23.573005,
      "longitude": -46.695866
    }
  },
  "metadata": {
    "shagrat": {
      "a": 1
    },
  },
  "createdAt": "2020-06-12T16:00:00Z",
  "updatedAt": "2020-02-29T12:12:26Z",
  "location": {
    "id": "NDUwODQ4MDQtNGZjNS00MTY1LTliYWEtYTU1NDA2MzEwNDNmOjE="
  }
}

Listar ordens de serviço

Lista ordens de serviço existentes

MétodoEndpoint
GEThttps://carchost.fieldcontrol.com.br/orders/
Status CodeDescrição
200Ordens de serviços recuperadas com sucesso
422Requisição contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Filtros disponíveis para a listagem de ordens de serviço:

ParâmetroOperadoresDescrição
identifierNenhumIdentificador da ordem de serviço
customer_idNenhumIdentificador do cliente da ordem de serviço
external_idNenhumIdentificador externo
ticket_idNenhumIdentificador da solicitação de serviço
service_idNenhumIdentificador do tipo de OS da ordem de serviço
created_at>=, <=, > e <Data de criação da ordem de serviço
updated_at>=, <=, > e <Data da última atualização da ordem de serviço

Exemplo de requisição para recuperar lista de ordens de serviço:

curl -X GET https://carchost.fieldcontrol.com.br/orders \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here'

Exemplo de resposta de sucesso:

{
  "items": [
    {
      "id": "MDRlYjVjY2YtZjBmZC00NjBjLTk2NWItOWI3MDBiNGJiYjgxOjE=",
      "identifier": "695865",
      "archived": false,
      "description": null,
      "external": {
        "id": null
      },
      "link": "https://app.fieldcontrol.com.br/relacionamento-cliente/#/relatorio/42b1d4c4-9cf8-45a6-8622-b3c76cf942c8",
      "customer": {
        "id": "MTox"
      },
      "service": {
        "id": "MTox"
      },
      "ticket": {
        "id": "MTox"
      },
      "address": {
        "zipCode": "15085480",
        "street": "Rua dos Pinheiros",
        "number": "383",
        "neighborhood": null,
        "complement": null,
        "city": "Sao paulo",
        "state": "SP",
        "coords": {
          "latitude": -23.573005,
          "longitude": -46.695866
        }
      },
      "metadata": {
        "shagrat": {
          "a": 1,
          "b": true
        },
      },
      "createdAt": "2020-06-12T12:00:15Z",
      "updatedAt": "2020-02-29T12:12:26Z",
      "location": {
        "id": "NDUwODQ4MDQtNGZjNS00MTY1LTliYWEtYTU1NDA2MzEwNDNmOjE="
      },
      "deadlineContract": {
        "id": "YTUhYjFmOGEtYTU4MS00OTg0LWJkOTYtNjhmYWIwNzI5OWRhOjE="
      }
    },
    {
      "id": "MDRlYjVjY2YtZjBmZC00NjBjLTk2NWItOWI3MDBiNGJiYjgyOjE=",
      "identifier": "695866",
      "description": null,
      "archived": false,
      "external": {
        "id": null
      },
      "customer": {
        "id": "MTox"
      },
      "service": {
        "id": "MTox"
      },
      "ticket": {
        "id": "MTox"
      },
      "address": {
        "zipCode": "15085480",
        "street": "Rua dos Pinheiros",
        "number": "383",
        "neighborhood": null,
        "complement": null,
        "city": "Sao paulo",
        "state": "SP",
        "coords": {
          "latitude": -23.573005,
          "longitude": -46.695866
        }
      },
      "metadata": {
        "shagrat": {
          "a": 1
        },
      },
      "createdAt": "2020-06-12T12:00:15Z",
      "updatedAt": "2020-02-29T12:12:26Z",
      "location": {
        "id": "NzRkMDgyYWMtNDQ0YS00Zjc3LTg5NjMtOTZlOTFjMzlmOTdkOjE="
      },
      "deadlineContract": null
    }
  ],
  "totalCount": 205
}

Valores disponíveis para ordenação de resultados:

ValorDescrição
created_atData de criação em ordem ascendente
-created_atData de criação em ordem descendente
updated_atData de atualização em ordem ascendente
-updated_atData de atualização em ordem descendente

Criar uma atividade

Cria uma nova atividade para ordem de serviço.

MétodoEndpoint
POSThttps://carchost.fieldcontrol.com.br/orders/:order_id/tasks
Status CodeDescrição
201Atividade criado com sucesso
422Atividade enviada contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Exemplo de requisição para criação de uma atividade:

curl -X POST https://carchost.fieldcontrol.com.br/orders/:order_id/tasks \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here' \
  --data-binary \
  '{
    "duration": 120,
    "position": 1,
    "status": "reported",
    "statusDescription": "O associado não atende as ligações",
    "description": null,
    "employee": {
      "id": "MTox"
    },
    "scheduling": {
      "type": "scheduled-date",
      "date": "2019-07-01"
    },
    "coords": {
      "latitude": -20.811812,
      "longitude": -49.382726
    }
  }' \
  --compressed

Na criação da atividade é possível definir o colaborador (employee) por nome na requisição.

Exemplo de requisição para criação de uma atividade com colaborador (employee) definido por nome:

curl -X POST https://carchost.fieldcontrol.com.br/orders/:order_id/tasks \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here' \
  --data-binary \
  '{
    "duration": 120,
    "position": 1,
    "status": "done",
    "description": null,
    "employee": {
      "name": "Ronaldo Gaúcho"
    },
    "scheduling": {
      "type": "scheduled-date",
      "date": "2019-07-01"
    },
    "coords": {
      "latitude": -20.811812,
      "longitude": -49.382726
    }
  }' \
  --compressed

Exemplo de resposta de sucesso:

{
  "id": "ZDk5MDVmYTAtYzRhOC00MTY4LWI5NjgtNTUxZDJjZTIyN2ZmOjIyOTE1",
  "duration": 120,
  "position": 1,
  "status": "done",
  "archived": false,
  "startedAt": "2020-02-29T11:38:54Z",
  "completedAt": "2020-02-29T12:12:26Z",
  "statusDescription": null,
  "ratingLink": "https://app.fieldcontrol.com.br/relacionamento-cliente/#/avaliacao-do-atendimento/251d5676-232f-407f-90ef-f25ecfa64621",
  "order": {
    "id": "MTox"
  },
  "description": null,
  "employee": {
    "id": "NDoyMjkxNQ=="
  },
  "scheduling": {
    "type": "scheduled-date",
    "date": "2019-07-01",
    "time": null
  },
  "coords": {
    "latitude": -20.811812,
    "longitude": -49.382726
  },
  "createdAt": "2020-06-13T18:25:00Z",
  "receivedAt": null,
  "viewedAt": null
}

Recuperar uma atividade de uma OS

Recupera uma atividade de uma ordem de serviço

MétodoEndpoint
GEThttps://carchost.fieldcontrol.com.br/orders/:order_id/tasks/:task_id
Status CodeDescrição
200Atividade recuperada com sucesso
404Atividade não encontrada
422Requisição contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Exemplo de requisição para recuperar uma atividade:

curl -X GET https://carchost.fieldcontrol.com.br/orders/:order_id/tasks/:id \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here'

Exemplo de resposta de sucesso:

{
  "id": "YTNhYjFmOGEtYTU4MS00OTg0LWJkOTYtNjhmYWIwNzI5OWRhOjE=",
  "duration": 60,
  "position": 1,
  "archived": false,
  "status": "scheduled",
  "startedAt": null,
  "completedAt": null,
  "statusDescription": null,
  "order": {
    "id": "MTox"
  },
  "description": null,
  "employee": {
    "id": "Mzox"
  },
  "scheduling": {
    "type": "scheduled-date",
    "date": null,
    "time": null
  },
  "coords": {
    "latitude": -23.573005,
    "longitude": -46.695866
  },
  "createdAt": "2020-05-30T09:23:14Z",
  "receivedAt": "2020-05-30T09:32:48Z",
  "viewedAt": null
}

Atualizar uma atividade

Atualiza uma atividade existente de uma ordem de serviço

MétodoEndpoint
PUThttps://carchost.fieldcontrol.com.br/orders/:order_id/tasks/:id
Status CodeDescrição
200Atividade atualizada com sucesso
422Atividade enviada contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Exemplo de requisição para atualização de uma atividade:

curl -X POST https://carchost.fieldcontrol.com.br/orders/:order_id/tasks/:id \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here' \
  --data-binary \
  '{
    "duration": 120,
    "position": 1,
    "status": "done",
    "description": null,
    "employee": {
      "name": "Ronaldo Gaúcho"
    },
    "scheduling": {
      "type": "scheduled-date",
      "date": "2019-07-01"
    },
    "coords": {
      "latitude": -20.811812,
      "longitude": -49.382726
    }
  }' \
  --compressed

Exemplo de resposta de sucesso:

{
  "id": "ZDk5MDVmYTAtYzRhOC00MTY4LWI5NjgtNTUxZDJjZTIyN2ZmOjIyOTE1",
  "duration": 120,
  "position": 1,
  "archived": false,
  "status": "done",
  "startedAt": "2020-02-29T11:38:54Z",
  "completedAt": "2020-02-29T12:12:26Z",
  "statusDescription": null,
  "ratingLink": "https://app.fieldcontrol.com.br/relacionamento-cliente/#/avaliacao-do-atendimento/1b80618e-2197-488a-9e07-06e97de0e61b",
  "order": {
    "id": "MTox"
  },
  "description": null,
  "employee": {
    "id": "NDoyMjkxNQ=="
  },
  "scheduling": {
    "type": "scheduled-date",
    "date": "2019-07-01",
    "time": null
  },
  "coords": {
    "latitude": -20.811812,
    "longitude": -49.382726
  },
  "createdAt": "2020-04-01T10:40:39Z",
  "receivedAt": "2020-04-01T10:42:48Z",
  "viewedAt": null
}

Listar atividades de uma OS

Lista atividades de uma ordem de serviço

MétodoEndpoint
GEThttps://carchost.fieldcontrol.com.br/orders/:order_id/tasks
Status CodeDescrição
200Atividades recuperados com sucesso
422Requisição contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Filtros disponíveis para a listagem de atividades:

ParâmetroOperadoresDescrição
archivedNenhumArquivada
created_at>=, <=, > e <Data de criação da atividade
scheduled_date>=, <=, > e <Data de agendamento da atividade
statusNenhumSituação da atividade

Exemplo de requisição para recuperar lista de atividades:

curl -X GET https://carchost.fieldcontrol.com.br/orders/:order_id/tasks \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here'

Exemplo de resposta de sucesso:

{
  "items": [
    {
      "id": "NzFhYzUxNjYtNDNmYS00MGY4LWE1ZmMtOTE1MjZmNjJmZWM1OjE=",
      "duration": 60,
      "position": 1,
      "archived": false,
      "status": "scheduled",
      "startedAt": null,
      "completedAt": null,
      "statusDescription": null,
      "order": {
        "id": "MTox"
      },
      "description": null,
      "employee": {
        "id": "Mzox"
      },
      "scheduling": {
        "type": "scheduled-date",
        "date": null,
        "time": null
      },
      "coords": {
        "latitude": -23.573005,
        "longitude": -46.695866
      },
      "createdAt": "2020-03-26T09:37:15Z",
      "receivedAt": null,
      "viewedAt": null
    },
    {
      "id": "YTNhYjFmOGEtYTU4MS00OTg0LWJkOTYtNjhmYWIwNzI5OWRhOjE=",
      "duration": 60,
      "position": 1,
      "archived": false,
      "status": "scheduled",
      "startedAt": null,
      "completedAt": null,
      "statusDescription": null,
      "order": {
        "id": "MTox"
      },
      "description": null,
      "employee": {
        "id": "Mzox"
      },
      "scheduling": {
        "type": "scheduled-date",
        "date": null,
        "time": null
      },
      "coords": {
        "latitude": -23.573005,
        "longitude": -46.695866
      },
      "createdAt": "2020-02-25T12:56:00Z",
      "receivedAt": null,
      "viewedAt": null
    }
  ],
  "totalCount": 2
}

Valores disponíveis para ordenação de resultados:

ValorDescrição
created_atData de criação em ordem ascendente
-created_atData de criação em ordem descendente
scheduled_dateData de agendamento em ordem ascendente
-scheduled_dateData de agendamento em ordem descendente

Recuperar um formulário

Formulários são informações estruturadas por perguntas e respostas usadas para coletar e organizar informações sobre uma ordem de serviço

Parâmetros

NomeTipoDescrição
idstringIdentificador do formulário
name*stringNome do formulário
archived*booleanSe o formulário está arquivado ou não
score*integerSoma do score das respostas
orderobjectOS que o formulário está vinculado
order.id*stringIdentificador da OS
questions*arrayTodas as perguntas do formulário
questions[].type*stringTipo de resposta da pergunta. Os valores possíveis são: picture, short-answer, paragraph, dropdown, multiple-choice, checkboxes, numeric, date, currency, email, phone ou document.
questions[].position*integerPosição que a pergunta deve ter dentre outras perguntas
questions[].required*booleanSe a pergunta é obrigatória ou não
questions[].title*stringTítulo da pergunta
questions[].answer*stringResposta da pergunta
questions[].optionsarrayTodas as opções de resposta para uma pergunta
questions[].options[].value*stringValor de uma opção de resposta para a pergunta
questions[].options[].position*stringPosição que a opção deve ter dentre outras opções
questions[].options[].score*stringValor da pontuação atribuida aquela resposta da pergunta
questions[].conditionsarrayTodas as opções de resposta para uma pergunta que possua uma condição
questions[].conditions[].value*stringValor de uma opção de resposta para a pergunta condicional
questions[].conditions[].condition*stringTipo de relacionamento entre a pergunta e condição. O valor possível é: equal
questions[].conditions[].question.title*stringTítulo da pergunta a qual a condição corresponde

Recupera um formulário respondido existente por id

MétodoEndpoint
GEThttps://carchost.fieldcontrol.com.br/orders/:order_id/forms/:id
Status CodeDescrição
200Formulário recuperado com sucesso
404Formulário não encontrado
422Requisição contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Exemplo de requisição para recuperar um formulário:

curl -X GET https://carchost.fieldcontrol.com.br/orders/:order_id/forms/ZTg1ZGRkYjctNWU0NS00MDg3LWIxODgtNTVjNGNmNTQ2NWFlOjE= \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here'

Exemplo de resposta de sucesso:

{
  "id": "NzU4MjJmYWItY2M0My00MWJlLWE1N2UtN2YzYjZlN2IxZDIxOjE=",
  "name": "Instalação de Internet",
  "archived": false,
  "score": 10,
  "order": {
    "id": "DzU5tjJmYWItY2M0My00MWJlLWE1N2UtN2YzYjZlN2IxZDIxOjE="
  }
  "questions": [
    {
      "type": "multiple-choice",
      "position": 1,
      "required": true,
      "title": "Qual era o meio de acesso à internet que o cliente possuía?",
      "answer": "Fibra Ótica",
      "options": [
        {
          "position": 1,
          "value": "ADSL",
          "score": null
        },
        {
          "position": 2,
          "value": "Fibra Ótica",
          "score": 10
        },
        {
          "position": 3,
          "value": "Via Rádio",
          "score": 5
        }
      ],
      "conditions": []
    },
    {
      "type": "short-answer",
      "position": 2,
      "required": false,
      "title": "Qual era a operadora de internet?",
      "answer": "NET",
      "conditions": [
        {
        "question": {
          "title": "Qual era o meio de acesso à internet que o cliente possuía?"
        },
        "condition": "equal",
        "value": "ADSL"
        }
      ]
    }
  ]
}

Listar formulários

Lista formulários respondidos existentes para uma ordem de serviço

MétodoEndpoint
GEThttps://carchost.fieldcontrol.com.br/orders/:order_id/forms
Status CodeDescrição
200Formulários respondidos recuperados com sucesso
422Requisição contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Exemplo de requisição para recuperar lista de formulários de uma ordem de serviço:

curl -X GET https://carchost.fieldcontrol.com.br/orders/:order_id/forms \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here'

Exemplo de resposta de sucesso:

{
  "items": [
    {
      "id": "MDNiNDdhYTgtNzAxNC00NGEzLWJhYjItMTRjMjBjODQ1YTViOjE=",
      "name": "Instalação de ar-condicionado",
      "archived": false,
      "createdAt": "2019-08-07T11:10:45.366Z",
      "order": {
        "id": "DzU5tjJmYWItY2M0My00MWJlLWE1N2UtN2YzYjZlN2IxZDIxOjE="
      }
    },
    {
      "id": "NTA3ZjFiMWYtZDUzZC00MTdkLWFkMzAtNDE4ZjA2ZmZhYjQxOjE=",
      "name": "Instalação de internet",
      "archived": false,
      "createdAt": "2019-08-07T13:21:23.337Z",
      "order": {
        "id": "DzU5tjJmYWItY2M0My00MWJlLWE1N2UtN2YzYjZlN2IxZDIxOjE="
      }
    }
  ],
  "totalCount": 2
}

Inserir equipamentos em uma OS

Insere um equipamento em uma ordem de serviço.

Parâmetros

NomeTipoDescrição
equipment.idstringIdentificador do equipamento
MétodoEndpoint
POSThttps://carchost.fieldcontrol.com.br/orders/:order_id/equipments
Status CodeDescrição
201Equipamento inserido com sucesso na ordem de serviço
422Identificador do equipamento enviado é inválido, o equipamento não foi encontrado ou o cliente associado ao equipamento não corresponde ao equipamento associado à ordem de serviço
409Equipamento já está inserido na ordem de serviço

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Exemplo de requisição para inserção de um equipamento em uma OS:

curl -X POST https://carchost.fieldcontrol.com.br/orders/:order_id/equipments \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here' \
  --data-binary \
  '{
    "equipment": {
      "id": "NjAwNzc0NDEtMDZkNS00MDJkLWFiNzMtMTFmMmZhNzQ2MGRmOjIxNjQ1"
    }
  }' \
  --compressed

Exemplo de resposta de sucesso:

{
  "id": "NjAwNzc0NDEtMDZkNS00MDJkLWFiNzMtMTFmMmZhNzQ2MGRmOjIxNjQ1",
  "name": "Venax FI109",
  "number": "4as57n9c7",
  "notes": "Localizado no centro da cozinha",
  "archived": false,
  "qrCode": "5f40c7a6-3889-4b5c-afc2-8484af60bae6",
  "avatarUrl": null,
  "customer": {
    "id": "MTox"
  },
  "type": {
    "id": "NDFkNzk3MDctZDI3Yy00ZTM1LWJmZGQtYTNhMTUwNzEwNmNkOjE="
  },
  "locationSector": {
    "id": "NDFkNzk3MDctZDI3Yy00ZTM1LWJmZGQtYTNhMTUwNzEwNmNkOjE="
  },
  "locationEnvironment": {
    "id": "NDFkNzk3MDctZDI3Yy00ZTM1LWJmZGQtYTNhMTUwNzEwNmNkOjE="
  },
  "customFields": [
    {
      "id": "ZDRhODlmNDYtOWE1MS00Njg1LThmMGUtNmU3MTIyZTJjY2MwOjIyOTE1",
      "name": "Qual a data de fabricação do forno?",
      "value": "2020-02-19T16:40:43.671Z",
      "position": 1
    },
    {
      "id": "ZWQ0NjE5MjgtNzhkMy00Y2YyLWI4NDAtMmZjZTI2ZGE4MjVjOjIyOTE1",
      "name": "Qual a potência do forno?",
      "value": "4.5",
      "position": 2
    },
    {
      "id": "ZjM4MDAwMDMtZjc2Zi00ODdlLWJlYjMtYzQyODczZTBiYWQ3OjIyOTE1",
      "name": "Selecione a marca:",
      "value": "Venax",
      "position": 3
    }
  ],
  "createdAt": "2020-07-01T12:34:12Z"
}

Recuperar um equipamento de uma OS

Recupera um equipamento associado a uma ordem de serviço.

MétodoEndpoint
GEThttps://carchost.fieldcontrol.com.br/orders/:order_id/equipments/:equip_id
Status CodeDescrição
200Equipamento recuperado com sucesso
404Ordem de serviço não encontrada ou equipamento não encontrado
422Requisição contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Exemplo de requisição para recuperar um equipamento:

curl -X GET https://carchost.fieldcontrol.com.br/orders/:order_id/equipments/:equip_id \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here'

Exemplo de resposta de sucesso:

{
  "id": "NjAwNzc0NDEtMDZkNS00MDJkLWFiNzMtMTFmMmZhNzQ2MGRmOjIxNjQ1",
  "name": "Venax FI109",
  "number": "4as57n9c7",
  "notes": "Localizado no centro da cozinha",
  "archived": false,
  "qrCode": "5f40c7a6-3889-4b5c-afc2-8484af60bae6",
  "avatarUrl": null,
  "locationSector": {
    "id": "NDFkNzk3MDctZDI3Yy00ZTM1LWJmZGQtYTNhMTUwNzEwNmNkOjE="
  },
  "locationEnvironment": {
    "id": "NDFkNzk3MDctZDI3Yy00ZTM1LWJmZGQtYTNhMTUwNzEwNmNkOjE="
  },
  "customer": {
    "id": "MTox"
  },
  "type": {
    "id": "NDFkNzk3MDctZDI3Yy00ZTM1LWJmZGQtYTNhMTUwNzEwNmNkOjE="
  },
  "customFields": [
    {
      "id": "ZDRhODlmNDYtOWE1MS00Njg1LThmMGUtNmU3MTIyZTJjY2MwOjIyOTE1",
      "name": "Qual a data de fabricação do forno?",
      "value": "2020-02-19T16:40:43.671Z",
      "position": 1
    },
    {
      "id": "ZWQ0NjE5MjgtNzhkMy00Y2YyLWI4NDAtMmZjZTI2ZGE4MjVjOjIyOTE1",
      "name": "Qual a potência do forno?",
      "value": "4.5",
      "position": 2
    },
    {
      "id": "ZjM4MDAwMDMtZjc2Zi00ODdlLWJlYjMtYzQyODczZTBiYWQ3OjIyOTE1",
      "name": "Selecione a marca:",
      "value": "Venax",
      "position": 3
    }
  ],
  "createdAt": "2020-07-01T12:34:12Z"
}

Listar equipamentos de uma OS

Lista todos os equipamentos associados a uma ordem de serviço.

MétodoEndpoint
GEThttps://carchost.fieldcontrol.com.br/orders/:order_id/equipments
Status CodeDescrição
200Equipamentos recuperados com sucesso
404Ordem de serviço não encontrada
422Requisição contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Exemplo de requisição para recuperar lista de equipamentos de uma ordem de serviço:

curl -X GET https://carchost.fieldcontrol.com.br/orders/:order_id/equipments \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here'

Exemplo de resposta de sucesso:

{
  "items": [
    {
      "id": "MTEwOGIxOTEtZWVhOS00Mzk5LTliZWYtYmZiNDExYWYzYTU3OjEyMA==",
      "name": "LG R500",
      "number": "AD45FSD654F",
      "notes": null,
      "archived": false,
      "qrCode": "5f40c7a6-3889-4b5c-afc2-8484af60bae6",
      "avatarUrl": null,
      "locationSector": {
        "id": "NDFkNzk3MDctZDI3Yy00ZTM1LWJmZGQtYTNhMTUwNzEwNmNkOjE="
      },
      "locationEnvironment": {
        "id": "NDFkNzk3MDctZDI3Yy00ZTM1LWJmZGQtYTNhMTUwNzEwNmNkOjE="
      },
      "customer": {
        "id": "MTIzNTQ6MTIw"
      },
      "type": {
        "id": "YmQwZWE3MmItNTdkOS00MDlhLTg0YzktMjFlMDE3MzgzNTcwOjEyMA=="
      },
      "customFields": []
      "createdAt": "2020-07-01T12:34:12Z"
    },
    {
      "id": "YWRlM2Q1NTItNWQ2NC00MmU3LTllMTMtMWUyMmM1ZWUyOTExOjEyMA==",
      "name": "Samsung TY-960",
      "number": "SD8RJ8YJ79C3",
      "notes": null,
      "archived": false,
      "qrCode": "2d330bae-8adc-4513-b549-40cf4d0b6a9a",
      "avatarUrl": null,
      "locationSector": {
        "id": "NDFkNzk3MDctZDI3Yy00ZTM1LWJmZGQtYTNhMTUwNzEwNmNkOjE="
      },
      "locationEnvironment": {
        "id": "NDFkNzk3MDctZDI3Yy00ZTM1LWJmZGQtYTNhMTUwNzEwNmNkOjE="
      },
      "customer": {
        "id": "ODc5MzoxMjA="
      },
      "type": {
        "id": "MDc2MGQ2Y2MtMDViNC00ZDY2LTg1N2MtY2VkZjZlOTE5MzY2OjEyMA=="
      },
      "customFields": [],
      "createdAt": "2020-07-01T12:34:12Z"
    },
  ],
  "totalCount": 2
}

Remover um equipamento de uma OS

Remove um equipamento de uma ordem de serviço.

MétodoEndpoint
DELETEhttps://carchost.fieldcontrol.com.br/orders/:order_id/equipments/:equip_id
Status CodeDescrição
204Equipamento removido com sucesso
404Ordem de serviço não encontrada ou equipamento não encontrado na ordem de serviço
422Requisição contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Exemplo de requisição para remover um equipamento de uma ordem de serviço:

curl -X DELETE https://carchost.fieldcontrol.com.br/orders/:order_id/equipments/:equip_id \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here'

Resposta de sucesso não possui informações no corpo da mensagem

Listar produtos de uma OS

Produtos utlizados em uma ordem de serviço.

MétodoEndpoint
GEThttps://carchost.fieldcontrol.com.br/orders/:order_id/products
Status CodeDescrição
200Produtos recuperados com sucesso
422Requisição contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Exemplo de requisição para recuperar lista de produtos de uma ordem de serviço:

curl -X GET https://carchost.fieldcontrol.com.br/orders/:order_id/products \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here'

Exemplo de resposta de sucesso:

{
  "items": [
    {
      "id": "ODBlYjE0MTQtMjAwYi00NmZhLWFGYyZjY0OjE=",
      "order": {
        "id": "NDJiMWQ0YzQtOWNmOC00NWE2LTg2MjIt4OjE=",
      },
      "product": {
        "id": "YzQ3NWExMjUtZDFjZC00ZGUw1Y2FjODRjNGQwOjE=",
        "name": "Cabo coaxial",
      },
      "quantity": 2,
    },
  ],
  "totalCount": 1
}

Inserir etiquetas em uma OS

Insere uma etiqueta em uma ordem de serviço.

Parâmetros

NomeTipoDescrição
label.idstringIdentificador da etiqueta
MétodoEndpoint
POSThttps://carchost.fieldcontrol.com.br/orders/:order_id/labels
Status CodeDescrição
201Etiqueta inserida com sucesso na ordem de serviço
422Identificador da etiqueta enviado é inválido ou a etiqueta não foi encontrada
409Etiqueta já está inserida na ordem de serviço

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Exemplo de requisição para inserção de uma etiqueta em uma OS:

curl -X POST https://carchost.fieldcontrol.com.br/orders/:order_id/labels \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here' \
  --data-binary \
  '{
    "label": {
      "id": "OGFjYmZjNDctMDkxMy00YTU2LWI1OTQtYWEzMWI5OGU0Y2IwOjE="
    }
  }' \
  --compressed

Exemplo de resposta de sucesso:

{
  "id": "OGFjYmZjNDctMDkxMy00YTU2LWI1OTQtYWEzMWI5OGU0Y2IwOjE=",
  "name": "Carne Completo",
  "color": "purple",
  "type": "orders"
}

Listar etiquetas de uma OS

Lista as etiquetas vinculadas a OS

MétodoEndpoint
GEThttps://carchost.fieldcontrol.com.br/orders/:id/labels
Status CodeDescrição
200Etiquetas recuperadas com sucesso
422Requisição contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Exemplo de resposta de sucesso:

{
  "items": [
    {
      "id": "MDFmMWRhNGMtYTQyOC00Y2NlLTgyZmUtNTM0ODYyMzRlMmQ2OjE=",
      "name": "Pizza",
      "color": "red"
    },
    {
      "id": "NTZkZjk3MzMtZmI2NC00MTMyLTlhMTItNDAxYzIyMmJiZGFjOjE=",
      "name": "Parmegiana",
      "color": "yellow"
    }
  ],
  "totalCount": 2
}

Remover uma etiqueta de uma OS

Remove uma etiqueta de uma ordem de serviço.

MétodoEndpoint
DELETEhttps://carchost.fieldcontrol.com.br/orders/:order_id/labels/:label_id
Status CodeDescrição
204Etiqueta removida com sucesso
404Ordem de serviço não encontrada ou etiqueta não encontrada na ordem de serviço
422Requisição contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Exemplo de requisição para remover uma etiqueta de uma ordem de serviço:

curl -X DELETE https://carchost.fieldcontrol.com.br/orders/:order_id/labels/:label_id \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here'

Resposta de sucesso não possui informações no corpo da mensagem

Listar assinaturas da OS

Liste todas as assinaturas da ordem de serviço.

MétodoEndpoint
GEThttps://carchost.fieldcontrol.com.br/orders/:order_id/signatures
Status CodeDescrição
200Assinaturas recuperadas com sucesso
404Assinaturas não encontradas

Exemplo de requisição para listagem de assinaturas:

curl -X GET https://carchost.fieldcontrol.com.br/orders/:order_id/signatures \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here'

Exemplo de resposta de sucesso:

{
  "id": "NzkxODk4M2QtZTUyYy00YTk3LWE3ZDEtMjVjZTUyYmZlMjAxOjE=",
  "name": "Marcos",
  "createdAt": "2019-10-08T18:42:00.000Z",
  "path": "com-assinatura.png",
  "order": {
    "id": "NzkxODk4M2QtZTUyYy00YTk3LWE3ZDEtMjVjZTUyYmZlMjAxOjE="
  }
}

Contratos de Prazos

Contratos de prazos são acordos estabelecidos entre as partes envolvidas em uma ordem de serviço, definindo os prazos para a execução das atividades e entrega dos serviços.

Parâmetros

NomeTipoDescrição
idstringIdentificador
name*stringNome
descriptionstringDescrição
archivedbooleanIndica se o contrato de prazos está arquivado
hasOfficeHoursbooleanIndica se o contrato de prazos possui horários de atendimento personalizados
considerHolidaybooleanIndica se o contrato de prazos considera feriados
officeHoursobjectHorários de atendimento (veja a observação abaixo)
responseDeadlineintegerPrazo de resposta
solutionDeadlineintegerPrazo de solução
responseDeadlineRiskintegerPrazo de resposta em risco
solutionDeadlineRiskintegerPrazo de solução em risco
responseDeadlineDisplayUnitstringUnidade de exibição do prazo de resposta (veja a observação abaixo)
solutionDeadlineDisplayUnitstringUnidade de exibição do prazo de solução (veja a observação abaixo)
responseDeadlineRiskDisplayUnitstringUnidade de exibição do prazo de resposta em risco (veja a observação abaixo)
solutionDeadlineRiskDisplayUnitstringUnidade de exibição do prazo de solução em risco (veja a observação abaixo)
createdAtstringData de criação (somente leitura)
updatedAtstringData de última atualização (somente leitura)

Horários de atendimento

Os horários de atendimento são períodos específicos em que o contrato de prazos estará ativo, permitindo que as partes envolvidas cumpram os prazos acordados utilizando essas informações como base. Em caso de ordens de serviço vinculados a um contrato de prazos, o prazo de atendimento daquela ordem de serviço será calculado com base nesses horários.

NomeTipoDescrição
officeHours.mondayobjectHorário de atendimento na segunda-feira
officeHours.monday.fromstringHorário de início do atendimento na segunda-feira em HH:mm
officeHours.monday.tostringHorário de término do atendimento na segunda-feira em HH:mm
officeHours.tuesdayobjectHorário de atendimento na terça-feira
officeHours.tuesday.fromstringHorário de início do atendimento na terça-feira em HH:mm
officeHours.tuesday.tostringHorário de término do atendimento na terça-feira em HH:mm
officeHours.wednesdayobjectHorário de atendimento na quarta-feira
officeHours.wednesday.fromstringHorário de início do atendimento na quarta-feira em HH:mm
officeHours.wednesday.tostringHorário de término do atendimento na quarta-feira em HH:mm
officeHours.thursdayobjectHorário de atendimento na quinta-feira
officeHours.thursday.fromstringHorário de início do atendimento na quinta-feira em HH:mm
officeHours.thursday.tostringHorário de término do atendimento na quinta-feira em HH:mm
officeHours.fridayobjectHorário de atendimento na sexta-feira
officeHours.friday.fromstringHorário de início do atendimento na sexta-feira em HH:mm
officeHours.friday.tostringHorário de término do atendimento na sexta-feira em HH:mm
officeHours.saturdayobjectHorário de atendimento no sábado
officeHours.saturday.fromstringHorário de início do atendimento no sábado em HH:mm
officeHours.saturday.tostringHorário de término do atendimento no sábado em HH:mm
officeHours.sundayobjectHorário de atendimento no domingo
officeHours.sunday.fromstringHorário de início do atendimento no domingo em HH:mm
officeHours.sunday.tostringHorário de término do atendimento no domingo em HH:mm

Caso hasOfficeHours seja false, o campo officeHours será null. Se não houver atendimento em um dia específico, o campo correspondente será null.

Unidades de exibição

As unidades de exibição são utilizadas para representar os prazos de resposta e solução, bem como os prazos em risco, de forma mais compreensível. Elas podem ser definidas como minutes, hours ou days. Essas unidades ajudam a entender melhor os prazos estabelecidos no contrato de prazos.

Recuperar um contrato de prazo

Recupera um contrato de prazos existente pelo identificador.

MétodoEndpoint
GEThttps://carchost.fieldcontrol.com.br/deadlines-contracts/:id
Status CodeDescrição
200Contrato de prazos recuperado com sucesso
404Contrato de prazos não encontrado
422Requisição contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Exemplo de requisição para recuperar um contrato de prazos:

curl -X GET https://carchost.fieldcontrol.com.br/deadlines-contracts/:id \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here'

Exemplo de resposta de sucesso:

{
  "id": "YzkyMTA0MzgtNWVmNy00YjU4LTkxOWYtMjBmY2Y4ZDI1OTdiOjE=",
  "name": "Contrato de prazos para manutenção",
  "description": "Contrato de prazos para manutenção de ar condicionado",
  "archived": false,
  "hasOfficeHours": true,
  "considerHoliday": true,
  "officeHours": {
    "monday": {
      "from": "08:00",
      "to": "18:00"
    },
    "tuesday": {
      "from": "08:00",
      "to": "18:00"
    },
    "wednesday": {
      "from": "12:00",
      "to": "20:00"
    },
    "thursday": null,
    "friday": null,
    "saturday": {
      "from": "09:00",
      "to": "13:00"
    },
    "sunday": null
  },
  "responseDeadline": 60,
  "solutionDeadline": 120,
  "responseDeadlineRisk": 30,
  "solutionDeadlineRisk": 60,
  "responseDeadlineDisplayUnit": "hours",
  "solutionDeadlineDisplayUnit": "hours",
  "responseDeadlineRiskDisplayUnit": "hours",
  "solutionDeadlineRiskDisplayUnit": "hours",
  "createdAt": "2025-08-01T19:08:56.521Z",
  "updatedAt": "2025-08-01T19:08:56.521Z"
}

Listar contratos de prazos

Retorna uma lista de contratos de prazos existentes.

MétodoEndpoint
GEThttps://carchost.fieldcontrol.com.br/deadlines-contracts
Status CodeDescrição
200Contratos de prazos recuperados com sucesso
422Requisição contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Filtros disponíveis para a listagem de contratos de prazos:

ParâmetroOperadoresDescrição
nameNenhumNome do contrato de prazo
archivedNenhumContrato de prazo arquivado
created_at>=, <=, > e <Data de criação do contrato de prazo
updated_at>=, <=, > e <Data de atualização do contrato de prazo

Exemplo de requisição para recuperar lista de contratos de prazos:

curl -X GET https://carchost.fieldcontrol.com.br/deadlines-contracts \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here'

Exemplo de resposta de sucesso:

{
  "items": [
    {
      "id": "YzkyMTA0MzgtNWVmNy00YjU4LTkxOWYtMjBmY2Y4ZDI1OTdiOjE=",
      "name": "Contrato de prazos para manutenção",
      "description": "Contrato de prazos para manutenção de ar condicionado",
      "archived": false,
      "hasOfficeHours": true,
      "considerHoliday": true,
      "officeHours": {
        "monday": {
          "from": "08:00",
          "to": "18:00"
        },
        "tuesday": {
          "from": "08:00",
          "to": "18:00"
        },
        "wednesday": {
          "from": "12:00",
          "to": "20:00"
        },
        "thursday": null,
        "friday": null,
        "saturday": null,
        "sunday": null
      },
      "responseDeadline": 60,
      "solutionDeadline": 120,
      "responseDeadlineRisk": 30,
      "solutionDeadlineRisk": 60,
      "responseDeadlineDisplayUnit": "hours",
      "solutionDeadlineDisplayUnit": "hours",
      "responseDeadlineRiskDisplayUnit": "hours",
      "solutionDeadlineRiskDisplayUnit": "hours",
      "createdAt": "2025-08-01T19:08:56.521Z",
      "updatedAt": "2025-08-01T19:08:56.521Z"
    },
    {
      "id": "MDFmMWRhNGMtYTQyOC00Y2NlLTgyZmUtNTM0ODYyMzRlMmQ2OjE=",
      "name": "Contrato de prazos para preventiva",
      "description": null,
      "archived": true,
      "hasOfficeHours": false,
      "considerHoliday": true,
      "officeHours": null,
      "responseDeadline": 40,
      "solutionDeadline": 50,
      "responseDeadlineRisk": 30,
      "solutionDeadlineRisk": 40,
      "responseDeadlineDisplayUnit": "minutes",
      "solutionDeadlineDisplayUnit": "minutes",
      "responseDeadlineRiskDisplayUnit": "minutes",
      "solutionDeadlineRiskDisplayUnit": "minutes",
      "createdAt": "2025-08-01T12:08:56.521Z",
      "updatedAt": "2025-08-01T12:08:56.521Z"
    }
  ],
  "totalCount": 2
}

Valores disponíveis para ordenação de resultados:

ValorDescrição
created_atData de criação em ordem ascendente
-created_atData de criação em ordem descendente
updated_atData de atualização em ordem ascendente
-updated_atData de atualização em ordem descendente

Avaliações

As avaliações são feedbacks fornecidos pelos clientes sobre os serviços realizados. Elas incluem uma pontuação em estrelas e comentários detalhados, ajudando a medir a satisfação do cliente e identificar áreas de melhoria.

Parâmetros

NomeTipoDescrição
task.idstringIdentificador da atividade relacionada
starsnumberNúmero de estrelas da avaliação
commentstringComentários da avaliação
createdAtstringData de criação da avaliação

Listar avaliações

Lista avaliações existentes

MétodoEndpoint
GEThttps://carchost.fieldcontrol.com.br/ratings
Status CodeDescrição
200Avaliações recuperadas com sucesso
422Requisição contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Filtros disponíveis para a listagem de avaliações:

ParâmetroOperadoresDescrição
customer_idNenhumIdentificador do cliente
created_at>=, <=, > e <Data de criação da avaliação

Exemplo de requisição para recuperar lista de avaliações:

curl -X GET https://carchost.fieldcontrol.com.br/ratings \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here'

Exemplo de resposta de sucesso:

{
    "items": [
        {
            "stars": 3,
            "comment": "Serviço mediano",
            "task": {
                "id": "NDQyMjA0NTQtYjVjNC00ZTVhLTk3MWYtYzIxZWI4ZmVlMzY0OjE="
            }
            "createdAt": "2023-10-01T12:34:56Z"  },
        {
            "stars": 2,
            "comment": "Houve um problema com a manutenção",
            "task": {
                "id": "YTFlMmQ1ZjQtN2I1Yy00Zjg1LTlmOGItZjkyN2I0ZjVlNGYzOjE="
            },
            "createdAt": "2025-03-30T14:10:30Z"
        },
        {
            "stars": 5,
            "comment": "Excelente serviço",
            "task": {
                "id": "ODBjY2MzN2UtNDMzZi00NjFmLTk5ZjUtMTU4ODZiYzk5MmQ0OjE="
            },
            "createdAt": "2024-09-15T08:22:45Z"
        }
    ],
    "totalCount": 3
}

Valores disponíveis para ordenação de resultados:

ValorDescrição
starsContagem de estrelas em ordem crescente
-starsContagem de estrelas em ordem decrescente
created_atData de criação em ordem crescente
-created_atData de criação em ordem crescente

Respostas de formulários

Formulários são informações estruturadas por perguntas e respostas usadas para coletar e organizar informações sobre uma ordem de serviço

Parâmetros

NomeTipoDescrição
idstringIdentificador do formulário
name*stringNome do formulário
archived*booleanSe o formulário está arquivado ou não
score*integerSoma do score das respostas
orderobjectOS que o formulário está vinculado
order.id*stringIdentificador da OS
form.id*stringIdentificador do modelo do formulário utilizado nessa resposta
equipment.idstringIdentificador de qual equipamento esse formulário foi respondido
questions*arrayTodas as perguntas do formulário
questions[].type*stringTipo de resposta da pergunta. Os valores possíveis são: picture, short-answer, paragraph, dropdown, multiple-choice, checkboxes, numeric, date, currency, email, phone ou document.
questions[].position*integerPosição que a pergunta deve ter dentre outras perguntas
questions[].required*booleanSe a pergunta é obrigatória ou não
questions[].title*stringTítulo da pergunta
questions[].answer*stringResposta da pergunta
questions[].optionsarrayTodas as opções de resposta para uma pergunta
questions[].options[].value*stringValor de uma opção de resposta para a pergunta
questions[].options[].position*stringPosição que a opção deve ter dentre outras opções
questions[].options[].score*stringValor da pontuação atribuida aquela resposta da pergunta
questions[].conditionsarrayTodas as opções de resposta para uma pergunta que possua uma condição
questions[].conditions[].value*stringValor de uma opção de resposta para a pergunta condicional
questions[].conditions[].condition*stringTipo de relacionamento entre a pergunta e condição. O valor possível é: equal
questions[].conditions[].question.title*stringTítulo da pergunta a qual a condição corresponde

Recuperar uma resposta de formulário

Recupera um formulário respondido existente por id

MétodoEndpoint
GEThttps://carchost.fieldcontrol.com.br/forms-answers/:id
Status CodeDescrição
200Formulário recuperado com sucesso
404Formulário não encontrado
422Requisição contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Exemplo de requisição para recuperar um formulário:

curl -X GET https://carchost.fieldcontrol.com.br/forms-answers/ZTg1ZGRkYjctNWU0NS00MDg3LWIxODgtNTVjNGNmNTQ2NWFlOjE= \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here'

Exemplo de resposta de sucesso:

{
  "id": "NzU4MjJmYWItY2M0My00MWJlLWE1N2UtN2YzYjZlN2IxZDIxOjE=",
  "name": "Instalação de Internet",
  "archived": false,
  "score": 10,
  "order": {
    "id": "DzU5tjJmYWItY2M0My00MWJlLWE1N2UtN2YzYjZlN2IxZDIxOjE="
  },
  "form": {
    "id": "NzVjNDYzNDgtYjNiZi00NzYwLWFiYTEtZTI4YmFhMGViNmY4OjE="
  },
  "equipment": {
    "id": "YjRhNzBkNTMtODU1Yy00M2M5LTgwOTYtYzY4ZjZiY2QwMjY1OjE="
  },
  "questions": [
    {
      "type": "multiple-choice",
      "position": 1,
      "required": true,
      "title": "Qual era o meio de acesso à internet que o cliente possuía?",
      "answer": "Fibra Ótica",
      "options": [
        {
          "position": 1,
          "value": "ADSL",
          "score": null
        },
        {
          "position": 2,
          "value": "Fibra Ótica",
          "score": 10
        },
        {
          "position": 3,
          "value": "Via Rádio",
          "score": 5
        }
      ],
      "conditions": []
    },
    {
      "type": "short-answer",
      "position": 2,
      "required": false,
      "title": "Qual era a operadora de internet?",
      "answer": "NET",
      "conditions": [
        {
        "question": {
          "title": "Qual era o meio de acesso à internet que o cliente possuía?"
        },
        "condition": "equal",
        "value": "ADSL"
        }
      ]
    }
  ]
}

Listar respostas de formulários

Lista formulários respondidos existentes

MétodoEndpoint
GEThttps://carchost.fieldcontrol.com.br/forms-answers
Status CodeDescrição
200Formulários respondidos recuperados com sucesso
422Requisição contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Filtros disponíveis para a listagem de respostas de formulários:

ParâmetroOperadoresDescrição
order_idNenhumIdentificador da ordem de serviço
form_idNenhumIdentificador do modelo do formulário utilizado nessa resposta
equipment_idNenhumIdentificador de qual equipamento esse formulário foi respondido
archivedNenhumResposta de formulário arquivado
created_at>=, <=, > e <Data de criação da ordem de serviço

Exemplo de requisição para recuperar lista de formulários de uma ordem de serviço:

curl -X GET https://carchost.fieldcontrol.com.br/forms-answers \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here'

Exemplo de resposta de sucesso:

{
  "items": [
    {
      "id": "MDNiNDdhYTgtNzAxNC00NGEzLWJhYjItMTRjMjBjODQ1YTViOjE=",
      "form": {
        "id": "NzVjNDYzNDgtYjNiZi00NzYwLWFiYTEtZTI4YmFhMGViNmY4OjE="
      },
      "equipment": {
        "id": "YjRhNzBkNTMtODU1Yy00M2M5LTgwOTYtYzY4ZjZiY2QwMjY1OjE="
      },
      "name": "Instalação de ar-condicionado",
      "archived": false,
      "createdAt": "2019-08-07T11:10:45.366Z",
      "order": {
        "id": "DzU5tjJmYWItY2M0My00MWJlLWE1N2UtN2YzYjZlN2IxZDIxOjE="
      }
    },
    {
      "id": "NTA3ZjFiMWYtZDUzZC00MTdkLWFkMzAtNDE4ZjA2ZmZhYjQxOjE=",
      "form": {
        "id": "NzVjNDYzNDgtYjNiZi00NzYwLWFiYTEtZTI4YmFhMGViNmY4OjE="
      },
      "equipment": {
        "id": "YjRhNzBkNTMtODU1Yy00M2M5LTgwOTYtYzY4ZjZiY2QwMjY1OjE="
      },
      "name": "Instalação de internet",
      "archived": false,
      "createdAt": "2019-08-07T13:21:23.337Z",
      "order": {
        "id": "DzU5tjJmYWItY2M0My00MWJlLWE1N2UtN2YzYjZlN2IxZDIxOjE="
      }
    }
  ],
  "totalCount": 2
}

Anexos

Anexos são as imagens de uma ordem de serviço.

Parâmetros

NomeTipoDescrição
idstringIdentificador do anexo
path*stringCaminho do arquivo
titlestringTítulo do anexo
createdAtstringData e hora da criação do anexo (somente leitura)

Listar anexos

Lista anexos existentes para uma ordem de serviço

MétodoEndpoint
GEThttps://carchost.fieldcontrol.com.br/orders/:order_id/attachments
Status CodeDescrição
200Anexos recuperados com sucesso
422Requisição contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Exemplo de requisição para recuperar lista de anexos de uma ordem de serviço:

curl -X GET https://carchost.fieldcontrol.com.br/orders/:order_id/attachments \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here'

Exemplo de resposta de sucesso:

{
  "items": [
    {
      "id": "MTM3ODkyMTM6MQ==",
      "path": "https://s3.amazonaws.com/attachments.fieldcontrol.com.br/accounts/12/orders/f270e1c3-b8fa-4b4e-a0b5-48be831326fa/tasks/1efda45c-ddb8-4eab-8a40-c744507c123b/hgP2sCZNn.jpg",
      "title": "Limpeza do ar condicionado",
      "createdAt": "2018-08-27T15:30:15.000Z",
      "task": {
        "id": "YmY5Y2E2ZjktNjExYS00YzE5LTkwMTktYzllZjZhZWI2OTkzOjE="
      }
    }
  ],
  "totalCount": 1
}

Recuperar um anexo de uma ordem de serviço

Recupera um anexo associado a uma ordem de serviço

MétodoEndpoint
GEThttps://carchost.fieldcontrol.com.br/orders/:order_id/attachments/:attachment_id
Status CodeDescrição
200Anexo recuperado com sucesso
422Requisição contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Exemplo de requisição para recuperar um anexo associado a uma ordem de serviço:

curl -X GET https://carchost.fieldcontrol.com.br/orders/:order_id/attachments/:attachment_id \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here'

Exemplo de resposta de sucesso:

{
  "createdAt": "2018-08-27T12:30:15.000Z",
  "id": "MTM3ODkyMTM6MQ==",
  "path": "https://s3.amazonaws.com/attachments.fieldcontrol.com.br/path.jpg",
  "task": {
    "id": "YmY5Y2E2ZjktNjExYS00YzE5LTkwMTktYzllZjZhZWI2OTkzOjE="
  },
  "title": "attachment title"
}

Comentários

Comentários são informações adicionais anexadas a uma ordem de serviço. Elas são usadas para registrar eventos e facilitar a comunicação entre gestores e colaboradores externos.

Parâmetros

NomeTipoDescrição
idstringIdentificador do comentário
employee.idstringIdentificador do colaborador (depreciado)
user.idstringIdentificador do usuário (depreciado)
message*stringMensagem do comentário
archivedbooleanSe o comentário está ou não arquivado e seu valor padrão é false
type*stringTipo do comentário podendo ser:
- team visível para gestores e colaboradores, não aparece no relatório da Ordem de serviço.
- manager visível somente para gestores.
- public visível para gestores, colaboradores e aparece no relatório da Ordem de serviço.
- corporate reservado para integração com Field control - Gestão de fornecedores
postedBy.idstringIdentificador do autor comentário
postedBy.name*stringNome do autor do comentário
postedBy.typestringTipo ao autor do comentário podendo ser:
- users comentário criado por um gestor.
- employees comentário criado por um colaborador.
- integration comentário criado pela api de integração.
- corporate comentário criado por usuário de uma grande empresa via Field control - Gestão de fornecedores
postedBy.avatarUrlstringUrl do avatar do autor do comentário
postedBy.externalId*stringId do autor do comentário no sistema integrador

Atenção: As propriedades com * são obrigatórias

Listar comentários

Lista comentários existentes para uma ordem de serviço

MétodoEndpoint
GEThttps://carchost.fieldcontrol.com.br/orders/:order_id/comments
Status CodeDescrição
200Comentários recuperados com sucesso
422Requisição contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Exemplo de requisição para recuperar lista de comentários de uma ordem de serviço:

curl -X GET https://carchost.fieldcontrol.com.br/orders/:orders_id/comments \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here'

Exemplo de resposta de sucesso:

{
  "items": [
    {
      "id": "NmVjMTUzNGEtZDNmMC00MzQ0LWIzMWMtM2YxYWU2NDIwNDZiOjE=",
      "message": "A manutenção foi bem feita.",
      "archived": false,
      "type": "team",
      "employee": null,
      "user": {
        "id": "MzQ4ODU0ZDctMjRjMS00YmZhLTllY2QtZDQwZDczYTc3YjIxOjE=",
      },
      "postedBy": {
        "avatar_url": "",
        "id": "MzQ4ODU0ZDctMjRjMS00YmZhLTllY2QtZDQwZDczYTc3YjIxOjE=",
        "name": "Luiz Freneda",
        "type": "users"
      },
    },
    {
      "id": "YzBjYTM0NGEtZTAzMC00NjU5LWFjOTYtMzY0MjViMjQ0NjNhOjE=",
      "message": "O técnico foi rápido",
      "archived": false,
      "type": "team",
      "employee": {
        "id": "MzQ4ODU0ZDctMjRjMS00YmZhLTllY2QtZDQwZDczYTc3YjIxOjE=",
      },
      "user": null,
      "postedBy": {
        "avatar_url": "",
        "id": "MzQ4ODU0ZDctMjRjMS00YmZhLTllY2QtZDQwZDczYTc3YjIxOjE=",
        "name": "Eduardo Santos",
        "type": "employees"
      },
    },
    {
      "id": "YzBjYTM0NGEtZTAzMC00NjU5LWFjOTYtMzY0MjViMjQ0NjNhOjE=",
      "message": "Comentário feito pela api de integração",
      "archived": false,
      "type": "team",
      "postedBy": {
        "avatar_url": null,
        "id": "MzQ4ODU0ZDctMjRjMS00YmZhLTllY2QtZDQwZDczYTc3YjIxOjE=",
        "name": "Eduardo Santos",
        "type": "integration",
        "externalId": "1456754"
      },
    },
    {
      "id": "YzBjYTM0NGEtZTAzMC00NjU5LWFjOTYtMzY0MjViMjQ0NjNhOjE=",
      "message": null,
      "archived": true,
      "postedBy": {
        "avatar_url": "",
        "id": "MzQ4ODU0ZDctMjRjMS00YmZhLTllY2QtZDQwZDczYTc3YjIxOjE=",
        "name": "Eduardo Santos",
        "type": "employees"
      },
    }
  ],
  "totalCount": 4
}

Criar comentário

Adiciona comentário a uma ordem de serviço

MétodoEndpoint
POSThttps://carchost.fieldcontrol.com.br/orders/:order_id/comments
Status CodeDescrição
200Comentários recuperados com sucesso
422Requisição contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Exemplo de requisição para criar comentário em uma ordem de serviço:

curl -X POST https://carchost.fieldcontrol.com.br/orders/:orders_id/comments \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here' \
  --data-binary \
  '{
      "message": "Comentário criado pela api de integração",
      "archived": false,
      "type": "manager",
      "postedBy": {
        "externalId": "789654789",
        "name": "Sauron",
        "avatarUrl": "https://avatars.githubusercontent.com/u/17989287"
      }
  }' \
  --compressed

Exemplo de resposta de sucesso:

{
  "id": "NDc2Y2M2OGMtMGJhNi00MjAxLTgyMTgtNmViMDk0MjE2ODIxOjE=",
  "message": "Comentário criado pela api de integração",
  "archived": false,
  "createdAt": "2021-06-01T18:54:04.013Z",
  "type": "manager",
  "postedBy": {
    "id": "MTVkZWJmODItYzVlMi01Yzk3LTk1YjEtODBiYThmZTJiM2YzOjE=",
    "name": "Sauron",
    "avatarUrl": "https://avatars.githubusercontent.com/u/17989287",
    "type": "integration",
    "externalId": "789654789"
  }
}

Orçamentos

Orçamentos criados para um cliente sobre uma ordem de serviço

Parâmetros

NomeTipoDescrição
idstringIdentificador
order.id*stringIdentificador da ordem de serviço
identifier*stringIdentificador do orçamento, deve ser único entre todos os orçamentos
name*stringNome do orçamento
descriptionstringDescrição do orçamento
additionalInformationstringObservações do orçamento
archived*booleanIndica se o orçamento está arquivado
subtotal*numberSubtotal do orçamento
total*numberTotal do orçamento
customer.id*stringIdentificador do cliente
discount.type*numberIndica o tipo do desconto (percentage, value)
discount.value*numberIndica o valor do desconto
discount.total*numberIndica o total do desconto
status*stringIndica o status do orçamento (pending, approved, refused, expired, canceled)
expiredAt*stringIndica data que o orçamento expirou
refusedAtstringIndica data que o orçamento foi negado
approvedAtstringIndica data que o orçamento foi aprovado
approvedBystringIndica o nome de quem aprovou o orçamento
createdBystringIndica o nome de quem criou o orçamento
approvedSignaturestringAssinatura de quem aprovou o orçamento
items*arrayLista de items do orçamento
items.idstringIdentificador de um item do orçamento
items.productService.id*stringIdentificador do produto/serviço
items.productService.value*numberValor do produto/serviço
items.position*numberPosição do item
items.quantity*numberQuantidade do item
items.total*numberValor total do item
items.descriptionstringDescrição do item

Criar um orçamento

Criar um orçamento.

MétodoEndpoint
POSThttps://carchost.fieldcontrol.com.br/quotations
Status CodeDescrição
201Orçamento criado com sucesso
422Orçamento enviado contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Exemplo de requisição para criação de um orçamento:

curl -X POST https://carchost.fieldcontrol.com.br/quotations \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here' \
  --data-binary \
  '{
    "order": {
      "id": "NDJiMWQ0YzQtOWNmOC00NWE2LTg2MjItYjNjNzZjZjk0MmM4OjE="
    },
    "identifier": "2342AFD",
    "name": "Orçamento para prefeitura",
    "customer": {
      "id": "MTox"
    },
    "status": "pending",
    "description": "orçamento criado para a prefeitura",
    "additionalInformation": "",
    "archived": false,
    "discount": {
      "type": "percentage",
      "value": 2,
      "total": 0.02
    },
    "subtotal": 51.0,
    "total": 50.98,
    "refusedAt": null,
    "approvedAt": null,
    "approvedBy": null,
    "createdBy": null,
    "approvedSignature": null,
    "expiredAt": "2023-03-09T21:00:00Z",
    "items":[
      {
        "productService": {
          "id": "ZmUzOGM3NTctOGEwZS00ZmY2LTgzZDEtNzI3MzdiNzk5ZTJmOjE=",
          "value": 10.2
        },
        "position": 1,
        "quantity": 5,
        "total": 51.0,
        "description": null
      }
    ]
  }' \
  --compressed

Listar orçamentos

Lista orçamentos existentes

MétodoEndpoint
GEThttps://carchost.fieldcontrol.com.br/quotations
Status CodeDescrição
200Orçamentos recuperados com sucesso
422Requisição contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Filtros disponíveis para a listagem de orçamentos:

ParâmetroOperadoresDescrição
nameNenhumNome do orçamento
archivedNenhumEquipamento arquivado
identifierNenhumIdentificador do orçamento
statusNenhumStatus do orçamento
createdByNenhumNome do criador do orçamento
customerIdNenhumIdentificador do cliente
createdAt>=, <=Data de criação do orçamento

Exemplo de requisição para recuperar lista de orçamentos:

curl -X GET https://carchost.fieldcontrol.com.br/quotations \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here'

Exemplo de resposta de sucesso:

{
  "items": [
    {
      "approvedBy": null,
      "approvedSignature": null,
      "additionalInformation": "Observações do orçamento",
      "archived": false,
      "createdBy": "João",
      "customer":{
        "id":"MTox"
      },
      "description": "Descrição do orçamento",
      "discount": {
        "total": "0",
        "type": "percentage",
        "value": "0"
      },
      "expiredAt": "2023-03-05T00:00:00.000Z",
      "id": "MWQwMjUzMDgtZDE3NC00NWFlLTg3MDAtYTJmNmJmYzJhNTVjOjE=",
      "identifier": "221",
      "items":[
        {
          "id": "MWQwMjUzMDgtZDE3NC00NWFlLTg3MDAtYTJmNmJmYzJhNTVjOjE=",
          "description ": "Descrição do item",
          "productService":{
            "id":  "NmIzYWU1NGItN2IxNi00NzQ2LTg4ZmUtOGM2ZjY3YzlhOTMxOjE=",
            "value": "15.00",
            "type": "product"
          },
          "quantity": 2,
          "quotation": {
            "id": "MWQwMjUzMDgtZDE3NC00NWFlLTg3MDAtYTJmNmJmYzJhNTVjOjE="
          },
          "total": "30.00",
          "position": 1
        }
      ],
      "name": "Nome do orçamento",
      "order":{
        "id": "ZjM4MDAwMDMtZjc2Zi00ODdlLWJlYjMtYzQyODczZTBiYWQ3OjIyOTE1"
      },
      "refusedAt":null,
      "status": "pending",
      "subtotal": "30.00",
      "total": "30.00",
      "createdAt": "2023-03-02T00:00:00.000Z"
    }
  ],
  "totalCount": 1
}

Recuperar um orçamento

Recupera um orçamento existente pelo identificador.

MétodoEndpoint
GEThttps://carchost.fieldcontrol.com.br/quotations/:id
Status CodeDescrição
200Orçamento recuperado com sucesso
404Orçamento não encontrado
422Requisição contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Exemplo de requisição para recuperar um material:

curl -X GET https://carchost.fieldcontrol.com.br/quotations/:id \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here'

Exemplo de resposta de sucesso:

{
  "approvedBy": null,
  "approvedSignature": null,
  "additionalInformation": "Observações do orçamento",
  "archived": false,
  "createdBy": "João",
  "customer":{
    "id":"MTox"
  },
  "description": "Descrição do orçamento",
  "discount": {
    "total": "0",
    "type": "percentage",
    "value": "0"
  },
  "expiredAt": "2023-03-05T00:00:00.000Z",
  "id": "MWQwMjUzMDgtZDE3NC00NWFlLTg3MDAtYTJmNmJmYzJhNTVjOjE=",
  "identifier": "221",
  "items":[
    {
      "id": "MWQwMjUzMDgtZDE3NC00NWFlLTg3MDAtYTJmNmJmYzJhNTVjOjE=",
      "description ": "Descrição do item",
      "productService":{
        "id":  "NmIzYWU1NGItN2IxNi00NzQ2LTg4ZmUtOGM2ZjY3YzlhOTMxOjE=",
        "value": "15.00",
        "type": "service"
      },
      "quantity": 2,
      "quotation": {
        "id": "MWQwMjUzMDgtZDE3NC00NWFlLTg3MDAtYTJmNmJmYzJhNTVjOjE="
      },
      "total": "30.00",
      "position": 1
    }
  ],
  "name": "Nome do orçamento",
  "order":{
    "id": "ZjM4MDAwMDMtZjc2Zi00ODdlLWJlYjMtYzQyODczZTBiYWQ3OjIyOTE1"
  },
  "refusedAt":null,
  "status": "pending",
  "subtotal": "30.00",
  "total": "30.00",
  "createdAt": "2023-03-02T00:00:00.000Z"
}

Itens do orçamento

Os itens são compostos por produtos/serviços para compor um orçamento

Parâmetros

NomeTipoDescrição
idstringIdentificador do item
descriptionstringDescrição do orçamento
productService.idstringIdentificador do produto/serviço
productService.valuestringValor do produto/serviço
quantitynumberQuantidade do item
quotation.idstringIdentificador do orçamento
totalstringValor total do item

Eles podem ser obtidos ao recuperar um orçamento, correspondente ao parâmetro items.

Atualizar um orçamento

Atualizar um orçamento.

MétodoEndpoint
PUThttps://carchost.fieldcontrol.com.br/quotations/:id
Status CodeDescrição
200Orçamento atualizado com sucesso
422Orçamento enviado contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Exemplo de requisição para atualização de um orçamento:

curl -X POST https://carchost.fieldcontrol.com.br/quotations/jUzMDgtZDE3NC00NWFlLT \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Key: token-here' \
  --data-binary \
  '{
    "order": {
      "id": "NDJiMWQ0YzQtOWNmOC00NWE2LTg2MjItYjNjNzZjZjk0MmM4OjE="
    },
    "identifier": "2342AFD",
    "name": "Orçamento para prefeitura atualizado",
    "customer": {
      "id": "MTox"
    },
    "status": "pending",
    "description": "orçamento atualizado para a prefeitura",
    "additionalInformation": "",
    "archived": false,
    "discount": {
      "type": "percentage",
      "value": 4,
      "total": 0.02
    },
    "subtotal": 51.0,
    "total": 50.98,
    "refusedAt": null,
    "approvedAt": null,
    "approvedBy": null,
    "createdBy": null,
    "approvedSignature": null,
    "expiredAt": "2023-03-09T21:00:00Z",
    "items":[
      {
        "productService": {
          "id": "FDAS5234ZmY2LTgzZDEtNzI3MzdiNzk5ZTJmOjE=",
          "value": 200
        },
        "position": 1,
        "quantity": 10,
        "total": 51.0,
        "description": null
      }
    ]
  }' \
  --compressed

Etiquetas

As etiquetas são marcadores que usamos para identificar e diferenciar ordem de serviços, clientes e orçamentos.

Parâmetros

NomeTipoDescrição
id*stringIdentificador
name*stringNome da etiqueta
color*stringCor da etiqueta
type*stringTipo da etiqueta (orders, customers, quotations)

Usuários com perfil de administrador podem gerenciar as etiquetas no Painel de gestão pelo link: https://app.fieldcontrol.com.br/#/configuracoes/gerenciar-etiquetas

Listar etiquetas

Lista as etiquetas existentes.

MétodoEndpoint
GEThttps://carchost.fieldcontrol.com.br/labels
Status CodeDescrição
200Etiquetas recuperadas com sucesso
422Requisição contém informações inválidas

Para retornos com http status code 422, um objeto de erro é retornado como resposta contendo uma descrição detalhada do erro ocorrido.

Exemplo de resposta de sucesso:

{
  "items": [
    {
      "id": "MDFmMWRhNGMtYTQyOC00Y2NlLTgyZmUtNTM0ODYyMzRlMmQ2OjE=",
      "name": "Pizza",
      "color": "red",
      "type": "orders"
    },
    {
      "id": "NTZkZjk3MzMtZmI2NC00MTMyLTlhMTItNDAxYzIyMmJiZGFjOjE=",
      "name": "Parmegiana",
      "color": "yellow",
      "type": "customers"
    }
  ],
  "totalCount": 2
}

Valores disponíveis para ordenação de resultados:

ValorDescrição
nameNome em ordem ascendente
-nameNome em ordem descendente
created_atData de criação em ordem ascendente
-created_atData de criação em ordem descendente

Webhooks

Webhooks são uma forma de uma aplicação fornecer informações em tempo real para outras aplicações.

As webhooks são frequentemente chamadas de API callback ou simplesmente notificações.

No Field Control você pode receber webhooks de diferentes tipos de eventos referentes a sua operação, como um formulário respondido ou uma visita concluída.

Sendo assim, as webhooks foram criados para permitir que seu sistema seja atualizado em tempo real sobre os principais eventos que ocorrem no Field Control.

Confira abaixo os eventos disponíveis:

EventoDescrição
order-form-createdCriação de um formulário
order-form-updatedAtualização de um formulário
order-attachment-createdCriação de um anexo
order-attachment-updatedAtualização de um anexo
task-ratedAvaliação de uma atividade
order-createdCriação de uma ordem de serviço
order-updatedAtualização de uma ordem de serviço
task-createdCriação de uma atividade
task-updatedAtualização de uma atividade
task-startedAtividade iniciada pelo colaborador
task-start-routeInicio da rota de uma atividade
task-route-startedRota de uma atividade iniciada
task-completedAtividade concluída com sucesso
task-reportedImpedimento da realização de alguma atividade
comment-createdCriação de um comentário
employee-createdCriação de um novo colaborador
ticket-acceptedSolicitação de serviço aceita
ticket-canceledSolicitação de serviço cancelada
ticket-createdCriação de uma solicitação de serviço
quotation-createdCriação de um orçamento
quotation-updatedOrçamento atualizado
quotation-approvedOrçamento aprovado
quotation-canceledOrçamento cancelado
quotation-refusedOrçamento recusado
vehicle-createdVeículo criado
vehicle-updatedVeículo atualizado

Delivery Headers

Quando um desses eventos acontecer, será disparado uma requisição HTTP POST para a URL configurada via painel de gestão com os seguintes headers:

HeaderDescrição
X-FieldControl-EventNome do evento que foi disparado
X-FieldControl-DeliveryId único do envio
Content-TypeFormato do conteúdo da requisição, sempre será: application/json

Resumindo

Basicamente, ao receber um evento de webhook a aplicação consumidora deve:

Cada X-FieldControl-Event terá um request body correspondente. Por exemplo, para eventos do tipo task-created, o corpo da requisição será uma visita, para comment-created, o corpo será um comentário e assim por diante.

Como configuro a URL pelo painel de gestão?

Para definir a URL que receberá os eventos do Field Control, acesse o painel de gestão na seção "Webhooks integração" e clique no link correspondente ao da imagem abaixo.

Em seguida, defina a URL que você deseja e o método de autenticação caso exista.

Sem autenticaçãoCom autenticação

Pronto! Sua URL foi configurada.

Histórico de eventos

No painel de gestão você pode acompanhar os registros de todas as requisições feitas para sua URL com informações do evento. Na tela, são mostrados: o identificador da requisição, o evento e a data e hora de envio da requisição.

Para ver mais detalhes da requisição, você pode clicar no botão localizado na coluna Ver detalhes. Na aba Requisição, é possível visualizar as informações de cabeçalho e corpo da requisição.

Na aba Resposta, você pode visualizar as informações de resposta da sua aplicação.

Como no exemplo foi utilizado uma URL fictícia, o corpo da resposta sempre será um código de erro.

Serviços de Geolocalização

Coordenadas geográficas são dados obrigatórios no cadastro de um cliente dentro do Field Control.

Através dessa informação será possível estimar as visitas na linha do tempo e também ter a visão geográfica no mapa.

Caso você não possua dados de geolocalização (latitude/longitude) dos seus clientes e queira obtê-los para utilizar todos os recursos compatíveis do Field Control, existem algumas APIs de serviços de geolocalização que disponibilizam esses dados de forma gratuita.

Veja os principais serviços do mercado para que você possa integrar com seu sistema:

Google Maps

O serviço de mapas do Google é o mais popular dentre todos os outros serviços. Ele conta com uma ótima documentação, cota gratuita de utilização, além de seguir a conhecida qualidade dos serviços da empresa.

PreçoRequisições/segundoDocumentação
US$5,00 a cada 1000
Fornece US$200,00/mês para utilizar
Saiba mais
50Geocoding API

Azure Maps

O Azure Maps é um serviço de mapas da Microsoft que vem crescendo ao longo do tempo em questão de qualidade e adesão. Ele também oferece uma boa cota gratuita de utilização e uma documentação bem detalhada.

PreçoRequisições/segundoDocumentação
250.000 transações/mês
Para camada de serviço "Standard S0"
Saiba mais
50Maps Search API

HERE

O HERE já está no mercado há um tempo, fundado em 2012 pela Nokia, antiga proprietária. Atualmente, BMW, Audi e Daimler são proprietários da empresa e seus carros utilizam o serviço. Ele oferece uma boa cota gratuita de utilização e uma ótima documentação.

PreçoRequisições/segundoDocumentação
250.000 transações/mês
Para contas Freemium
Saiba mais
1Geocoding API