# Introdução

Bem-vindo ao Cange Docs, seu ponto de partida para compreender e aproveitar todo o poder das APIs e ferramentas de desenvolvedor oferecidas pelo Cange. Criamos um ambiente intuitivo e detalhado onde você pode aprender a integrar, automatizar e otimizar os processos do seu negócio rapidamente, sem complicações — em apenas alguns minutos ao invés de meses.&#x20;

Explore como você pode desenvolver, incorporar e personalizar as soluções perfeitas para a gestão de processos e tarefas, possibilitando assim uma gestão colaborativa e insights precisos para levar o seu negócio a novos patamares de eficiência.

Queremos fazer do Cange Docs um recurso confiável para todas as suas necessidades de desenvolvimento — simplificando as complexidades, para que você possa focar no que realmente importa: seu negócio.

### Comece por aqui

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-cover data-type="files"></th><th data-hidden></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Autenticação</strong></td><td>Aprenda a criar a autenticação via API</td><td><a href="https://3455492266-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRwVy0iUEFA554Gv29SpL%2Fuploads%2FxZuBIw0BoPkrtdQtSfPB%2Filustrac%CC%A7a%CC%83o%205.png?alt=media&amp;token=e84f823f-4163-4679-90c9-7ac58a6f54cf">ilustração 5.png</a></td><td></td><td><a href="/api/autenticacao">Autenticação</a></td></tr></tbody></table>


# Autenticação

Para utilizar a API do Cange, é essencial autenticar cada solicitação. Utilizamos um sistema baseado em tokens JWT, que proporciona segurança e confiabilidade nas transações. A autenticação via a API do Cange requer o uso de um e-mail associado à conta e um token pessoal. Abaixo, você encontrará um guia passo a passo sobre como obter o seu token de autenticação.

{% hint style="info" %}
**TIP**

Verifique se o seu plano inclui suporte ao uso de API no Cange. Além disso, é necessário ter um perfil de administrador no ambiente para que seja possível gerar tokens pessoais.
{% endhint %}

## Gerando o token pessoal

1. **Entrar na Plataforma:** Acesse a plataforma Cange e faça login utilizando suas credenciais.
2. **Acessar a Página de Perfil do Usuário:** Navegue até a página de perfil do seu usuário. Essa opção está disponível ao clicar no ícone de avatar localizado no canto inferior esquerdo do menu de navegação.

<figure><img src="https://3455492266-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRwVy0iUEFA554Gv29SpL%2Fuploads%2FNLvzKkoI73r682kniUKK%2Fimage.png?alt=media&amp;token=5df095b6-08ac-420e-bc3c-891a5d3b6269" alt=""><figcaption></figcaption></figure>

3. **Ir para a Aba de Aplicativos:** Dentro da página de perfil, vá até a aba "Aplicativos". Nesta seção, você encontrará a opção de criar um novo token pessoal.

<figure><img src="https://3455492266-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRwVy0iUEFA554Gv29SpL%2Fuploads%2FeNsL5SVoenZZfkRmEcbF%2Fimage.png?alt=media&amp;token=d2c09251-4040-4082-9211-91b65dfa9c23" alt=""><figcaption></figcaption></figure>

4. **Criar Novo Token Pessoal:**&#x20;
   1. Clique no botão "Criar novo token". Dê um nome descritivo ao token, que facilite a identificação do seu propósito. Em seguida, clique em "Salvar".
   2. Após salvar, seu token pessoal será gerado. Copie-o e guarde-o em um local seguro, pois ele não será exibido novamente.

{% hint style="info" %}
**TIP**

É fundamental armazenar o token em um local seguro após copiá-lo, uma vez que ele não poderá ser exibido novamente.
{% endhint %}

Com o token pessoal em mãos, você está pronto para iniciar a configuração da chamada de autenticação utilizando o endpoint adequado.

## Realizando a chamada de autenticação

Após ter em mãos o seu token pessoal, você pode iniciar a configuração da chamada de autenticação, o endpoint utilizado será o endpoint abaixo.

```http
https://api.cange.me/session
```

<mark style="color:green;">`POST`</mark> `/session`

Endpoint com o objetivo de retornar o token de acesso.

**Headers**

| Name         | Value                  |
| ------------ | ---------------------- |
| Content-Type | `application/json`     |
| Origin       | `https://app.cange.me` |

**Body**

| Name     | Type   | Description                                           |
| -------- | ------ | ----------------------------------------------------- |
| `email`  | string | E-mail do usuário que gerou o token de acesso pessoal |
| `apikey` | string | Token de acesso pessoal gerado                        |

**Response**

{% tabs %}
{% tab title="200" %}

```json
{
"token": "tokenDeAutenticação..."
}
```

{% endtab %}
{% endtabs %}


# Fluxos

Os fluxos de trabalho no Cange são uma poderosa ferramenta para digitalizar e automatizar processos empresariais comuns e complexos. Eles permitem que você crie, gerencie e otimize sequências de tarefas que envolvem várias etapas e colaboradores, promovendo a eficiência operacional.&#x20;

Com os fluxos de trabalho, você pode definir regras e condições que, quando atendidas, automaticamente desencadeiam ações predefinidas, como notificação de equipe, aprovações de documentos, ou atualizações de status de projeto. Isso elimina a necessidade de intervenção manual e minimiza erros, garantindo que os processos empresariais sejam executados de forma mais rápida e precisa.

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-cover data-type="files"></th><th data-hidden></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Criar um cartão no fluxo</strong><br></td><td>Aprenda agora ></td><td></td><td></td><td><a href="/api/fluxos/criar-um-cartao">Criar um cartão</a></td></tr><tr><td><strong>Editar as respostas de um cartão</strong></td><td>Aprenda agora ></td><td></td><td></td><td><a href="/api/fluxos/editar-os-campos-de-um-cartao">Editar os campos de um cartão</a></td></tr></tbody></table>


# Criar um cartão

Os cartões são componentes vitais na gestão de tarefas, projetos e fluxos de trabalho dentro da plataforma Cange, permitindo uma visualização clara e organizada de todas as atividades e responsabilidades.&#x20;

Usar a API do Cange para criar cartões oferece uma maneira eficiente e automatizada de inserir, atualizar e gerenciar essas unidades de trabalho diretamente a partir das suas aplicações ou sistemas existentes, aumentando a produtividade e integridade dos processos.

Para criar um cartão através da API, você precisará ter um token de acesso. Se ainda não possui o seu token, consulte nosso guia abaixo sobre como obter o token de autenticação.

{% content-ref url="/pages/9WZ3PW4K1WSS8OpsOrjm" %}
[Autenticação](/api/autenticacao)
{% endcontent-ref %}

Como os fluxos no Cange possuem campos dinâmicos, simplificamos o processo para você. Na tela de configuração do formulário, oferecemos uma opção prática para copiar o objeto do body da requisição completa. Basta abrir a tela de edição do formulário inicial e, abaixo da pré-visualização do formulário, você encontrará um contêiner com a informação "Objeto API". Copie esse objeto e use-o como base para montar sua solicitação de criação de um cartão, garantindo que todos os campos dinâmicos sejam corretamente incluídos.<br>

<figure><img src="https://3455492266-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRwVy0iUEFA554Gv29SpL%2Fuploads%2F30qiIyy2seCIgY8PFvNN%2Fimage.png?alt=media&amp;token=c398a561-5966-45ae-abe9-c8bdf1f5d9e6" alt=""><figcaption></figcaption></figure>

## Realizando a chamada para criação do cartão

```http
https://api.cange.me/form/new-answer
```

<mark style="color:green;">`POST`</mark> `/form/new-answer`

Endpoint com o objetivo de criar um novo cartão dentro de um fluxo

**Headers**

| Name          | Value                      |
| ------------- | -------------------------- |
| Content-Type  | `application/json`         |
| Origin        | `https://app.cange.me`     |
| Authorization | `Bearer <token de acesso>` |

**Body**

| Name      | Type   | Description                                                                                                       |
| --------- | ------ | ----------------------------------------------------------------------------------------------------------------- |
| `id_form` | number | Código identificador do formulário                                                                                |
| `origin`  | string | Identificação do local que está partindo a solicitação                                                            |
| `values`  | object | Objeto com os campos do formulário e seu valor para inserção (Este objeto pode ser copiado na tela do formulário) |
| `flow_id` | number | Código identificador do fluxo                                                                                     |

```
{
  "id_form": 662,
  "origin": "/NomeDaSuaApi",
  "values": {
    "7daf17bab5e0a7aa44417ee84ae2f705cd828766": "ReplaceByYourValue",
    "318b58166fff4affec4e0b700caa96b02d5ffefa": "ReplaceByYourValue",
    "50b2e145782d65231f45306ff10cda5a7ea2d1cd": "ReplaceByYourValue",
    "b7ce18bc7da2452724ae4b27bb9f0ff66bbbf6b7": "ReplaceByYourValue"
  },
  "flow_id": 192
}
```

