Ada.ia
Logo Base de Conhecimento

Agendamento de envio por API

É possível acionar manualmente um agendamento de envio configurado no BIMachine por meio de uma chamada POST à API.

1. Chave de aplicação 🔑

Para iniciar a utilização, é necessário criar uma chave de aplicação, veja o passo a passo abaixo ou mais detalhado aqui:

  • Acesse o menu Gestão de Contas.
  • Clique em Nova Chave de Aplicação.
  • Dê um nome para identificar a chave.
  • Copie a chave gerada.

Essa chave será usada para autenticar futuras requisições à API.

2. Geração Token de autenticação 🔐

Com a chave de aplicação, você poderá gerar um token de autenticação do usuário, necessário para validar os acessos externos.

POST
<url_aplicação>/api/token-manager/?appKey=<chave_aplicação>

Request Body:
{
"email":"email@exemplo.com"
}

Resposta Esperada:

{
  "id": 1,
  "applicationKey": {
    "id": 1,
    "name": "NomeDaAplicacao",
    "token": "chave_da_aplicacao",
    "account": {
      "id": 1,
      "accountOwnerId": 1,
      "accountMasterId": 1,
      "applicationKeys": null,
      "name": "NomeDaConta"
    },
    "blockByDomain": false,
    "allowedDomains": null
  },
  "user": {
    "id": 1,
    "username": "usuario@dominio.com",
    "email": "usuario@dominio.com",
    "preferredLanguage": "idioma_preferido",
    "displayName": "Nome de Exibição",
    "viewTutorial": false,
    "createObject": false,
    "addData": false,
    "preferences": {
      "id": 1,
      "defaultProjectId": 0,
      "defaultCockpits": null
    },
    "phone": "(00) 0000-0000",
    "projectLinks": null,
    "members": [1],
    "avatarLink": "/avatar?user-id=1&i=0000000000000&oi=0"
  },
  "token": "token_de_autenticacao"
}

O token gerado é utilizado para autenticar o usuário no BIMachine quando utilizado em outras aplicações. Este Token é único e expirável, o tempo de expiração é de 30 minutos, mas é renovado toda vez que for utilizado.

Exemplo de código JAVA para autenticação por meio do token:

public String getToken(){
    try {
        return new SimpleTimeLimiter().callWithTimeout(new Callable<String>() {
            @Override
            public String call() throws Exception {
                String emailUser = "usuario@dominio.com";
                String appKey = "chave_da_aplicacao";
                RestTemplate restTemplate = new RestTemplate();
                URI uri = UriComponentsBuilder
                    .fromHttpUrl("https://app.bimachine.com.br/api/token-manager")
                    .queryParam("appKey", appKey)
                    .build()
                    .toUri();

                HttpEntity httpEntity = jsonEntity(new EmailToken(emailUser, appKey));
                ResponseEntity<Token> responseEntity = restTemplate.postForEntity(uri, httpEntity, Token.class);

                if (responseEntity.getStatusCode().value() == 200) {
                    return responseEntity.getBody().getToken();
                } else {
                    return null;
                }
            }
        }, 2, TimeUnit.SECONDS, true);
    } catch (Exception e) {
        e.printStackTrace();
        return null;
    }
}

3. Localizando o ID do Agendamento

Antes de fazer a requisição, acesse a área de Agendamentos na plataforma BIMachine, acesse os detalhes do agendamento desejado e copie o ID conforme ilustrado abaixo:

4. Disparando o Agendamento via API

Utilize o endpoint abaixo para forçar a execução imediata do agendamento informado:

POST 
https://api.bimachine.com/api/export/schedulings/{id}/run&appToken={appToken}

Parâmetros:

  • id: ID do agendamento que será executado (obtido na etapa 3).
  • appToken: token de autenticação do usuário (obtido na etapa 2)

Artigos recentes

Rolar para cima