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étodo | Ação |
---|---|
GET | Recupera um recurso existente |
POST | Cria um novo recurso |
PUT | Atualiza um recurso existente |
DELETE | Exclui 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âmetro | Descrição |
---|---|
limit | O número de resultados que devem ser retornados em cada página (padrão = 10; máximo = 100) |
offset | O 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 StatusCode | Descrição |
---|---|
401 | A API key é inválida |
429 | Quantidade máxima de requisições por segundo ultrapassada |
404 | O recurso não pode ser encontrado |
422 | A 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.
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 atividades), seja ele uma pessoa física ou jurídica.
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
id | string | Identificador do cliente |
name* | string | Nome do cliente |
documentNumber | string | Número do CPF ou CNPJ do cliente (somente números) |
code | string | Código do cliente |
notes | string | Observações do cliente |
contact.email | string | E-mail principal de contato do cliente (somente leitura) |
contact.phone | string | Telefone principal de contato do cliente (apenas números e somente leitura) |
primaryLocation.id | string | Id da localização primária vinculada (somente leitura) |
address.zipCode* | string | CEP - Código de endereço postal (apenas números) |
address.city* | string | Nome da cidade referente ao CEP |
address.state* | string | Nome do estado referente ao CEP |
address.neighborhood | string | Nome do bairro referente ao CEP |
address.street* | string | Nome do logradouro referente ao CEP |
address.number* | string | Número da residência/prédio |
address.complement | string | 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 |
statistics.updatedAt | string | Data da última atualização dos dados estatísticos (somente leitura) |
statistics.service.firstAt | string | Data do primeiro atendimento feito ao cliente (somente leitura) |
statistics.service.lastAt | string | Data do último atendimento feito ao cliente (somente leitura) |
statistics.service.total | integer | Número total de atendimentos feitos ao cliente (somente leitura) |
statistics.rating.averageStars | integer | Nota média (0 a 5) de todas as avaliação feita pelo cliente (somente leitura) |
statistics.rating.lastComment | string | Último comentário feito pelo cliente (somente leitura) |
statistics.rating.lastStar | integer | Nota (0 a 5) da última avaliação feita pelo cliente (somente leitura) |
archived* | boolean | Indica 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étodo | Endpoint |
---|---|
POST | https://carchost.fieldcontrol.com.br/customers |
Status Code | Descrição |
---|---|
201 | Cliente criado com sucesso |
422 | Cliente 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,
"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,
"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étodo | Endpoint |
---|---|
GET | https://carchost.fieldcontrol.com.br/customers/:id |
Status Code | Descrição |
---|---|
200 | Cliente recuperado com sucesso |
404 | Cliente não encontrado |
422 | Requisiçã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",
"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étodo | Endpoint |
---|---|
PUT | https://carchost.fieldcontrol.com.br/customers/:id |
Status Code | Descrição |
---|---|
200 | Cliente atualizado com sucesso |
422 | Cliente 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",
"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",
"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étodo | Endpoint |
---|---|
GET | https://carchost.fieldcontrol.com.br/customers/ |
Status Code | Descrição |
---|---|
200 | Clientes recuperados com sucesso |
422 | Requisiçã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âmetro | Operadores | Descrição |
---|---|---|
archived | Nenhum | Arquivado |
name | Nenhum | Nome do cliente |
document_number | Nenhum | Documento do cliente |
code | Nenhum | Código do cliente |
created_at | >=, <=, > e < | Data de criação |
Valores disponíveis para ordenação de resultados:
Valor | Descrição |
---|---|
created_at | Data de criação em ordem ascendente |
-created_at | Data 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,
"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
Nome | Tipo | Descrição |
---|---|---|
id | string | Identificador do telefone |
number* | string | Número do telefone |
type* | string | Tipo do telefone |
primary | boolean | Se 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
Valor | Descrição |
---|---|
home | Telefone domiciliar |
mobile | Telefone móvel |
work | Telefone de trabalho |
Criar um telefone
Cria um telefone.
Método | Endpoint |
---|---|
POST | https://carchost.fieldcontrol.com.br/customers/:id/phones |
Status Code | Descrição |
---|---|
201 | Telefone criado com sucesso |
422 | Requisiçã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étodo | Endpoint |
---|---|
PUT | https://carchost.fieldcontrol.com.br/customers/:id/phones/:phone_id |
Status Code | Descrição |
---|---|
200 | Telefone atualizado com sucesso |
404 | Cliente ou telefone não encontrado |
422 | Requisiçã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étodo | Endpoint |
---|---|
GET | https://carchost.fieldcontrol.com.br/customers/:id/phones |
Status Code | Descrição |
---|---|
200 | Telefones listados com sucesso |
404 | Cliente não encontrado |
422 | Requisiçã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étodo | Endpoint |
---|---|
DELETE | https://carchost.fieldcontrol.com.br/customers/:id/phones/:phone_id |
Status Code | Descrição |
---|---|
204 | Telefone removido com sucesso (corpo da resposta é vazio) |
404 | Cliente 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
Nome | Tipo | Descrição |
---|---|---|
id | string | Identificador do e-mail |
address* | string | Endereço eletrônico |
type* | string | Tipo do e-mail |
primary | boolean | Se 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
Valor | Descrição |
---|---|
personal | E-mail pessoal |
work | E-mail de trabalho |
Criar um e-mail
Cria um e-mail.
Método | Endpoint |
---|---|
POST | https://carchost.fieldcontrol.com.br/customers/:id/emails |
Status Code | Descrição |
---|---|
201 | E-mail criado com sucesso |
422 | Requisiçã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étodo | Endpoint |
---|---|
PUT | https://carchost.fieldcontrol.com.br/customers/:id/emails/:email_id |
Status Code | Descrição |
---|---|
200 | E-mail atualizado com sucesso |
404 | Cliente ou e-mail não encontrado |
422 | Requisiçã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étodo | Endpoint |
---|---|
GET | https://carchost.fieldcontrol.com.br/customers/:id/emails |
Status Code | Descrição |
---|---|
200 | E-mails listados com sucesso |
404 | Cliente 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étodo | Endpoint |
---|---|
DELETE | https://carchost.fieldcontrol.com.br/customers/:id/emails/:email_id |
Status Code | Descrição |
---|---|
204 | E-mail removido com sucesso (corpo da resposta é vazio) |
404 | Cliente 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
Nome | Tipo | Descrição |
---|---|---|
id | string | Identificador da etiqueta |
name | string | Nome da etiqueta |
type | number | Tipo da etiqueta |
color | string | Cor 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
Método | Endpoint |
---|---|
GET | https://carchost.fieldcontrol.com.br/customers/:id/labels |
Status Code | Descrição |
---|---|
200 | Etiqueta recuperada com sucesso |
404 | Cliente ou etiqueta não encontrada |
422 | Requisiçã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",
"type": 1,
"color": "yellow"
},
{
"id": "MWRiNmUwN2YtOTFlMi00MmZiLWI2NWMtOWEzNjRiNmJhZDRjOjE=",
"name": "Particular",
"type": 1,
"color": "purple"
}
],
"totalCount": 2
}
Localizações
São as localizações com endereços vinculados a um cliente.
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
id | string | Identificador da localização |
customer.id* | string | Identificador do cliente |
name* | string | Nome da localização |
notes | string | Descrição da localização |
address.postalCode* | string | CEP - Código de endereço postal (apenas números) |
address.street* | string | Nome do logradouro referente ao CEP |
address.number* | string | Número da residência/prédio |
address.neighborhood | string | Nome do bairro referente ao CEP |
address.city* | string | Nome da cidade referente ao CEP |
address.state* | string | Nome do estado referente ao CEP |
address.complement | string | 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 |
archived | boolean | Indica 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étodo | Endpoint |
---|---|
POST | https://carchost.fieldcontrol.com.br/customers/:id/locations |
Status Code | Descrição |
---|---|
201 | Localização criada com sucesso |
404 | Cliente não encontrado |
422 | Requisiçã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étodo | Endpoint |
---|---|
GET | https://carchost.fieldcontrol.com.br/customers/:id/locations/:locationId |
Status Code | Descrição |
---|---|
200 | Localização recuperada com sucesso |
404 | Cliente ou localização não encontrado |
422 | Requisiçã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étodo | Endpoint |
---|---|
PUT | https://carchost.fieldcontrol.com.br/customers/:id/locations/:locationId |
Status Code | Descrição |
---|---|
200 | Localiazação atualizada com sucesso |
404 | Cliente ou localização não encontrado |
422 | Requisiçã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étodo | Endpoint |
---|---|
PUT | https://carchost.fieldcontrol.com.br/customers/:id/primary-location/:locationId |
Status Code | Descrição |
---|---|
200 | Localiazação atualizada com sucesso |
404 | Cliente ou localização não encontrado |
422 | Requisiçã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étodo | Endpoint |
---|---|
GET | https://carchost.fieldcontrol.com.br/customers/:id/locations |
Status Code | Descrição |
---|---|
200 | Localizações listadas com sucesso |
404 | Cliente não encontrado |
422 | Requisiçã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âmetro | Operadores | Descrição |
---|---|---|
archived | Nenhum | Arquivado |
name | Nenhum | Nome da localização |
created_at | >=, <=, > e < | Data de criação |
Valores disponíveis para ordenação de resultados:
Valor | Descrição |
---|---|
created_at | Data de criação em ordem ascendente |
-created_at | Data 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
Nome | Tipo | Descrição |
---|---|---|
id | string | Identificador |
name* | string | Nome do colaborador |
notes | string | Observações do colaborador |
email* | string | Email do colaborador |
avatarUrl* | string | Caminho para a foto de avatar do colaborador |
isActive | boolean | Situação do colaborador, se está ativo ou não |
createdAt | string | Data 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étodo | Endpoint |
---|---|
POST | https://carchost.fieldcontrol.com.br/employees |
Status Code | Descrição |
---|---|
201 | Colaborador criado com sucesso |
422 | Colaborador 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étodo | Endpoint |
---|---|
GET | https://carchost.fieldcontrol.com.br/employees/:id |
Status Code | Descrição |
---|---|
200 | Colaborador recuperado com sucesso |
404 | Colaborador não encontrado |
422 | Requisiçã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étodo | Endpoint |
---|---|
PUT | https://carchost.fieldcontrol.com.br/employees/:id |
Status Code | Descrição |
---|---|
200 | Colaborador atualizado com sucesso |
422 | Colaborador 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",
"email": "mauro.garcia@gmail.com",
}' \
--compressed
Listar colaboradores
Lista os colaboradores existentes.
Método | Endpoint |
---|---|
GET | https://carchost.fieldcontrol.com.br/employees |
Status Code | Descrição |
---|---|
200 | Colaboradores recuperados com sucesso |
422 | Requisiçã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âmetro | Descrição |
---|---|
name | Nome 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étodo | Endpoint |
---|---|
PUT | https://carchost.fieldcontrol.com.br/employees/:id |
Status Code | Descrição |
---|---|
200 | Colaborador atualizado com sucesso |
422 | Colaborador 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",
"email": "mauro.garcia@gmail.com",
}' \
--compressed
Listar localização dos colaboradores
Lista a geolocalizações dos colaboradores.
Método | Endpoint |
---|---|
GET | https://carchost.fieldcontrol.com.br/employees/tracking |
Status Code | Descrição |
---|---|
200 | Geolocalização dos colaboradores recuperados com sucesso |
422 | Requisiçã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
Nome | Tipo | Descrição |
---|---|---|
id | string | Identificador |
name* | string | Nome do material |
measure* | string | Unidade de medida (unity, centimeter, meter, liter, milliliter) |
archived | boolean | Indica se o material está arquivado |
Criar um material
Cria um novo material
Método | Endpoint |
---|---|
POST | https://carchost.fieldcontrol.com.br/materials/ |
Status Code | Descrição |
---|---|
201 | Material criado com sucesso |
422 | Material 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étodo | Endpoint |
---|---|
GET | https://carchost.fieldcontrol.com.br/materials/:id |
Status Code | Descrição |
---|---|
200 | Material recuperado com sucesso |
404 | Material não encontrado |
422 | Requisiçã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étodo | Endpoint |
---|---|
PUT | https://carchost.fieldcontrol.com.br/materials/:id |
Status Code | Descrição |
---|---|
200 | Material atualizado com sucesso |
422 | Material 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étodo | Endpoint |
---|---|
GET | https://carchost.fieldcontrol.com.br/materials/ |
Status Code | Descrição |
---|---|
200 | Materiais recuperados com sucesso |
422 | Requisiçã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âmetro | Descrição |
---|---|
archived | Arquivado |
name | Nome 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
Nome | Tipo | Descrição |
---|---|---|
quantity | número | Quantidade do material utilizado |
material.id | string | Identificador |
material.name* | string | Nome do material |
material.measure* | string | Unidade de medida (unity, centimeter, meter, liter, milliliter) |
Método | Endpoint |
---|---|
GET | https://carchost.fieldcontrol.com.br/orders/:order_id/materials |
Status Code | Descrição |
---|---|
200 | Materiais utilizados recuperados com sucesso |
422 | Requisiçã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
Nome | Tipo | Descrição |
---|---|---|
id | string | Identificador |
name* | string | Nome do produto/serviço |
description | string | Descrição |
measure* | string | Unidade de medida (unity, centimeter, meter, liter, milliliter, kilogram) |
archived* | boolean | Indica se o produto/serviço está arquivado |
type* | number | Indica se o produto/serviço é um produto ou serviço |
value* | string | Indica o valor do produto/serviço |
imageUrl | string | Caminho para a foto do produto/serviço |
Criar um produto/serviço
Cria um novo produto/serviço
Método | Endpoint |
---|---|
POST | https://carchost.fieldcontrol.com.br/products-services/ |
Status Code | Descrição |
---|---|
201 | Produto/Serviço criado com sucesso |
422 | Produto/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étodo | Endpoint |
---|---|
GET | https://carchost.fieldcontrol.com.br/products-services |
Status Code | Descrição |
---|---|
200 | Produtos/Serviços recuperados com sucesso |
422 | Requisiçã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âmetro | Descrição |
---|---|
archived | Arquivado |
name | Nome do produto/serviço |
type | Buscar 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étodo | Endpoint |
---|---|
GET | https://carchost.fieldcontrol.com.br/products-services/:id |
Status Code | Descrição |
---|---|
200 | Produto/serviço recuperado com sucesso |
404 | Produto/serviço não encontrado |
422 | Requisiçã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étodo | Endpoint |
---|---|
PUT | https://carchost.fieldcontrol.com.br/products-services/:id |
Status Code | Descrição |
---|---|
200 | Produto/Serviço atualizado com sucesso |
422 | Produto/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
Nome | Tipo | Descrição |
---|---|---|
id | string | Identificador do equipamento |
name* | string | Nome do equipamento |
number* | string | Número de série do equipamento |
notes | string | Observações do equipamento |
qrCode | string | Código QR do equipamento |
archived | boolean | Indica se o equipamento está arquivado |
avatarUrl | string | Caminho para a foto de avatar do equipamento |
customer.id | string | Identificador do cliente (veja a observação abaixo) |
customer.name | string | Nome do cliente (veja a observação abaixo) |
location.id | string | Identificador da localização do cliente |
type.id | string | Identificador do tipo de equipamento (veja a observação abaixo) |
type.name | string | Nome do tipo de equipamento (veja a observação abaixo) |
customFields | array | Lista dos campos customizados do equipamento (somente ao recuperar um equipamento) |
createdAt | string | Data 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étodo | Endpoint |
---|---|
POST | https://carchost.fieldcontrol.com.br/equipments |
Status Code | Descrição |
---|---|
201 | Equipamento criado com sucesso |
422 | 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 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
Recuperar um equipamento
Recupera um equipamento existente pelo identificador.
Método | Endpoint |
---|---|
GET | https://carchost.fieldcontrol.com.br/equipments/:id |
Status Code | Descrição |
---|---|
200 | Equipamento recuperado com sucesso |
404 | Equipamento não encontrado |
422 | Requisiçã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
},
{
"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"
}
Atualizar um equipamento
Atualiza um equipamento.
Método | Endpoint |
---|---|
PUT | https://carchost.fieldcontrol.com.br/equipments/:id |
Status Code | Descrição |
---|---|
200 | Equipamento atualizado com sucesso |
422 | 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 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
Listar equipamentos
Lista equipamentos existentes
Método | Endpoint |
---|---|
GET | https://carchost.fieldcontrol.com.br/equipments |
Status Code | Descrição |
---|---|
200 | Equipamentos recuperados com sucesso |
422 | Requisiçã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âmetro | Operadores | Descrição |
---|---|---|
number | Nenhum | Número de série do equipamento |
customer_id | Nenhum | Identificador do cliente |
location_id | Nenhum | Identificador da localização do cliente |
type_id | Nenhum | Identificador do tipo de equipamento |
archived | Nenhum | Equipamento 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:
Valor | Descrição |
---|---|
created_at | Data de criação em ordem ascendente |
-created_at | Data de criação em ordem descendente |
Campos customizados
Os campos customizados são questões personalizadas para um tipo de equipamento.
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
id | string | Identificador do campo customizado |
name | string | Nome do campo customizado |
value | string | Valor do campo customizado |
position | integer | Posição do campo customizado |
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
Nome | Tipo | Descrição |
---|---|---|
id | string | Identificador do tipo de equipamento |
name* | string | Nome do tipo de equipamento |
archived | boolean | Indica se o tipo de equipamento está arquivado |
createdAt | string | Data de criação do tipo de equipamento (somente leitura) |
Criar um tipo de equipamento
Cria um tipo de equipamento.
Método | Endpoint |
---|---|
POST | https://carchost.fieldcontrol.com.br/equipment-types |
Status Code | Descrição |
---|---|
201 | Tipo de equipamento criado com sucesso |
409 | Tipo de equipamento já existe |
422 | Tipo 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étodo | Endpoint |
---|---|
GET | https://carchost.fieldcontrol.com.br/equipment-types/:id |
Status Code | Descrição |
---|---|
200 | Tipo de equipamento recuperado com sucesso |
404 | Tipo de equipamento não encontrado |
422 | Requisiçã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étodo | Endpoint |
---|---|
PUT | https://carchost.fieldcontrol.com.br/equipment-types/:id |
Status Code | Descrição |
---|---|
200 | Tipo de equipamento atualizado com sucesso |
409 | Tipo de equipamento já existe |
422 | Tipo 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étodo | Endpoint |
---|---|
GET | https://carchost.fieldcontrol.com.br/equipment-types |
Status Code | Descrição |
---|---|
200 | Tipos de equipamentos recuperados com sucesso |
422 | Requisiçã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âmetro | Operadores | Descrição |
---|---|---|
name | Nenhum | Nome do tipo de equipamento |
archived | Nenhum | Tipo 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
}
Veículos
Veículos disponíveis para a utilização dos colaboradores
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
id | string | Identificador |
color | string | Cor do veículo |
name | string | Nome do veículo |
licensePlate | string | Placa do veículo |
origin | string | Origem do veículo |
register | string | Registro do veículo |
status | string | Status atual do veículo |
type | string | Tipo do veículo |
year | number | Ano do veículo |
archived | boolean | Se o veículo está arquivado |
brand.name | string | Nome da marca do veíuclo |
model.name | string | Nome do modelo do veíuclo |
Listar veículos
Lista veículos existentes
Método | Endpoint |
---|---|
GET | https://carchost.fieldcontrol.com.br/vehicles |
Status Code | Descrição |
---|---|
200 | veículos recuperados com sucesso |
422 | Requisiçã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âmetro | Operadores | Descrição |
---|---|---|
name | Nenhum | Nome do veículo |
archived | Nenhum | Veí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:
Valor | Descrição |
---|---|
created_at | Data de criação em ordem ascendente |
-created_at | Data de criação em ordem descendente |
Recuperar um veículo
Recupera um veículo existente pelo identificador.
Método | Endpoint |
---|---|
GET | https://carchost.fieldcontrol.com.br/vehicles/:id |
Status Code | Descrição |
---|---|
200 | Veículo recuperado com sucesso |
404 | Veículo não encontrado |
422 | Requisiçã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"
}
}
Histórico de Uso
Histórico de Uso dos veículos disponíveis para a utilização dos colaboradores
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
id | string | Identificador |
duration | string | Duração do histórico de uso |
pickupAt | string | Momento de retirada do veículo do histórico de uso |
pickupTravellingDistance | number | Distância trafegada na retirada no histórico de uso |
pickupDescription | string | Descrição da retirada no histórico de uso |
pickupImageUrl | string | Imagem da retirada no histórico de uso |
returnedAt | string | Momento de devolução do veículo do histórico de uso |
returnedTravellingDistance | number | Distância trafegada na devolução no histórico de uso |
returnedDescription | string | Descrição da devolução no histórico de uso |
returnedImageUrl | string | Imagem da devolução no histórico de uso |
travellingDistance | string | Distância total trafegada no histórico de uso |
createdAt | string | Momento da criação do histórico de uso |
archived | boolean | Se o histórico de uso está arquivado |
employee.id | string | Id do colaborador do histórico de uso |
vehicle.id | string | Id do veículo do histórico de uso |
Listar histórico de Uso
Lista histórico de uso dos veículos existentes
Método | Endpoint |
---|---|
GET | https://carchost.fieldcontrol.com.br/vehicles-usages |
Status Code | Descrição |
---|---|
200 | históricos de uso recuperados com sucesso |
422 | Requisiçã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âmetro | Operadores | Descrição |
---|---|---|
name | Nenhum | Descrição do histórico de uso |
archived | Nenhum | Histó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:
Valor | Descrição |
---|---|
created_at | Data de criação em ordem ascendente |
-created_at | Data de criação em ordem descendente |
Recuperar um histórico de uso
Recupera um histórico de uso existente pelo identificador.
Método | Endpoint |
---|---|
GET | https://carchost.fieldcontrol.com.br/vehicles-usages/:id |
Status Code | Descrição |
---|---|
200 | Histórico de uso recuperado com sucesso |
404 | Histórico de uso não encontrado |
422 | Requisiçã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
Nome | Tipo | Descrição |
---|---|---|
id | string | Id da solicitação de serviço |
identifier | string | Identificador da solicitação, em caso de aprovação este identificador deve ser atribuído a ordem de serviço. |
name* | string | Nome da solicitação de serviço |
subject* | string | Assunto para ser tratado |
message* | string | Mensagem em texto longo |
archived | boolean | Indica se a solicitação está arquivada ou não (somente leitura) |
status | string | Status da solicitação de serviço. Os valores possíveis são: pending , accepted , canceled (somente leitura) |
contact.email | string | E-mail do contato que abriu o chamado |
contact.phone | string | Telefone do contato que abriu o chamado |
customer.id | string | Id do cliente vinculado a solicitação |
service.id | string | Id do serviço vinculado a solicitação |
location.id | string | Id do localização vinculado a solicitação |
equipments[].number | string | Número do equipamento vinculado a solicitação (somente leitura) |
equipments[].qrCode | string | QRCode 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étodo | Endpoint |
---|---|
POST | https://carchost.fieldcontrol.com.br/tickets/ |
Status Code | Descrição |
---|---|
201 | Solicitação de serviço criada com sucesso |
422 | Solicitaçã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",
"contact": {
"email": "email@fieldcontrol.com.br",
"phone": "11963427191"
},
}' \
--compressed
Exemplo de resposta de sucesso:
{
"id": "M2JlYTAyNDctODAyNC00Mzc5LTkwNWQtYTM5ZWRhYWMzM2NmOjE=",
"name": "Luiz Freneda",
"status": "pending",
"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": 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",
"contact": {
"email": "email@fieldcontrol.com.br",
"phone": "11963427191"
}
}' \
--compressed
Exemplo de resposta de sucesso com identifier:
{
"id": "M2JlYTAyNDctODAyNC00Mzc5LTkwNWQtYTM5ZWRhYWMzM2NmOjE=",
"name": "Luiz Freneda",
"status": "pending",
"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"
},
"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",
"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",
"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,
"service": {
"id": "MTox"
},
"equipments": []
}
Recuperar uma solicitação de serviço
Recupera uma solicitação de serviço existente por id
Método | Endpoint |
---|---|
GET | https://carchost.fieldcontrol.com.br/tickets/:id |
Status Code | Descrição |
---|---|
200 | Solicitação de serviço recuperada com sucesso |
404 | Solicitação de serviço não encontrada |
422 | Requisiçã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",
"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étodo | Endpoint |
---|---|
PUT | https://carchost.fieldcontrol.com.br/tickets/:id |
Status Code | Descrição |
---|---|
200 | Solicitação de serviço atualizada com sucesso |
422 | Solicitaçã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.",
"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",
"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étodo | Endpoint |
---|---|
GET | https://carchost.fieldcontrol.com.br/tickets/ |
Status Code | Descrição |
---|---|
200 | Solicitações de serviço recuperadas com sucesso |
422 | Requisiçã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âmetro | Descrição |
---|---|
archived | Arquivado |
identifier | Identificador da solicitação de serviço |
name | Nome do cliente da solicitação de serviço |
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",
"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",
"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
Nome | Tipo | Descrição |
---|---|---|
id | string | Identificador da atividade |
order.id | string | Identificador da ordem de serviço (somente leitura) |
employee.id | string | Identificador do colaborador associado |
archived | boolean | Arquivado (somente leitura) |
duration* | integer | Duração da atividade |
position* | integer | Posição da atividade referente às outras atividades previamente cadastradas |
status* | string | Estado da atividade. Os valores possíveis são: scheduled, in-progress, done, canceled ou reported |
startedAt | string | Data e hora de início da atividade (somente leitura) |
completedAt | string | Data e hora de fechamento da atividade (somente leitura) |
description | string | Descrição da atividade |
statusDescription | string | Descrição de fechamento da atividade, por exemplo, detalhes dados pelo técnico sobre a atividade realizada |
scheduling.type* | string | Tipo do agendamento. Os possíveis valores são: scheduled-date e scheduled-date-and-time |
scheduling.date* | string | Data de agendamento da atividade (DD-MM-YYYY) |
scheduling.time | string | Hora de agendamento da atividade (HH:mm) |
coords.latitude* | float | Latitude - Coordenada geográfica do local de atendimento |
coords.longitude* | float | Longitude - Coordenada geográfica do local de atendimento |
createdAt | string | Data de criação da atividade (somente leitura) |
updatedAt | string | Data da ultima atualização da atividade (somente leitura) |
receivedAt | string | Data de recebimento da atividade no app do colaborador (somente leitura) |
viewedAt | string | Data 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étodo | Endpoint |
---|---|
GET | https://carchost.fieldcontrol.com.br/tasks/:id |
Status Code | Descrição |
---|---|
200 | Atividade recuperada com sucesso |
404 | Atividade não encontrada |
422 | Requisiçã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
},
"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étodo | Endpoint |
---|---|
GET | https://carchost.fieldcontrol.com.br/tasks |
Status Code | Descrição |
---|---|
200 | Atividades recuperados com sucesso |
422 | Requisiçã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âmetro | Operadores | Descrição |
---|---|---|
archived | Nenhum | Arquivada |
created_at | >=, <=, > e < | Data de criação da atividade |
scheduled_date | >=, <=, > e < | Data de agendamento da atividade |
completed_at | >=, <=, > e < | Data de conclusão da atividade |
status | Nenhum | Situação da atividade |
employee_id | Nenhum | Colaborador vinculado a 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
},
"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
},
"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:
Valor | Descrição |
---|---|
created_at | Data de criação em ordem ascendente |
-created_at | Data de criação em ordem descendente |
scheduled_date | Data de agendamento em ordem ascendente |
-scheduled_date | Data de agendamento em ordem descendente |
Tipos de atividades
Tipos de atividades são serviços prestados pela empresa. Exemplos: instalação, manutenção, reparo, etc..
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
id* | string | Identificador |
name* | string | Nome do tipo de atividade |
duration* | integer | Duração estimada |
archived* | boolean | Indica se o tipo de atividade está arquivado |
createdAt | string | Data de criação do tipo de atividade (somente leitura) |
Usuários com perfil de administrador podem gerenciar os tipos de atividades no Painel de gestão pelo link: https://app.fieldcontrol.com.br/#/tipos-de-atividade
Criar um tipo de atividade
Cria um novo tipo de atividade
Método | Endpoint |
---|---|
POST | https://carchost.fieldcontrol.com.br/services/ |
Status Code | Descrição |
---|---|
201 | Tipo de atividade criado com sucesso |
422 | Tipo de atividade 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 atividade:
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 atividade
Recupera um tipo de atividade existente por id
Método | Endpoint |
---|---|
GET | https://carchost.fieldcontrol.com.br/services/:id |
Status Code | Descrição |
---|---|
200 | Tipo de atividade recuperado com sucesso |
404 | Tipo de atividade não encontrado |
422 | Requisiçã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 atividade:
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 atividade
Atualiza um tipo de atividade existente
Método | Endpoint |
---|---|
PUT | https://carchost.fieldcontrol.com.br/services/:id |
Status Code | Descrição |
---|---|
200 | Tipo de atividade atualizado com sucesso |
422 | Tipo de atividade 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 atividade:
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 atividade
Lista tipos de atividade existentes
Método | Endpoint |
---|---|
GET | https://carchost.fieldcontrol.com.br/services/ |
Status Code | Descrição |
---|---|
200 | Tipos de atividade recuperadas com sucesso |
422 | Requisiçã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 atividade:
Parâmetro | Descrição |
---|---|
archived | Arquivado |
name | Nome do tipo de atividade |
Exemplo de requisição para recuperar lista de tipos de atividade:
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:
- Número da ordem de serviço
- Dados do cliente
- Serviço a ser realizado
- Data de emissão.
Parâmetros
Nome | Tipo | maxLength | Descrição |
---|---|---|---|
id | string | ----- | Id da ordem de serviço |
identifier* | string | ----- | Identificador da ordem de serviço, deve ser único entre todas as ordens de serviço |
archived | boolean | ----- | Indica se a ordem de serviço está arquivada (somente leitura) |
description | string | (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.neighborhood | string | (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.complement | string | (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 |
createdAt | string | ---- | Data de criação da ordem de serviço (somente leitura) |
updatedAt | string | ---- | Data da ultima atualização da ordem de serviço (somente leitura) |
tasks | array | ---- | Atividade(s) associada(s) à ordem de serviço. É necessário somente ao criar uma ordem de serviço |
ticket.id | string | ---- | Id da Solicitação associado à ordem de serviço caso informado o respectivo ticket será marcado como aceito e arquivado. |
location.id | string | ---- | Id da localização do cliente associado |
Criar uma ordem de serviço
Cria uma nova ordem de serviço.
Método | Endpoint |
---|---|
POST | https://carchost.fieldcontrol.com.br/orders/ |
Status Code | Descrição |
---|---|
201 | Ordem de serviço criada com sucesso |
422 | Ordem 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.",
"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
}
},
"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="
}
}' \
--compressed
Para facilitar, é possível definir um cliente (customer
) e/ou um tipo de atividade (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 atividade (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.",
"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,
"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étodo | Endpoint |
---|---|
GET | https://carchost.fieldcontrol.com.br/orders/:id |
Status Code | Descrição |
---|---|
200 | Ordem de serviço recuperada com sucesso |
404 | Ordem de serviço não encontrada |
422 | Requisiçã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,
"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étodo | Endpoint |
---|---|
PUT | https://carchost.fieldcontrol.com.br/orders/:id |
Status Code | Descrição |
---|---|
200 | Ordem de serviço atualizada com sucesso |
422 | Ordem 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.",
"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",
"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
}
},
"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étodo | Endpoint |
---|---|
GET | https://carchost.fieldcontrol.com.br/orders/ |
Status Code | Descrição |
---|---|
200 | Ordens de serviços recuperadas com sucesso |
422 | Requisiçã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âmetro | Operadores | Descrição |
---|---|---|
identifier | Nenhum | Identificador da ordem de serviço |
customer_id | Nenhum | Identificador do cliente da ordem de serviço |
service_id | Nenhum | Identificador do tipo de atividade da ordem de serviço |
created_at | >=, <=, > e < | Data de criaçã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,
"link": "https://app.fieldcontrol.com.br/relacionamento-cliente/#/relatorio/42b1d4c4-9cf8-45a6-8622-b3c76cf942c8",
"customer": {
"id": "MTox"
},
"service": {
"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
}
},
"createdAt": "2020-06-12T12:00:15Z",
"updatedAt": "2020-02-29T12:12:26Z",
"location": {
"id": "NDUwODQ4MDQtNGZjNS00MTY1LTliYWEtYTU1NDA2MzEwNDNmOjE="
}
},
{
"id": "MDRlYjVjY2YtZjBmZC00NjBjLTk2NWItOWI3MDBiNGJiYjgyOjE=",
"identifier": "695866",
"description": null,
"archived": false,
"customer": {
"id": "MTox"
},
"service": {
"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
}
},
"createdAt": "2020-06-12T12:00:15Z",
"updatedAt": "2020-02-29T12:12:26Z",
"location": {
"id": "NzRkMDgyYWMtNDQ0YS00Zjc3LTg5NjMtOTZlOTFjMzlmOTdkOjE="
}
}
],
"totalCount": 205
}
Valores disponíveis para ordenação de resultados:
Valor | Descrição |
---|---|
created_at | Data de criação em ordem ascendente |
-created_at | Data de criação em ordem descendente |
Criar uma atividade
Cria uma nova atividade para ordem de serviço.
Método | Endpoint |
---|---|
POST | https://carchost.fieldcontrol.com.br/orders/:order_id/tasks |
Status Code | Descrição |
---|---|
201 | Atividade criado com sucesso |
422 | Atividade 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,
"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étodo | Endpoint |
---|---|
GET | https://carchost.fieldcontrol.com.br/orders/:order_id/tasks/:task_id |
Status Code | Descrição |
---|---|
200 | Atividade recuperada com sucesso |
404 | Atividade não encontrada |
422 | Requisiçã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étodo | Endpoint |
---|---|
PUT | https://carchost.fieldcontrol.com.br/orders/:order_id/tasks/:id |
Status Code | Descrição |
---|---|
200 | Atividade atualizada com sucesso |
422 | Atividade 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,
"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étodo | Endpoint |
---|---|
GET | https://carchost.fieldcontrol.com.br/orders/:order_id/tasks |
Status Code | Descrição |
---|---|
200 | Atividades recuperados com sucesso |
422 | Requisiçã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âmetro | Operadores | Descrição |
---|---|---|
archived | Nenhum | Arquivada |
created_at | >=, <=, > e < | Data de criação da atividade |
scheduled_date | >=, <=, > e < | Data de agendamento da atividade |
status | Nenhum | Situaçã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:
Valor | Descrição |
---|---|
created_at | Data de criação em ordem ascendente |
-created_at | Data de criação em ordem descendente |
scheduled_date | Data de agendamento em ordem ascendente |
-scheduled_date | Data 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
Nome | Tipo | Descrição |
---|---|---|
id | string | Identificador do formulário |
name* | string | Nome do formulário |
archived* | boolean | Se o formulário está arquivado ou não |
score* | integer | Soma do score das respostas |
order | object | OS que o formulário está vinculado |
order.id* | string | Identificador da OS |
questions* | array | Todas as perguntas do formulário |
questions[].type* | string | Tipo de resposta da pergunta. Os valores possíveis são: picture, short-answer, paragraph, dropdown, multiple-choice, checkboxes, numeric ou date. |
questions[].position* | integer | Posição que a pergunta deve ter dentre outras perguntas |
questions[].required* | boolean | Se a pergunta é obrigatória ou não |
questions[].title* | string | Título da pergunta |
questions[].answer* | string | Resposta da pergunta |
questions[].options | array | Todas as opções de resposta para uma pergunta |
questions[].options[].value* | string | Valor de uma opção de resposta para a pergunta |
questions[].options[].position* | string | Posição que a opção deve ter dentre outras opções |
questions[].options[].score* | string | Valor da pontuação atribuida aquela resposta da pergunta |
questions[].conditions | array | Todas as opções de resposta para uma pergunta que possua uma condição |
questions[].conditions[].value* | string | Valor de uma opção de resposta para a pergunta condicional |
questions[].conditions[].condition* | string | Tipo de relacionamento entre a pergunta e condição. O valor possível é: equal |
questions[].conditions[].question.title* | string | Título da pergunta a qual a condição corresponde |
Recupera um formulário respondido existente por id
Método | Endpoint |
---|---|
GET | https://carchost.fieldcontrol.com.br/orders/:order_id/forms/:id |
Status Code | Descrição |
---|---|
200 | Formulário recuperado com sucesso |
404 | Formulário não encontrado |
422 | Requisiçã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étodo | Endpoint |
---|---|
GET | https://carchost.fieldcontrol.com.br/orders/:order_id/forms |
Status Code | Descrição |
---|---|
200 | Formulários respondidos recuperados com sucesso |
422 | Requisiçã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
Nome | Tipo | Descrição |
---|---|---|
equipment.id | string | Identificador do equipamento |
Método | Endpoint |
---|---|
POST | https://carchost.fieldcontrol.com.br/orders/:order_id/equipments |
Status Code | Descrição |
---|---|
201 | Equipamento inserido com sucesso na ordem de serviço |
422 | Identificador 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 |
409 | Equipamento 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="
},
"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étodo | Endpoint |
---|---|
GET | https://carchost.fieldcontrol.com.br/orders/:order_id/equipments/:equip_id |
Status Code | Descrição |
---|---|
200 | Equipamento recuperado com sucesso |
404 | Ordem de serviço não encontrada ou equipamento não encontrado |
422 | Requisiçã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,
"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étodo | Endpoint |
---|---|
GET | https://carchost.fieldcontrol.com.br/orders/:order_id/equipments |
Status Code | Descrição |
---|---|
200 | Equipamentos recuperados com sucesso |
404 | Ordem de serviço não encontrada |
422 | Requisiçã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,
"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,
"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étodo | Endpoint |
---|---|
DELETE | https://carchost.fieldcontrol.com.br/orders/:order_id/equipments/:equip_id |
Status Code | Descrição |
---|---|
204 | Equipamento removido com sucesso |
404 | Ordem de serviço não encontrada ou equipamento não encontrado na ordem de serviço |
422 | Requisiçã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étodo | Endpoint |
---|---|
GET | https://carchost.fieldcontrol.com.br/orders/:order_id/products |
Status Code | Descrição |
---|---|
200 | Produtos recuperados com sucesso |
422 | Requisiçã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
Nome | Tipo | Descrição |
---|---|---|
label.id | string | Identificador da etiqueta |
Método | Endpoint |
---|---|
POST | https://carchost.fieldcontrol.com.br/orders/:order_id/labels |
Status Code | Descrição |
---|---|
201 | Etiqueta inserida com sucesso na ordem de serviço |
422 | Identificador da etiqueta enviado é inválido ou a etiqueta não foi encontrada |
409 | Etiqueta 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 um equipamento 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étodo | Endpoint |
---|---|
GET | https://carchost.fieldcontrol.com.br/orders/:id/labels |
Status Code | Descrição |
---|---|
200 | Etiquetas recuperadas com sucesso |
422 | Requisiçã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étodo | Endpoint |
---|---|
DELETE | https://carchost.fieldcontrol.com.br/orders/:order_id/labels/:label_id |
Status Code | Descrição |
---|---|
204 | Etiqueta removida com sucesso |
404 | Ordem de serviço não encontrada ou etiqueta não encontrada na ordem de serviço |
422 | Requisiçã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/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étodo | Endpoint |
---|---|
GET | https://carchost.fieldcontrol.com.br/orders/:order_id/signatures |
Status Code | Descrição |
---|---|
200 | Assinaturas recuperadas com sucesso |
404 | Assinaturas 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="
}
}
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
Nome | Tipo | Descrição |
---|---|---|
id | string | Identificador do formulário |
name* | string | Nome do formulário |
archived* | boolean | Se o formulário está arquivado ou não |
score* | integer | Soma do score das respostas |
order | object | OS que o formulário está vinculado |
order.id* | string | Identificador da OS |
questions* | array | Todas as perguntas do formulário |
questions[].type* | string | Tipo de resposta da pergunta. Os valores possíveis são: picture, short-answer, paragraph, dropdown, multiple-choice, checkboxes, numeric ou date. |
questions[].position* | integer | Posição que a pergunta deve ter dentre outras perguntas |
questions[].required* | boolean | Se a pergunta é obrigatória ou não |
questions[].title* | string | Título da pergunta |
questions[].answer* | string | Resposta da pergunta |
questions[].options | array | Todas as opções de resposta para uma pergunta |
questions[].options[].value* | string | Valor de uma opção de resposta para a pergunta |
questions[].options[].position* | string | Posição que a opção deve ter dentre outras opções |
questions[].options[].score* | string | Valor da pontuação atribuida aquela resposta da pergunta |
questions[].conditions | array | Todas as opções de resposta para uma pergunta que possua uma condição |
questions[].conditions[].value* | string | Valor de uma opção de resposta para a pergunta condicional |
questions[].conditions[].condition* | string | Tipo de relacionamento entre a pergunta e condição. O valor possível é: equal |
questions[].conditions[].question.title* | string | Título da pergunta a qual a condição corresponde |
Recuperar uma resposta de formulário
Recupera um formulário respondido existente por id
Método | Endpoint |
---|---|
GET | https://carchost.fieldcontrol.com.br/forms-answers/:id |
Status Code | Descrição |
---|---|
200 | Formulário recuperado com sucesso |
404 | Formulário não encontrado |
422 | Requisiçã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="
}
"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étodo | Endpoint |
---|---|
GET | https://carchost.fieldcontrol.com.br/forms-answers |
Status Code | Descrição |
---|---|
200 | Formulários respondidos recuperados com sucesso |
422 | Requisiçã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âmetro | Operadores | Descrição |
---|---|---|
order_id | Nenhum | Identificador da ordem de serviço |
archived | Nenhum | Resposta 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=",
"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
}
Anexos
Anexos são as imagens de uma ordem de serviço.
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
id | string | Identificador do anexo |
path* | string | Caminho do arquivo |
title | string | Título do anexo |
createdAt | string | Data e hora da criação do anexo (somente leitura) |
Listar anexos
Lista anexos existentes para uma ordem de serviço
Método | Endpoint |
---|---|
GET | https://carchost.fieldcontrol.com.br/orders/:order_id/attachments |
Status Code | Descrição |
---|---|
200 | Anexos recuperados com sucesso |
422 | Requisiçã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étodo | Endpoint |
---|---|
GET | https://carchost.fieldcontrol.com.br/orders/:order_id/attachments/:attachment_id |
Status Code | Descrição |
---|---|
200 | Anexo recuperado com sucesso |
422 | Requisiçã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
Nome | Tipo | Descrição |
---|---|---|
id | string | Identificador do comentário |
employee.id | string | Identificador do colaborador (depreciado) |
user.id | string | Identificador do usuário (depreciado) |
message* | string | Mensagem do comentário |
archived | boolean | Se o comentário está ou não arquivado e seu valor padrão é false |
type* | string | Tipo 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.id | string | Identificador do autor comentário |
postedBy.name* | string | Nome do autor do comentário |
postedBy.type | string | Tipo 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.avatarUrl | string | Url do avatar do autor do comentário |
postedBy.externalId* | string | Id 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étodo | Endpoint |
---|---|
GET | https://carchost.fieldcontrol.com.br/orders/:order_id/comments |
Status Code | Descrição |
---|---|
200 | Comentários recuperados com sucesso |
422 | Requisiçã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étodo | Endpoint |
---|---|
POST | https://carchost.fieldcontrol.com.br/orders/:order_id/comments |
Status Code | Descrição |
---|---|
200 | Comentários recuperados com sucesso |
422 | Requisiçã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
Nome | Tipo | Descrição |
---|---|---|
id | string | Identificador |
order.id* | string | Identificador da ordem de serviço |
identifier* | string | Identificador do orçamento, deve ser único entre todos os orçamentos |
name* | string | Nome do orçamento |
description | string | Descrição do orçamento |
additionalInformation | string | Observações do orçamento |
archived* | boolean | Indica se o orçamento está arquivado |
subtotal* | number | Subtotal do orçamento |
total* | number | Total do orçamento |
customer.id* | string | Identificador do cliente |
discount.type* | number | Indica o tipo do desconto (percentage, value) |
discount.value* | number | Indica o valor do desconto |
discount.total* | number | Indica o total do desconto |
status* | string | Indica o status do orçamento (pending, approved, refused, expired, canceled) |
expiredAt* | string | Indica data que o orçamento expirou |
refusedAt | string | Indica data que o orçamento foi negado |
approvedAt | string | Indica data que o orçamento foi aprovado |
approvedBy | string | Indica o nome de quem aprovou o orçamento |
createdBy | string | Indica o nome de quem criou o orçamento |
approvedSignature | string | Assinatura de quem aprovou o orçamento |
items* | array | Lista de items do orçamento |
items.id | string | Identificador de um item do orçamento |
items.productService.id* | string | Identificador do produto/serviço |
items.productService.value* | number | Valor do produto/serviço |
items.position* | number | Posição do item |
items.quantity* | number | Quantidade do item |
items.total* | number | Valor total do item |
items.description | string | Descrição do item |
Criar um orçamento
Criar um orçamento.
Método | Endpoint |
---|---|
POST | https://carchost.fieldcontrol.com.br/quotations |
Status Code | Descrição |
---|---|
201 | Orçamento criado com sucesso |
422 | Orç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étodo | Endpoint |
---|---|
GET | https://carchost.fieldcontrol.com.br/quotations |
Status Code | Descrição |
---|---|
200 | Orçamentos recuperados com sucesso |
422 | Requisiçã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âmetro | Operadores | Descrição |
---|---|---|
name | Nenhum | Nome do orçamento |
archived | Nenhum | Equipamento arquivado |
identifier | Nenhum | Identificador do orçamento |
status | Nenhum | Status do orçamento |
createdBy | Nenhum | Nome do criador do orçamento |
customerId | Nenhum | Identificador 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"
},
"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étodo | Endpoint |
---|---|
GET | https://carchost.fieldcontrol.com.br/quotations/:id |
Status Code | Descrição |
---|---|
200 | Orçamento recuperado com sucesso |
404 | Orçamento não encontrado |
422 | Requisiçã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"
},
"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
Nome | Tipo | Descrição |
---|---|---|
id | string | Identificador do item |
description | string | Descrição do orçamento |
productService.id | string | Identificador do produto/serviço |
productService.value | string | Valor do produto/serviço |
quantity | number | Quantidade do item |
quotation.id | string | Identificador do orçamento |
total | string | Valor 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étodo | Endpoint |
---|---|
PUT | https://carchost.fieldcontrol.com.br/quotations/:id |
Status Code | Descrição |
---|---|
200 | Orçamento atualizado com sucesso |
422 | Orç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
Nome | Tipo | Descrição |
---|---|---|
id* | string | Identificador |
name* | string | Nome da etiqueta |
color* | string | Cor da etiqueta |
type* | string | Tipo 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étodo | Endpoint |
---|---|
GET | https://carchost.fieldcontrol.com.br/labels |
Status Code | Descrição |
---|---|
200 | Etiquetas recuperadas com sucesso |
422 | Requisiçã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:
Valor | Descrição |
---|---|
name | Nome em ordem ascendente |
-name | Nome em ordem descendente |
created_at | Data de criação em ordem ascendente |
-created_at | Data 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:
Evento | Descrição |
---|---|
order-form-created | Criação de um formulário |
order-form-updated | Atualização de um formulário |
order-attachment-created | Criação de um anexo |
order-attachment-updated | Atualização de um anexo |
order-created | Criação de uma ordem de serviço |
order-updated | Atualização de uma ordem de serviço |
task-created | Criação de uma atividade |
task-updated | Atualização de uma atividade |
task-started | Atividade iniciada pelo colaborador |
task-reported | Impedimento da realização de alguma atividade |
task-completed | Atividade concluída com sucesso |
task-rated | Avaliação de uma atividade |
task-start-route | Inicio da rota de uma atividade |
task-route-started | Rota de uma atividade iniciada |
comment-created | Criação de um comentário |
employee-created | Criação de um novo colaborador |
ticket-accepted | Solicitação de serviço aceita |
ticket-canceled | Solicitação de serviço cancelada |
ticket-created | Criação de uma solicitação de serviço |
quotation-created | Criação de um orçamento |
quotation-canceled | Orçamento cancelado |
quotation-updated | Orçamento atualizado |
quotation-approved | Orçamento aprovado |
quotation-refused | Orçamento recusado |
vehicle-created | Veículo criado |
vehicle-updated | Veí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
:
Header | Descrição |
---|---|
X-FieldControl-Event | Nome do evento que foi disparado |
X-FieldControl-Delivery | Id único do envio |
Content-Type | Formato do conteúdo da requisição, sempre será: application/json |
Resumindo
Basicamente, ao receber um evento de webhook a aplicação consumidora deve:
- Identificar pelo header
X-FieldControl-Delivery
se aquela requisição já foi processada anteriormente; - Identificar pelo header
X-FieldControl-Event
qual é o evento que foi enviado; - Atualizar sua base com as informações enviadas.
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ção | Com 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ço | Requisições/segundo | Documentação |
---|---|---|
US$5,00 a cada 1000 Fornece US$200,00/mês para utilizar Saiba mais | 50 | Geocoding 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ço | Requisições/segundo | Documentação |
---|---|---|
250.000 transações/mês Para camada de serviço "Standard S0" Saiba mais | 50 | Maps 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ço | Requisições/segundo | Documentação |
---|---|---|
250.000 transações/mês Para contas Freemium Saiba mais | 1 | Geocoding API |