**Response**

{% tabs %}
{% tab title="200" %}

```json
{
    "form_id": 35627,
    "user_id_creator": 230,
    "dt_created": "2023-09-06T14:11:07.000Z",
    "company_id": 215,
    "origin": "/Sistemalegado",
    "flow_step_id": 28347,
    "card_id": 82810,
    "id_form_answer": 379344,
    "dt_deleted": null,
    "form_answer_fields": [
        {
            "form_answer_id": 379344,
            "field_id": 91184,
            "index": 0,
            "value": "teste",
            "dt_created": "2023-09-06T14:11:07.000Z",
            "dt_last_update": "2023-09-06T14:11:07.000Z",
            "id_form_answer_field": 2402985,
            "dt_deleted": null
        }
    ]
}
```

{% endtab %}
{% endtabs %}


# Editar um cartão

Os cartões são componentes vitais na gestão de tarefas, projetos e fluxos de trabalho dentro da plataforma Cange, permitindo uma visualização clara e organizada de todas as atividades e responsabilidades.&#x20;

Usar a API do Cange para editar cartões oferece uma maneira eficiente e automatizada de editar essas unidades de trabalho diretamente a partir das suas aplicações ou sistemas existentes, aumentando a produtividade e integridade dos processos.

Para editar um cartão através da API, você precisará ter um token de acesso. Se ainda não possui o seu token, consulte nosso guia abaixo sobre como obter o token de autenticação.

{% content-ref url="/pages/9WZ3PW4K1WSS8OpsOrjm" %}
[Autenticação](/api/autenticacao)
{% endcontent-ref %}

**Com esta requisição será possível editar os atributos principais do cartão, como: Responsável, data de vencimento, etiqueta, arquivar um cartão, entre outros.**&#x20;

## Realizando a chamada para edição do cartão

```http
https://api.cange.me/card
```

<mark style="color:green;">`PUT`</mark> `/card`

Endpoint com o objetivo de editar os principais atributos do cartão

**Headers**

| Name          | Value                      |
| ------------- | -------------------------- |
| Content-Type  | `application/json`         |
| Origin        | `https://app.cange.me`     |
| Authorization | `Bearer <token de acesso>` |

**Body**

| Name       | Type              | Description                                             |
| ---------- | ----------------- | ------------------------------------------------------- |
| `flow_id`  | number            | <p>Código identificador do <br>fluxo</p>                |
| `id_card`  | number            | Código identificador do cartão                          |
| `user_id`  | number (Opcional) | Código identificador do usuário                         |
| `dt_due`   | string (Opcional) | Data de vencimento do cartão ("2024-11-01 00:00")       |
| `complete` | string (Opcional) | Flag para finalização do cartão ("S" = Sim / "N" = Não) |
| `archived` | string (Opcional) | Flag para finalização do cartão ("S" = Sim / "N" = Não) |

```
{
    "flow_id": 5912,
    "id_card": 95192,
    "user_id": 2342,
    "dt_due": "2024-11-01 00:00",
    "flow_tag_id": 2398427,
    "complete": "S",
    "archived": "S"
}
```

**Response**

{% tabs %}
{% tab title="200" %}

```json
{
    "flow_id": 5912,
    "id_card": 95192,
    "user_id": 2342,
    "dt_due": "2024-11-01 00:00",
    "flow_tag_id": 2398427,
    "complete": "S",
    "archived": "S"
}
```

{% endtab %}
{% endtabs %}


# Editar os campos de um cartão

Os cartões são componentes vitais na gestão de tarefas, projetos e fluxos de trabalho dentro da plataforma Cange, permitindo uma visualização clara e organizada de todas as atividades e responsabilidades.&#x20;

Usar a API do Cange para **editar as respostas dos cartões** oferece uma maneira eficiente e automatizada de editar essas unidades de trabalho diretamente a partir das suas aplicações ou sistemas existentes, aumentando a produtividade e integridade dos processos.

Para editar as **respostas de um cartão** através da API, você precisará ter um token de acesso. Se ainda não possui o seu token, consulte nosso guia abaixo sobre como obter o token de autenticação.

{% content-ref url="/pages/9WZ3PW4K1WSS8OpsOrjm" %}
[Autenticação](/api/autenticacao)
{% endcontent-ref %}

**Com esta requisição será possível apenas editar campos dinâmicos do cartão e será editado apenas campos do mesmo formulário.** Para a edição de campos de formulários diferentes é necessário fazer uma requisição por formulário.

Como os fluxos no Cange possuem campos dinâmicos, simplificamos o processo para você. Na tela de configuração do formulário, oferecemos uma opção prática para copiar o objeto do body da requisição. Basta abrir a tela de edição do formulário inicial ou de alguma etapa e abaixo da pré-visualização do formulário, você encontrará um contêiner com a informação "Objeto API". Copie esse objeto e use-o como base para montar sua solicitação de edição de um cartão, garantindo que todos os campos dinâmicos sejam corretamente incluídos.

{% hint style="info" %}
Lembrete: Todos os campos possuem validação, portanto é necessário que seja enviado no formato correto para que sua requisição seja concluída com sucesso.
{% endhint %}

<figure><img src="https://3455492266-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRwVy0iUEFA554Gv29SpL%2Fuploads%2FrK1wcghrNBHVzYECTpto%2Fimage%20(2).png?alt=media&amp;token=d4170bba-95ad-4973-8585-af613507c92b" alt=""><figcaption></figcaption></figure>

## Realizando a chamada para edição do cartão

```http
https://api.cange.me/form/answer
```

<mark style="color:green;">`PUT`</mark> `/form/answer`

Endpoint com o objetivo de editar os dados de um cartão dentro de um fluxo

**Headers**

| Name          | Value                      |
| ------------- | -------------------------- |
| Content-Type  | `application/json`         |
| Origin        | `https://app.cange.me`     |
| Authorization | `Bearer <token de acesso>` |

**Body**

| Name      | Type   | Description                                                |
| --------- | ------ | ---------------------------------------------------------- |
| `id_form` | number | Código identificador do formulário                         |
| `flow_id` | number | <p>Código identificador do <br>fluxo</p>                   |
| `card_id` | number | Código identificador do cartão                             |
| `values`  | object | Objeto com os campos do formulário e seu valor para edição |

```
{
  "id_form": 36197,
  "flow_id": 5369,
  "card_id": 83454,
  "values": {
    "8156f3254601ca4eb9e05786ab4066d3328bb4e4": "999"
  }
}
```

**Response**

{% tabs %}
{% tab title="200" %}

```json
{
    "form_answer_id": 381718,
    "field_id": 92325,
    "index": 0,
    "value": "777",
    "dt_created": "2024-10-09T19:12:46.000Z",
    "dt_last_update": "2024-10-09T19:12:46.000Z",
    "id_form_answer_field": 2415458,
    "dt_deleted": null
}
```

{% endtab %}
{% endtabs %}


# Mover um cartão

Os cartões são componentes vitais na gestão de tarefas, projetos e fluxos de trabalho dentro da plataforma Cange, permitindo uma visualização clara e organizada de todas as atividades e responsabilidades.&#x20;

Usar a API do Cange para mover cartões oferece uma maneira eficiente e automatizada de mover entre etapas essas unidades de trabalho diretamente a partir das suas aplicações ou sistemas existentes, aumentando a produtividade e integridade dos processos.

Para mover um cartão através da API, você precisará ter um token de acesso. Se ainda não possui o seu token, consulte nosso guia abaixo sobre como obter o token de autenticação.

{% content-ref url="/pages/9WZ3PW4K1WSS8OpsOrjm" %}
[Autenticação](/api/autenticacao)
{% endcontent-ref %}

**Com esta requisição será possível mover os cartões entre as etapas do seu fluxo.** Para ter acesso aos identificadores de cada objeto, siga os passos abaixo:

`flow_id`

Entre no Fluxo que deseja integrar e clique no ícone ↓ ao lado do nome do fluxo para abrir o menu suspenso, nele você poderá visualizar o identificador:

<figure><img src="https://3455492266-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRwVy0iUEFA554Gv29SpL%2Fuploads%2FG0v8ncSlNKzm7mPdiIjl%2FScreenshot%202024-10-09%20at%2018.49.11.png?alt=media&amp;token=ed44b12e-6cdc-4142-96bf-07b7b368312a" alt=""><figcaption></figcaption></figure>

`id_card`

Abra o cartão e clique no ícone "..." no canto superior direito para abrir o menu suspenso do cartão, nele você poderá visualizar o identificador:

<figure><img src="https://3455492266-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRwVy0iUEFA554Gv29SpL%2Fuploads%2FBtd6cRDHoKfhPDpAZQXE%2FScreenshot%202024-10-09%20at%2018.50.27.png?alt=media&amp;token=4a33f3ac-1a74-4192-ab15-a21eda5915bf" alt=""><figcaption></figcaption></figure>

`to_step_id`

Visualize o Kanban do seu fluxo e na etapa que desejar mover o seu cartão, clique no ícone "..." para abair o menu suspenso, nele você poderá visualizar o identificador:&#x20;

<figure><img src="https://3455492266-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRwVy0iUEFA554Gv29SpL%2Fuploads%2FSmiLj6YthAOAlHCwpXHE%2FScreenshot%202024-10-09%20at%2018.49.43.png?alt=media&amp;token=6f507be8-825f-4caf-b11e-ee63cc736cf2" alt=""><figcaption></figcaption></figure>

## Realizando a chamada para edição do cartão

```http
https://api.cange.me/card/move-step
```

<mark style="color:green;">`POST`</mark> `/card/move-step`

Endpoint com o objetivo de mover um cartão entre as etapas de um fluxo

**Headers**

| Name          | Value                      |
| ------------- | -------------------------- |
| Content-Type  | `application/json`         |
| Origin        | `https://app.cange.me`     |
| Authorization | `Bearer <token de acesso>` |

**Body**

| Name         | Type                        | Description                                                                             |
| ------------ | --------------------------- | --------------------------------------------------------------------------------------- |
| `flow_id`    | number                      | <p>Código identificador do <br>fluxo</p>                                                |
| `id_card`    | number                      | Código identificador do cartão                                                          |
| `to_step_id` | number                      | Código identificador da etapa que deseja mover o cartão                                 |
| `complete`   | string (S = Sim ou N = Não) | Parâmetro **opcional** para definir se o cartão deve ser finalizado após a movimentação |

```
{
    "flow_id": 5369,
    "id_card": 83456,
    "to_step_id": 28792,
    "complete": "S"
}
```

**Response**

{% tabs %}
{% tab title="200" %}

```json
{
    "id_card": 83456,
    "dt_due": "2024-10-11",
    "flow_step_id": 28792,
    "user_id": 76
}
```

{% endtab %}
{% endtabs %}


# Buscar um cartão

A busca de cartões é um recurso essencial para o gerenciamento de tarefas e processos dentro da plataforma Cange, permitindo um acesso rápido e organizado a todas as informações necessárias para o seu time.

Utilizar a API de Busca de Cartões do Cange oferece uma maneira eficiente e automatizada de localizar e recuperar cartões diretamente de suas aplicações ou sistemas existentes, aumentando a produtividade e garantindo a integridade dos processos de gestão.

Para buscar um cartão através da API, você precisará ter um token de acesso. Se ainda não possui o seu token, consulte nosso guia abaixo sobre como obter o token de autenticação.

{% content-ref url="/pages/9WZ3PW4K1WSS8OpsOrjm" %}
[Autenticação](/api/autenticacao)
{% endcontent-ref %}

## Realizando a chamada para a busca do cartão

```http
https://api.cange.me/card
```

<mark style="color:green;">`GET`</mark> `/card/`

Endpoint com o objetivo de buscar um cartão e retornar todos os dados referente ao cartão

**Headers**

| Name          | Value                      |
| ------------- | -------------------------- |
| Content-Type  | `application/json`         |
| Origin        | `https://app.cange.me`     |
| Authorization | `Bearer <token de acesso>` |

**Query String Parameter**

```
id_card=1872708&flow_id=88782&company_id=673
```

| Name      | Description                    |
| --------- | ------------------------------ |
| `id_card` | Código identificador do cartão |
| `flow_id` | Código identificador do fluxo  |

**Response**

{% tabs %}
{% tab title="200" %}

```json
{}
```

{% endtab %}
{% endtabs %}


# Buscar cartões de um fluxo

A busca de cartões é um recurso essencial para o gerenciamento de tarefas e processos dentro da plataforma Cange, permitindo um acesso rápido e organizado a todas as informações necessárias para o seu time.

Utilizar a API de Busca de Cartões do Cange oferece uma maneira eficiente e automatizada de localizar e recuperar cartões diretamente de suas aplicações ou sistemas existentes, aumentando a produtividade e garantindo a integridade dos processos de gestão.

Para buscar um cartão através da API, você precisará ter um token de acesso. Se ainda não possui o seu token, consulte nosso guia abaixo sobre como obter o token de autenticação.

{% content-ref url="/pages/9WZ3PW4K1WSS8OpsOrjm" %}
[Autenticação](/api/autenticacao)
{% endcontent-ref %}

## Realizando a chamada para a busca dos cartões do fluxo

```http
https://api.cange.me/card/by-flow
```

<mark style="color:green;">`GET`</mark> `/card/by-flow/`

Endpoint com o objetivo de buscar vários cartões de um fluxo

**Headers**

| Name          | Value                      |
| ------------- | -------------------------- |
| Content-Type  | `application/json`         |
| Origin        | `https://app.cange.me`     |
| Authorization | `Bearer <token de acesso>` |

**Query String Parameter**

```
flow_id=192&isTestModel=false&isArchived=false&isWithPreAnswer=true&isWithTimeTracking=true
```

| Name                 | Description                                                                                              |
| -------------------- | -------------------------------------------------------------------------------------------------------- |
| `flow_id`            | Código identificador do fluxo                                                                            |
| `isTestModel`        | Se deseja trazer os cartões do modo teste (true/false)                                                   |
| `isArchived`         | Se deseja trazer os cartões arquivados (true/false)                                                      |
| `isWithPreAnswer`    | Se deseja trazer informações que ainda não foram confirmadas com a conclusão da etapa atual (true/false) |
| `isWithTimeTracking` | Se deseja trazer informações do objeto Time Tracking                                                     |

**Response**

{% tabs %}
{% tab title="200" %}

```json
[]
```

{% endtab %}
{% endtabs %}


# Buscar informações de uma visualização

A busca de informações em uma visualização é um recurso poderoso para extrair dados específicos de um fluxo no Cange, funcionando como um relatório configurável que pode ser adaptado às necessidades do seu time.&#x20;

As visualizações permitem filtrar, organizar e exibir os dados mais relevantes de um processo, promovendo clareza e agilidade na tomada de decisão.

Caso queira saber mais informações de como criar uma nova visualização, lhe convidamos a assistir o vídeo abaixo:&#x20;

{% embed url="<https://youtu.be/uu7IPhULX1I>" %}

Utilizar a API para buscar informações de uma visualização oferece uma forma automatizada de acessar esses relatórios diretamente de suas aplicações ou sistemas, facilitando integrações e análises personalizadas.&#x20;

Para buscar dados de uma visualização através da API, você precisará ter um token de acesso válido. Se ainda não possui o seu token, consulte nosso guia abaixo sobre como obter o token de autenticação.

{% content-ref url="/pages/9WZ3PW4K1WSS8OpsOrjm" %}
[Autenticação](/api/autenticacao)
{% endcontent-ref %}

**Com esta requisição será possível buscar informações de uma visualização.** Para ter acesso aos identificadores de cada objeto, siga os passos abaixo:

`flow_id`

Entre no Fluxo que deseja integrar e clique no ícone ↓ ao lado do nome do fluxo para abrir o menu suspenso, nele você poderá visualizar o identificador:

<figure><img src="https://3455492266-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRwVy0iUEFA554Gv29SpL%2Fuploads%2FG0v8ncSlNKzm7mPdiIjl%2FScreenshot%202024-10-09%20at%2018.49.11.png?alt=media&amp;token=ed44b12e-6cdc-4142-96bf-07b7b368312a" alt=""><figcaption></figcaption></figure>

`flow_view_id`

Para localizar o flow\_view\_id, basta concluir a criação de uma nova Visualização dentro de um fluxo e, em seguida, clicar no ícone de edição (representado por um lápis). Ao abrir a tela de edição — como ilustrado abaixo — você verá no topo um identificador único. Esse identificador é o flow\_view\_id e deve ser utilizado como referência nas chamadas da API para buscar as informações dessa visualização.

<div data-full-width="false"><figure><img src="https://3455492266-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRwVy0iUEFA554Gv29SpL%2Fuploads%2FBOZHtXk6LEtIMuMvgxif%2Fimage.png?alt=media&amp;token=b241515d-fd52-477b-b6d7-9401bf0c3a9f" alt="" width="479"><figcaption></figcaption></figure></div>

## Realizando a chamada para buscar informações de uma visualização

```http
https://api.cange.me/card/by-view/raw-data
```

<mark style="color:green;">`GET`</mark> `/card/by-view/raw-data`

Endpoint com o objetivo de buscar informações de uma visualização

**Headers**

| Name          | Value                      |
| ------------- | -------------------------- |
| Content-Type  | `application/json`         |
| Origin        | `https://app.cange.me`     |
| Authorization | `Bearer <token de acesso>` |

**Query String Parameter**

```
flow_id=192&flow_view_id=1234
```

| Name           | Description                          |
| -------------- | ------------------------------------ |
| `flow_id`      | Código identificador do fluxo        |
| `flow_view_id` | Código identificador da visualização |

**Response**

{% tabs %}
{% tab title="200" %}

```json
[]
```

{% endtab %}
{% endtabs %}


# Etiquetas

As etiquetas no Cange são uma forma eficiente de organizar e categorizar cartões dentro de um fluxo de trabalho. Cada fluxo possui seu próprio conjunto de etiquetas, permitindo personalização e contexto específico para cada processo. Elas ajudam times a visualizar prioridades, status ou categorias com agilidade, promovendo clareza e controle durante a execução das tarefas.

Através da API, é possível criar e vincular etiquetas aos cartões de maneira dinâmica, garantindo flexibilidade e automação na gestão dos processos.


# Criar uma etiqueta

As etiquetas são elementos fundamentais para categorizar e destacar cartões dentro dos fluxos de trabalho no Cange, facilitando a visualização, filtragem e priorização das tarefas em execução. Cada fluxo possui seu próprio conjunto de etiquetas, garantindo organização e contexto específico para cada processo.

Utilizar a API do Cange para criar etiquetas permite automatizar a criação desses marcadores diretamente a partir dos seus sistemas, promovendo consistência e escalabilidade na gestão dos processos.

Para criar uma etiqueta através da API, você precisará ter um token de acesso válido. Se ainda não possui o seu token, consulte nosso guia abaixo sobre como obter o token de autenticação.

{% content-ref url="/pages/9WZ3PW4K1WSS8OpsOrjm" %}
[Autenticação](/api/autenticacao)
{% endcontent-ref %}

## Realizando a chamada para criação de uma etiqueta

```http
https://api.cange.me/flow-tag
```

<mark style="color:green;">`POST`</mark> `/flow-tag`&#x20;

**Headers**

| Name          | Value                      |
| ------------- | -------------------------- |
| Content-Type  | `application/json`         |
| Origin        | `https://app.cange.me`     |
| Authorization | `Bearer <token de acesso>` |

**Body**

| Name          | Type   | Description                                 |
| ------------- | ------ | ------------------------------------------- |
| `flow_id`     | number | Código identificador do fluxo               |
| `description` | string | Título da etiqueta                          |
| `color`       | string | Cor da etiqueta (Hexadecimal) Ex: "#4680B8" |

```
{
    "flow_id": 9000,
    "description": "Etiqueta teste",
    "color": "#4680B8"
}
```

**Response**

{% tabs %}
{% tab title="200" %}

```json
{
    "flow_id": 9000,
    "description": "Etiqueta teste",
    "color": "#4680B8",
    "id_flow_tag": 15544
}
```

{% endtab %}
{% endtabs %}


# Adicionar uma etiqueta em um cartão

Adicionar etiquetas a cartões no Cange é uma forma prática e visual de organizar, categorizar e destacar tarefas dentro de um fluxo de trabalho. Essa associação permite que times filtrem, priorizem e compreendam rapidamente o contexto de cada atividade.

Através da API do Cange, você pode vincular etiquetas a cartões de forma automatizada, integrando essa funcionalidade diretamente aos seus sistemas e fluxos externos, garantindo mais controle e padronização nos processos.

Para adicionar uma etiqueta a um cartão via API, é necessário possuir um token de acesso válido. Caso ainda não tenha o seu, consulte nosso guia abaixo sobre como obter o token de autenticação.

{% content-ref url="/pages/9WZ3PW4K1WSS8OpsOrjm" %}
[Autenticação](/api/autenticacao)
{% endcontent-ref %}

**Com esta requisição será possível adicionar uma etiqueta a um cartão.** Para ter acesso aos identificadores de cada objeto, siga os passos abaixo:

`flow_id`

Entre no Fluxo que deseja integrar e clique no ícone ↓ ao lado do nome do fluxo para abrir o menu suspenso, nele você poderá visualizar o identificador:

<figure><img src="https://3455492266-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRwVy0iUEFA554Gv29SpL%2Fuploads%2FG0v8ncSlNKzm7mPdiIjl%2FScreenshot%202024-10-09%20at%2018.49.11.png?alt=media&amp;token=ed44b12e-6cdc-4142-96bf-07b7b368312a" alt=""><figcaption></figcaption></figure>

`id_card`

Abra o cartão e clique no ícone "..." no canto superior direito para abrir o menu suspenso do cartão, nele você poderá visualizar o identificador:

<figure><img src="https://3455492266-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRwVy0iUEFA554Gv29SpL%2Fuploads%2FBtd6cRDHoKfhPDpAZQXE%2FScreenshot%202024-10-09%20at%2018.50.27.png?alt=media&amp;token=4a33f3ac-1a74-4192-ab15-a21eda5915bf" alt=""><figcaption></figcaption></figure>

`flow_tag_id`

Abra o menu de etiquetas dentro do cartão e clique no ícone de edição ("lápis"). Após isso, irá aparecer no topo da página o identificador da etiqueta selecionada.

<figure><img src="https://3455492266-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRwVy0iUEFA554Gv29SpL%2Fuploads%2F4gxFilM0g8Otyr9Z6KlA%2Fimage.png?alt=media&amp;token=11b382f1-352b-498f-9c96-c7b4346b2556" alt=""><figcaption></figcaption></figure>

## Realizando a chamada para adicionar uma etiqueta em um cartão

```http
https://api.cange.me/flow-tag/card
```

<mark style="color:green;">`POST`</mark> `/flow-tag/card`&#x20;

**Headers**

| Name          | Value                      |
| ------------- | -------------------------- |
| Content-Type  | `application/json`         |
| Origin        | `https://app.cange.me`     |
| Authorization | `Bearer <token de acesso>` |

**Body**

| Name          | Type   | Description                        |
| ------------- | ------ | ---------------------------------- |
| `card_id`     | number | Código identificador do formulário |
| `flow_tag_id` | number | Código identificador da etiqueta   |
| `flow_id`     | number | Código identificador do fluxo      |

```
{
    "flow_id": 9000,
    "card_id": 210721,
    "flow_tag_id": 15543
}
```

**Response**

{% tabs %}
{% tab title="200" %}

```json
{
    "card_id": 210721,
    "flow_tag_id": 15543,
    "id_card_flow_tag": 156704
}
```

{% endtab %}
{% endtabs %}


# Comentários

Os comentários no Cange são uma ferramenta essencial para promover a colaboração e a comunicação entre os membros do time durante a execução dos processos. Eles são vinculados diretamente aos cartões, permitindo o registro de informações, alinhamentos, decisões e atualizações em tempo real dentro do contexto de cada tarefa.

Através da API, é possível criar comentários de forma automatizada, integrando essa funcionalidade aos seus sistemas externos e garantindo mais agilidade, rastreabilidade e transparência na gestão dos processos.


# Criar um comentário

Os comentários são elementos fundamentais para garantir a comunicação e o alinhamento entre os membros da equipe dentro dos cartões no Cange. Eles permitem registrar observações, decisões e interações diretamente no contexto das tarefas em andamento, promovendo colaboração e rastreabilidade ao longo dos processos.

Utilizar a API do Cange para criar comentários possibilita integrar essa comunicação aos seus sistemas, automatizando registros e garantindo histórico centralizado das interações.

Para criar um comentário através da API, você precisará ter um token de acesso válido. Se ainda não possui o seu token, consulte nosso guia abaixo sobre como obter o token de autenticação.

{% content-ref url="/pages/9WZ3PW4K1WSS8OpsOrjm" %}
[Autenticação](/api/autenticacao)
{% endcontent-ref %}

## Realizando a chamada para criação de um comentário

```http
https://api.cange.me/card-comment
```

<mark style="color:green;">`POST`</mark> `/card-comment`&#x20;

**Headers**

| Name          | Value                      |
| ------------- | -------------------------- |
| Content-Type  | `application/json`         |
| Origin        | `https://app.cange.me`     |
| Authorization | `Bearer <token de acesso>` |

**Body**

| Name          | Type      | Description                                                   |
| ------------- | --------- | ------------------------------------------------------------- |
| `card_id`     | number    | Código identificador do cartão                                |
| `flow_id`     | number    | Código identificador do fluxo                                 |
| `description` | string    | Conteúdo do comentário que será inserido                      |
| `mentions`    | number\[] | Array contendo o ID dos usuários que precisam ser notificados |

```
{
    "card_id": 453752315,
    "description": "Hello World",
    "flow_id": 1410123,
    "mentions": []
}
```

**Response**

{% tabs %}
{% tab title="200" %}

```json
{
    "card_id": 453752315,
    "user_id": 6812321,
    "dt_created": "2025-10-03T17:49:17.000Z",
    "dt_last_update": "2025-10-03T17:49:17.000Z",
    "description": "Hello World",
    "fixed": "0",
    "id_card_comment": 115765
}
```

{% endtab %}
{% endtabs %}


# Buscar os comentários de um cartão

Os comentários são elementos fundamentais para garantir a comunicação e o alinhamento entre os membros da equipe dentro dos cartões no Cange. Eles permitem registrar observações, decisões e interações diretamente no contexto das tarefas em andamento, promovendo colaboração e rastreabilidade ao longo dos processos.

Utilizar a API do Cange para buscar comentários possibilita consultar todo o histórico de interações de um cartão, integrando essa informação aos seus sistemas e garantindo visibilidade centralizada das comunicações.

Para buscar os comentários de um cartão através da API, você precisará ter um token de acesso válido. Se ainda não possui o seu token, consulte nosso guia abaixo sobre como obter o token de autenticação.

{% content-ref url="/pages/9WZ3PW4K1WSS8OpsOrjm" %}
[Autenticação](/api/autenticacao)
{% endcontent-ref %}

## Realizando a chamada para busca dos comentários de um cartão

```http
https://api.cange.me/card-comment/by-card
```

<mark style="color:green;">`GET`</mark> `/card-comment/by-card`&#x20;

**Headers**

| Name          | Value                      |
| ------------- | -------------------------- |
| Content-Type  | `application/json`         |
| Origin        | `https://app.cange.me`     |
| Authorization | `Bearer <token de acesso>` |

**Query String Parameter**

```
card_id=187272&flow_id=8878221
```

| Name      | Type   | Description                    |
| --------- | ------ | ------------------------------ |
| `card_id` | number | Código identificador do cartão |
| `flow_id` | number | Código identificador do fluxo  |

**Response**

{% tabs %}
{% tab title="200" %}

```json
[
    {
        "id_card_comment": 166749,
        "card_id": 710052,
        "user_id": 8123123,
        "dt_created": "2026-01-29T12:29:53.000Z",
        "dt_last_update": "2026-01-29T12:29:53.000Z",
        "description": "Teste comenrário",
        "fixed": "0",
        "card": {
            "id_card": 710052,
            "company_id": 5469,
            "flow_id": 17628,
            ...
        },
        "user": {
            "id_user": 8123,
            "email": "teste09328492@cange.me",
            "name": "Juca",            
            "company_id": 5469,
            ...
        },
        "dt_created_string": "29/01/2026 às 09:29"
    }
```

{% endtab %}
{% endtabs %}


# Cadastros

Os cadastros no Cange são fundamentais para a centralização e gestão eficiente dos dados mestres da sua organização. Essas bases de dados permitem que você insira, armazene e gerencie informações essenciais como cadastro de clientes, produtos, fornecedores, funcionários, centros de custos, entre outros. Ao centralizar esses dados, você garante que todos os departamentos tenham acesso a informações precisas e atualizadas, o que é crucial para a tomada de decisões informadas e eficazes.

Com os cadastros no Cange, você pode facilmente criar, editar e monitorar registros em um ambiente integrado e seguro. Além disso, a plataforma oferece a capacidade de personalizar os campos dos cadastros, adaptando-os às necessidades específicas do seu negócio. O gerenciamento automatizado dos cadastros elimina tarefas manuais repetitivas, minimiza erros de inserção de dados e assegura a integridade da informação, contribuindo para um fluxo de trabalho mais racional e eficiente em toda a organização.

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-cover data-type="files"></th><th data-hidden></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Criar um registro no cadastro</strong></td><td>Aprenda como ></td><td></td><td></td><td><a href="/api/cadastros/criar-um-registro">Criar um registro</a></td></tr><tr><td><strong>Editar um registro no cadastro</strong></td><td>Aprenda como ></td><td></td><td></td><td><a href="/api/cadastros/editar-um-registro">Editar um registro</a></td></tr></tbody></table>


# Buscar um cadastro

A busca de registros de cadastros é um recurso essencial para a gestão de dados mestres dentro da plataforma Cange, permitindo um acesso rápido e organizado às informações de clientes, fornecedores, produtos e outros dados fundamentais para o seu negócio.

Utilizar a API de Busca de Cadastros do Cange oferece uma maneira eficiente e automatizada de localizar e recuperar esses dados diretamente de suas aplicações ou sistemas existentes, garantindo maior precisão e consistência nos processos operacionais.

Para buscar um registro de cadastro através da API, você precisará ter um token de acesso. Se ainda não possui o seu token, consulte nosso guia abaixo sobre como obter o token de autenticação.

{% content-ref url="/pages/9WZ3PW4K1WSS8OpsOrjm" %}
[Autenticação](/api/autenticacao)
{% endcontent-ref %}

## Realizando a chamada para a busca de um cadastro

```http
https://api.cange.me/register
```

<mark style="color:green;">`GET`</mark> `/register/`

Endpoint com o objetivo de buscar os dados de um cadastro

**Headers**

| Name          | Value                      |
| ------------- | -------------------------- |
| Content-Type  | `application/json`         |
| Origin        | `https://app.cange.me`     |
| Authorization | `Bearer <token de acesso>` |

**Query String Parameter**

```
id_register=693&withAnswers=false&likeSearch=Teste
```

| Name          | Description                                                       |
| ------------- | ----------------------------------------------------------------- |
| `id_register` | Código identificador do cadastro                                  |
| `withAnswers` | Se deseja retornar com os dados do cadastro (true/false)          |
| `likeSearch`  | Se deseja fazer a busca por algum valor nos registros do cadastro |

**Response**

{% tabs %}
{% tab title="200" %}

```json
{}
```

{% endtab %}
{% endtabs %}


# Criar um registro

Os registros no Cange são fundamentais para armazenar dados essenciais dos seus clientes, fornecedores, produtos, entre outros, possibilitando um gerenciamento detalhado e organizado. Com a flexibilidade para criar campos customizados, você pode garantir que a informação armazenada atenda precisamente às necessidades específicas do seu negócio.

Utilizar a API do Cange para criar registros oferece uma maneira altamente eficiente e automatizada de inserir, atualizar e gerir esses dados diretamente a partir das suas aplicações ou sistemas. Isso não só simplifica o processo, mas também melhora a produtividade e garante a integridade dos processos, assegurando que todos os dados cruciais sejam geridos de forma integrada e precisa.

Para criar um registro através da API, você precisará ter um token de acesso. Se ainda não possui o seu token, consulte nosso guia abaixo sobre como obter o token de autenticação.

{% content-ref url="/pages/9WZ3PW4K1WSS8OpsOrjm" %}
[Autenticação](/api/autenticacao)
{% endcontent-ref %}

Como os cadastros no Cange possuem campos dinâmicos, simplificamos o processo para você. Na tela de configuração dos campos, oferecemos uma opção prática para copiar o objeto do body da requisição completa. Basta abrir a tela de edição dos campos e, abaixo da pré-visualização do formulário, você encontrará um contêiner com a informação "Objeto API". Copie esse objeto e use-o como base para montar sua solicitação de criação de um registro, garantindo que todos os campos dinâmicos sejam corretamente incluídos.

<figure><img src="https://3455492266-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRwVy0iUEFA554Gv29SpL%2Fuploads%2FgJtjCuY7Zh3aYtcSVPHS%2Fimage.png?alt=media&amp;token=aaac32d5-d399-43c0-b347-cc0bf176a70b" alt=""><figcaption></figcaption></figure>

## Realizando a chamada para criação do cartão

```http
https://api.cange.me/form/new-answer
```

<mark style="color:green;">`POST`</mark> `/form/new-answer`

Endpoint com o objetivo de criar um novo cartão dentro de um fluxo

**Headers**

| Name          | Value                      |
| ------------- | -------------------------- |
| Content-Type  | `application/json`         |
| Origin        | `https://app.cange.me`     |
| Authorization | `Bearer <token de acesso>` |

**Body**

| Name          | Type   | Description                                                                                                       |
| ------------- | ------ | ----------------------------------------------------------------------------------------------------------------- |
| `id_form`     | number | Código identificador do formulário                                                                                |
| `origin`      | string | Identificação do local que está partindo a solicitação                                                            |
| `values`      | object | Objeto com os campos do formulário e seu valor para inserção (Este objeto pode ser copiado na tela do formulário) |
| `register_id` | number | Código identificador do cadastro                                                                                  |

```
{
  "id_form": 3092,
  "origin": "/NomeDaSuaApi",
  "values": {
    "a4adaca0011489add4c4397ffdf8a434d7af59ee": "ReplaceByYourValue",
  },
  "register_id": 196
}
```

**Response**

{% tabs %}
{% tab title="200" %}

```json
[
   {
      "form_id":3092,
      "user_id_creator":230,
      "dt_created":"2024-09-06T14:46:16.000Z",
      "company_id":215,
      "origin":"/NomeDaSuaApi",
      "register_id":196,
      "id_form_answer":379412,
      "dt_deleted":null,
      "form_answer_fields":[
         {
            "form_answer_id":379412,
            "field_id":8153,
            "index":0,
            "value":"ReplaceByYourValue",
            "dt_created":"2024-09-06T14:46:16.000Z",
            "dt_last_update":"2024-09-06T14:46:16.000Z",
            "id_form_answer_field":2403205,
            "dt_deleted":null
         }
      ]
   }
]
```

{% endtab %}
{% endtabs %}


# Editar um registro

Os registros no Cange são fundamentais para armazenar dados essenciais dos seus clientes, fornecedores, produtos, entre outros, possibilitando um gerenciamento detalhado e organizado. Com a flexibilidade para criar campos customizados, você pode garantir que a informação armazenada atenda precisamente às necessidades específicas do seu negócio.

Utilizar a API do Cange para editar registros oferece uma maneira altamente eficiente e automatizada de atualizar e gerir esses dados diretamente a partir das suas aplicações ou sistemas. Isso não só simplifica o processo, mas também melhora a produtividade e garante a integridade dos processos, assegurando que todos os dados cruciais sejam geridos de forma integrada e precisa.

Para editar um registro através da API, você precisará ter um token de acesso. Se ainda não possui o seu token, consulte nosso guia abaixo sobre como obter o token de autenticação.

{% content-ref url="/pages/9WZ3PW4K1WSS8OpsOrjm" %}
[Autenticação](/api/autenticacao)
{% endcontent-ref %}

Como os cadastros no Cange possuem campos dinâmicos, simplificamos o processo para você. Na tela de configuração dos campos, oferecemos uma opção prática para copiar o objeto do body da requisição completa. Basta abrir a tela de edição dos campos e, abaixo da pré-visualização do formulário, você encontrará um contêiner com a informação "Objeto API". Copie esse objeto e use-o como base para montar sua solicitação de criação de um registro, garantindo que todos os campos dinâmicos sejam corretamente incluídos.

{% hint style="info" %}
Lembrete: Todos os campos possuem validação, portanto é necessário que seja enviado no formato correto para que sua requisição seja concluída com sucesso.
{% endhint %}

<figure><img src="https://3455492266-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRwVy0iUEFA554Gv29SpL%2Fuploads%2FrK1wcghrNBHVzYECTpto%2Fimage%20(2).png?alt=media&amp;token=d4170bba-95ad-4973-8585-af613507c92b" alt=""><figcaption></figcaption></figure>

## Realizando a chamada para edição do cartão

```http
https://api.cange.me/form/answer
```

<mark style="color:green;">`PUT`</mark> `/form/answer`

Endpoint com o objetivo de editar os dados de um registro dentro de um cadastro

**Headers**

| Name          | Value                      |
| ------------- | -------------------------- |
| Content-Type  | `application/json`         |
| Origin        | `https://app.cange.me`     |
| Authorization | `Bearer <token de acesso>` |

**Body**

| Name             | Type   | Description                                                |
| ---------------- | ------ | ---------------------------------------------------------- |
| `id_form`        | number | Código identificador do formulário                         |
| `register_id`    | number | <p>Código identificador do <br>cadastro</p>                |
| `form_answer_id` | number | Código identificador do registro                           |
| `values`         | object | Objeto com os campos do formulário e seu valor para edição |

```
{
  "id_form": 2957,
  "register_id": 183,
  "form_answer_id": 6507,
  "values": {
    "ea986d2e7f49bbf4265153bf4f18d553f0951a41": "João da Silva"
  }
}
```

**Response**

{% tabs %}
{% tab title="200" %}

```json
{
    "form_answer_id": 6507,
    "field_id": 65188,
    "index": 0,
    "value": "João da Silva",
    "dt_created": "2024-10-09T19:26:41.000Z",
    "dt_last_update": "2024-10-09T19:26:41.000Z",
    "id_form_answer_field": 2415466,
    "dt_deleted": null
}
```

{% endtab %}
{% endtabs %}


# Buscar um registro

A busca de registros de cadastros é um recurso essencial para a gestão de dados mestres dentro da plataforma Cange, permitindo um acesso rápido e organizado às informações de clientes, fornecedores, produtos e outros dados fundamentais para o seu negócio.

Utilizar a API de Busca de Registros de Cadastros do Cange oferece uma maneira eficiente e automatizada de localizar e recuperar esses dados diretamente de suas aplicações ou sistemas existentes, garantindo maior precisão e consistência nos processos operacionais.

Para buscar um registro de cadastro através da API, você precisará ter um token de acesso. Se ainda não possui o seu token, consulte nosso guia abaixo sobre como obter o token de autenticação.

{% content-ref url="/pages/9WZ3PW4K1WSS8OpsOrjm" %}
[Autenticação](/api/autenticacao)
{% endcontent-ref %}

## Realizando a chamada para a busca de um registro

```http
https://api.cange.me/form/answer
```

<mark style="color:green;">`GET`</mark> `/form/answer/`

Endpoint com o objetivo de buscar um registro de um cadastro

**Headers**

| Name          | Value                      |
| ------------- | -------------------------- |
| Content-Type  | `application/json`         |
| Origin        | `https://app.cange.me`     |
| Authorization | `Bearer <token de acesso>` |

**Query String Parameter**

```
id_form_answer=693
```

| Name             | Description                      |
| ---------------- | -------------------------------- |
| `id_form_answer` | Código identificador do registro |

**Response**

{% tabs %}
{% tab title="200" %}

```json
{}
```

{% endtab %}
{% endtabs %}


# Arquivos

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-cover data-type="files"></th><th data-hidden></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Buscar um arquivo</strong></td><td>Aprenda como ></td><td></td><td></td><td><a href="/api/arquivos/buscar-um-arquivo">Buscar um arquivo</a></td></tr></tbody></table>


# Buscar um arquivo

A busca de arquivos é um recurso fundamental no gerenciamento de documentos, projetos e fluxos de trabalho dentro da plataforma Cange, permitindo um acesso rápido e organizado a todas as informações necessárias ao seu time.

Utilizar a API de Busca de Arquivos do Cange oferece uma maneira eficiente e automatizada de localizar e recuperar arquivos diretamente de suas aplicações ou sistemas existentes, aumentando a produtividade e a integridade dos processos de organização de documentos.

Para buscar um arquivo através da API, você precisará ter um token de acesso. Se ainda não possui o seu token, consulte nosso guia abaixo sobre como obter o token de autenticação.

{% content-ref url="/pages/9WZ3PW4K1WSS8OpsOrjm" %}
[Autenticação](/api/autenticacao)
{% endcontent-ref %}

## Realizando a chamada para a busca do arquivo

```http
https://api.cange.me/attachment/url-download
```

<mark style="color:green;">`GET`</mark> `/attachment/url-download`

Endpoint com o objetivo de buscar um arquivo e retornar a url para download ou o arquivo em base64

**Headers**

| Name          | Value                      |
| ------------- | -------------------------- |
| Content-Type  | `application/json`         |
| Origin        | `https://app.cange.me`     |
| Authorization | `Bearer <token de acesso>` |

**Query String Parame**

```
id_attachment=74243&withBase64=true
```

**Response**

{% tabs %}
{% tab title="200" %}

```json
{
    base64:"iVBORw0KGgoAAAANSUhEUgAABcEAAAGdCAYAAADaLrvmAAAAA...",
    mime_type:"image/png",
    url:"https://url...."
}
```

{% endtab %}
{% endtabs %}


# Adicionar um arquivo

A inserção de arquivos no Cange começa pela criação de um objeto de arquivo no repositório central da plataforma. Esse repositório funciona como uma base única de documentos, garantindo que cada arquivo tenha um ID próprio, controle de acesso e trilha de auditoria. Assim que o objeto é criado, o Cange gera automaticamente um código de vinculação, permitindo relacionar o arquivo a qualquer outro recurso — cartões, registros de processos, etapas de aprovação ou dashboards.

Para buscar um arquivo através da API, você precisará ter um token de acesso. Se ainda não possui o seu token, consulte nosso guia abaixo sobre como obter o token de autenticação.

{% content-ref url="/pages/9WZ3PW4K1WSS8OpsOrjm" %}
[Autenticação](/api/autenticacao)
{% endcontent-ref %}

## Realizando a chamada para adicionar um arquivo

```http
https://api.cange.me/attachment
```

<mark style="color:green;">`POST`</mark> `/attachment`

Endpoint com o objetivo de inserir um arquivo e retornar o id\_attachment criado

**Headers**

| Name          | Value                      |
| ------------- | -------------------------- |
| Content-Type  | `multipart/form-data`      |
| Origin        | `https://app.cange.me`     |
| Authorization | `Bearer <token de acesso>` |

**Multipart**

| Name | Value   |
| ---- | ------- |
| file | \<File> |

**Response**

{% tabs %}
{% tab title="200" %}

```json
{
    "attachment_container_id": 3342,
    "hash": "0735e7051d8a84d55468ca263917cbffb1ee7fe3-logo.png",
    "original_name": "logo.png",
    "mime_type": "image/png",
    "url": "https://cangeblob...",
    "blob_size": 175.8740234375,
    "dt_created": "2025-05-18T23:19:23.000Z",
    "dt_last_update": "2025-05-18T23:19:23.000Z",
    "user_id": 76,
    "id_attachment": 150206
}
```

{% endtab %}
{% endtabs %}


# Vincular um arquivo em um cartão

Depois que um arquivo é salvo no repositório central de arquivos do Cange, ele ganha um código de vinculação exclusivo (id\_attachment). A rota “Vincular um arquivo a um cartão” existe para que você associe esse arquivo a um cartão específico dentro de um fluxo de processo, mantendo tudo no mesmo contexto de execução.

Para buscar um arquivo através da API, você precisará ter um token de acesso. Se ainda não possui o seu token, consulte nosso guia abaixo sobre como obter o token de autenticação.

{% content-ref url="/pages/9WZ3PW4K1WSS8OpsOrjm" %}
[Autenticação](/api/autenticacao)
{% endcontent-ref %}

## Realizando a chamada para vincular um arquivo a um cartão

```http
https://api.cange.me/attachment/card
```

<mark style="color:green;">`POST`</mark> `/attachment/card`

Endpoint com o objetivo de vincular um arquivo a um cartão de um fluxo

**Headers**

| Name          | Value                       |
| ------------- | --------------------------- |
| Content-Type  | <kbd>application/json</kbd> |
| Origin        | `https://app.cange.me`      |
| Authorization | `Bearer <token de acesso>`  |

**Body**

| Name            | Type   | Description                     |
| --------------- | ------ | ------------------------------- |
| `attachment_id` | number | Código identificador do arquivo |
| `card_id`       | number | Código identificador do cartão  |
| `flow_id`       | number | Código identificador do fluxo   |

**Response**

{% tabs %}
{% tab title="200" %}

```json
{}
```

{% endtab %}
{% endtabs %}


# Cadastros (V2)

A engine V2 de Cadastros (/register/v2): consulta paginada por cursor, filtros e ordenacao por schema, e endpoints de construcao (criar cadastro, campos e linhas). Todos exigem Authorization: Bearer \<JWT>. Secao gerada a partir do OpenAPI do backend.


# Consultar linhas de um cadastro

## Consultar linhas de um cadastro

`POST /register/v2/query`

Retorna as linhas de um cadastro de forma paginada, permitindo **escolher os campos** (select), **filtrar**, **ordenar** e **buscar** — tudo através de um único parâmetro `filterSchema`.

A resposta é paginada por **cursor** (não por página/offset), o que mantém a performance mesmo em cadastros com centenas de milhares de linhas.

{% hint style="info" %}
Toda a requisição é escopada pela empresa e pelo usuário do seu token. Você só recebe linhas às quais esse usuário tem acesso.
{% endhint %}

### 1. Autenticação e headers

A API usa um **JWT** no header `Authorization: Bearer <token>`. Veja como obter e renovar seu token na página de [Autenticação](https://docs.cange.me/api/autenticacao).

Toda chamada precisa destes headers:

| Header          | Valor                  | Obrigatório |
| --------------- | ---------------------- | ----------- |
| `Authorization` | `Bearer <token>`       | ✅           |
| `Content-Type`  | `application/json`     | ✅           |
| `Origin`        | `https://app.cange.me` | ✅           |

{% hint style="warning" %}
O header `Origin: https://app.cange.me` é **obrigatório em todas as chamadas**. A API só aceita origens da allowlist — uma requisição com `Origin` diferente é bloqueada por CORS.
{% endhint %}

### 2. A requisição

```
POST /register/v2/query
Authorization: Bearer <token>
Content-Type: application/json
Origin: https://app.cange.me
```

| Campo          | Tipo          | Obrigatório | Descrição                                                  |
| -------------- | ------------- | ----------- | ---------------------------------------------------------- |
| `id_register`  | integer       | ✅           | ID do cadastro.                                            |
| `filterSchema` | string (JSON) | —           | Select, filtros, ordenação e busca (ver abaixo).           |
| `page_size`    | integer       | —           | Linhas por página. Padrão `50`, máximo `200`.              |
| `cursor`       | string        | —           | Cursor da próxima página (vem em `page_info.next_cursor`). |

Chamada mínima (sem `filterSchema`) — retorna as primeiras linhas com as colunas de sistema:

```bash
curl -X POST https://api.cange.me/register/v2/query \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -H "Origin: https://app.cange.me" \
  -d '{ "id_register": 183, "page_size": 20 }'
```

### 3. O `filterSchema`

O `filterSchema` é uma **string JSON** com quatro blocos, todos opcionais:

```json
{
  "fieldView":  [ /* quais campos retornar (SELECT) */ ],
  "conditions": [ /* filtros (combinados com E) */ ],
  "orderBy":    [ /* ordenação */ ],
  "searchText": "texto de busca livre"
}
```

#### Descobrindo os campos do cadastro

Para montar `fieldView`, `conditions` e `orderBy` você precisa do `id_field`, do `form_id` e do `type` de cada campo. Busque a estrutura do cadastro:

```bash
curl "https://api.cange.me/register/v2/?id_register=183" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Origin: https://app.cange.me"
```

O `form.id_form` é o `form_id`; cada item de `form.fields[]` traz `id_field` e `type`.

#### `fieldView` — escolher os campos (SELECT)

Cada item precisa dos **três** identificadores:

```json
{ "id_field": 9803, "form_id": 2957, "type": "TEXT_SHORT_FIELD" }
```

{% hint style="warning" %}
Se você omitir `form_id` (ou `type`), o campo é **silenciosamente ignorado** e não volta na resposta. Se `fieldView` estiver vazio, a resposta traz **apenas as colunas de sistema** (sem os campos do cadastro).
{% endhint %}

Campos de sistema usam IDs negativos: `-1` = data de criação, `-2` = usuário criador, `-3` = ID da linha.

#### `conditions` — filtrar

Filtros são combinados com **E**. Cada condição:

```json
{
  "selectedField": { "id_field": 9803, "form_id": 2957, "type": "TEXT_SHORT_FIELD" },
  "selectedComparator": "Contém",
  "value": "construtora"
}
```

#### `orderBy` — ordenar

```json
{
  "selectedField": { "id_field": 9803, "type": "TEXT_SHORT_FIELD" },
  "selectedOrder": "A → Z"
}
```

Direções por tipo: texto `"A → Z"` / `"Z → A"`; número `"1 → 9"` / `"9 → 1"`; booleano `"Verdadeiro → Falso"` / `"Falso → Verdadeiro"`; datas do mais novo/antigo.

### 4. Comparadores

`selectedComparator` aceita tanto o rótulo em português quanto o **operador SQL** equivalente:

| Rótulo                                   | SQL                       | Observação                   |
| ---------------------------------------- | ------------------------- | ---------------------------- |
| `Igual a`                                | `=`                       |                              |
| `Não é igual a`                          | `!=`                      |                              |
| `Contém`                                 | `LIKE`                    | busca parcial                |
| `Não contém`                             | `NOT LIKE`                |                              |
| `Semelhante a`                           | fulltext                  | busca por similaridade       |
| `Maior que` / `Menor que`                | `>` / `<`                 |                              |
| `Igual a ou maior que` / `... menor que` | `>=` / `<=`               |                              |
| `Está em branco` / `Não está em branco`  | `IS NULL` / `IS NOT NULL` | ignora `value`               |
| `É uma das` / `Não é uma das`            | `IN` / `NOT IN`           | `value` separado por vírgula |
| `Antes de` / `Depois de`                 | `<` / `>`                 | datas                        |

### 5. Exemplos

**Selecionar campos específicos:**

```bash
curl -X POST https://api.cange.me/register/v2/query \
  -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -H "Origin: https://app.cange.me" \
  -d '{
    "id_register": 183,
    "page_size": 20,
    "filterSchema": "{\"fieldView\":[{\"id_field\":-3},{\"id_field\":9803,\"form_id\":2957,\"type\":\"TEXT_SHORT_FIELD\"},{\"id_field\":36776,\"form_id\":2957,\"type\":\"COMBO_BOX_FIELD\"}]}"
  }'
```

**Filtrar + ordenar:**

```bash
curl -X POST https://api.cange.me/register/v2/query \
  -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -H "Origin: https://app.cange.me" \
  -d '{
    "id_register": 183,
    "filterSchema": "{\"conditions\":[{\"selectedField\":{\"id_field\":9803,\"form_id\":2957,\"type\":\"TEXT_SHORT_FIELD\"},\"selectedComparator\":\"Contém\",\"value\":\"construtora\"}],\"orderBy\":[{\"selectedField\":{\"id_field\":9803,\"type\":\"TEXT_SHORT_FIELD\"},\"selectedOrder\":\"A → Z\"}]}"
  }'
```

**Próxima página (cursor):**

```bash
curl -X POST https://api.cange.me/register/v2/query \
  -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -H "Origin: https://app.cange.me" \
  -d '{ "id_register": 183, "page_size": 20, "cursor": "eyJzb3J0X3Zh..." }'
```

### 6. Formato da resposta

```json
{
  "items": [
    {
      "form_answer.id_form_answer": 6507,
      "form_answer.register_id": 183,
      "form_answer.dt_created": "2023-04-06T22:16:01.000Z",
      "form_answer.user_id_creator": 76,
      "field:9803": {
        "value": "Empresa Exemplo LTDA",
        "display_value": "Empresa Exemplo LTDA",
        "value_number": null,
        "value_date": null,
        "value_bool": null,
        "related_id": null
      }
    }
  ],
  "page_info": { "next_cursor": "eyJzb3J0X3Zh...", "has_more": true },
  "execution_stats": { "plan": "large", "cached": false, "duration_ms": 24, "total_count": 316 }
}
```

Cada linha traz as **colunas de sistema** (`form_answer.*`) e um objeto **`field:<id_field>`** por campo selecionado:

* `value` — valor bruto; `display_value` — valor exibível (rótulo de combo, etc.).
* `value_number` / `value_date` / `value_bool` — valor tipado quando aplicável.
* `related_id` — para campos que referenciam outro cadastro/fluxo.

Continue paginando enquanto `page_info.has_more` for `true`, passando `page_info.next_cursor` na próxima chamada.


# Tipos de campos

O Cange foi desenvolvido para permitir que você crie fluxos personalizados, automatize tarefas e armazene informações com alto nível de granularidade. Para garantir essa flexibilidade, nossa plataforma utiliza campos dinâmicos — atualmente são mais de 25 tipos diferentes — permitindo que cada informação seja registrada no formato mais adequado ao seu uso.

Ao interagir com a API para inserir ou editar dados, é fundamental que você envie os valores no formato correto de cada campo. Cada tipo possui uma estrutura específica esperada pela API — por exemplo, campos de texto curto, data, número, múltipla escolha, relacionamentos entre cartões e muito mais.

Para facilitar esse processo, criamos uma tabela de referência completa que mostra:

* O nome e a descrição de cada tipo de campo;
* O formato esperado pela API no momento da inserção ou atualização;
* Exemplos práticos de payloads que funcionam.

Essa tabela é um recurso essencial para desenvolvedores que desejam realizar integrações robustas com o Cange, seja para criar novos cartões, editar respostas existentes ou conectar dados com outros sistemas.

Recomendamos que você consulte atentamente essa tabela antes de iniciar suas requisições. Ela está sempre atualizada com os novos tipos de campos à medida que a plataforma evolui.

Vamos juntos construir integrações mais inteligentes. Se tiver dúvidas, nossa equipe está pronta para ajudar!

## Campos

<table><thead><tr><th width="162.67578125">Título do campo</th><th width="242.6640625">Tipo</th><th width="104.58984375">Formato</th><th>Exemplo</th></tr></thead><tbody><tr><td>Texto curto</td><td><sub><code>TEXT_SHORT_FIELD</code></sub></td><td>string</td><td>"Texto Curto"</td></tr><tr><td>Texto longo</td><td><code>TEXT_LONG_FIELD</code></td><td>string</td><td>"Texto Longo"</td></tr><tr><td><a href="#caixa-de-selecao">Caixa de seleção</a></td><td><code>COMBO_BOX_FIELD</code></td><td>string</td><td>"1"</td></tr><tr><td>Data</td><td><code>DATE_PICKER_FIELD</code></td><td>string</td><td>"2025-07-25T12:30:00.000Z"</td></tr><tr><td><a href="#selecao-unica">Seleção única</a></td><td><code>RADIO_BOX_FIELD</code></td><td>string</td><td>"1"</td></tr><tr><td><a href="#selecao-multipla">Seleção múltipla</a></td><td><code>CHECK_BOX_FIELD</code></td><td>string[]</td><td>["1","2","3"]</td></tr><tr><td><a href="#responsavel">Responsável</a></td><td><code>COMBO_BOX_USER_FIELD</code></td><td>number | string</td><td>6052 ou "seuemail@dominio.com"</td></tr><tr><td>Meus Cadastros</td><td><code>COMBO_BOX_REGISTER_FIELD</code></td><td>number[]</td><td>[21412,23423, 129122]</td></tr><tr><td>Meus Fluxos</td><td><code>COMBO_BOX_FLOW_FIELD</code></td><td>number[]</td><td>[21412,23423, 129122]</td></tr><tr><td>Moeda</td><td><code>CURRENCY_FIELD</code></td><td>number</td><td>837.49</td></tr><tr><td>Vencimento</td><td><code>DUE_DATE_FIELD</code></td><td>string</td><td>"2025-07-25T12:30:00.000Z"</td></tr><tr><td>E-mail</td><td><code>MAIL_FIELD</code></td><td>string</td><td>"seuemail@dominio.com"</td></tr><tr><td>Telefone</td><td><code>PHONE_FIELD</code></td><td>string</td><td>"(11) 99124-9992"</td></tr><tr><td>Interruptor</td><td><code>SWITCH_FIELD</code></td><td>boolean</td><td>true</td></tr><tr><td>Lista de itens</td><td><code>INPUT_LIST_FIELD</code></td><td>object</td><td>[{value: "1", label: "12312", order: "0"}, {value: "2", label: "1231", order: "2"}]</td></tr><tr><td>Numérico</td><td><code>NUMBER_FIELD</code></td><td>number</td><td>123.33</td></tr><tr><td>Documentos</td><td><code>DOC_FIELD</code></td><td>string</td><td>"045.582.912-44" ou "01.090.094/0001-42</td></tr><tr><td>Texto Formatado</td><td><code>INPUT_RICH_TEXT_FIELD</code></td><td>string</td><td>"&#x3C;p>Your text in HTML here&#x3C;/p>"</td></tr><tr><td>Link</td><td><code>LINK_FIELD</code></td><td>string</td><td>"https://www.cange.me"</td></tr></tbody></table>

## Informações adicionais

### Caixa de seleção

Para que você saiba exatamente qual é o ID de cada opção, você deve entrar na tela de edição do campo e pegar esta informação passando o mouse (hover) por cima de cada uma das opções. Ao passar o mouse por cima das opções haverá um ID com # como prefixo. Conforme print abaixo: \
![](https://3455492266-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRwVy0iUEFA554Gv29SpL%2Fuploads%2FrOaERTPfkJOEDKFMEWWV%2Fimage.png?alt=media\&token=91850d54-5477-43cd-933c-97c653a6ac94)

### Seleção única

Para que você saiba exatamente qual é o ID de cada opção, você deve entrar na tela de edição do campo e pegar esta informação passando o mouse (hover) por cima de cada uma das opções. Ao passar o mouse por cima das opções haverá um ID com # como prefixo. Conforme print abaixo: \
![](https://3455492266-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRwVy0iUEFA554Gv29SpL%2Fuploads%2FrOaERTPfkJOEDKFMEWWV%2Fimage.png?alt=media\&token=91850d54-5477-43cd-933c-97c653a6ac94)

### Seleção múltipla

Para que você saiba exatamente qual é o ID de cada opção, você deve entrar na tela de edição do campo e pegar esta informação passando o mouse (hover) por cima de cada uma das opções. Ao passar o mouse por cima das opções haverá um ID com # como prefixo. Conforme print abaixo: \
![](https://3455492266-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRwVy0iUEFA554Gv29SpL%2Fuploads%2FrOaERTPfkJOEDKFMEWWV%2Fimage.png?alt=media\&token=91850d54-5477-43cd-933c-97c653a6ac94)

### Responsável

O campo Responsável permite que você possa enviar tanto o ID do usuário, como também o e-mail do usuário, facilitando na integração entra sistemas. Caso você não saiba qual é o ID dos seus usuários, você pode acessar: Seu avatar (Canto inferior esquerdo) -> Painel do Administrador -> Membros. Abaixo você verá uma tabela com as informações de cada usuário do sistema, incluindo o Identificador (ID).

<figure><img src="https://3455492266-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRwVy0iUEFA554Gv29SpL%2Fuploads%2FsdVRrWvcraujTiBsWtfL%2Fimage.png?alt=media&amp;token=8234063d-8feb-4f0e-a860-2c2db9fb1c6d" alt=""><figcaption></figcaption></figure>


# 2026


