API
É possível interagir com seu robô Marvin usando APIs para iniciar novas automações ou recuperar status e logs de execução.
Existem dois tipos diferentes de APIs que você pode interagir com APIs do robô
e APIs do usuário
.
APIs de robôs
As APIs do robô são aquelas usadas para interagir diretamente com seu robô, enviando execuções para um robô específico em sua conta. Para usar um desses endpoints de APIs, é necessário ter o robotKey
e o robotSecret
, para recuperar o token de autenticação, usado para todas as suas requisições.
Token de autenticação
Este endpoint é responsável por validar seu robotKey
e robotSecret
, enviando de volta um token de autorização, para ser usado em todas as outras chamadas de API.
Verbo: PUT
Endpoint: https://api.marvin.run/v2/robots/token
Cabeçalhos:
- Tipo de conteúdo: aplicativo/json
Carga útil:
Resposta:
{
"token": "hjbwfNytoos_aAA-FqpiVwwOl-qGh5Ed5Jo5s72DoDw", // Token de autorização
"expires": 1636202881 // Data e hora de expiração do token
}
Executando scripts
Este endpoint adiciona uma nova execução de automação ao seu robô Marvin.
Verbo: PUT
Endpoint: https://api.marvin.run/v2/scripts/execution/robot
Cabeçalhos:
- Tipo de conteúdo: aplicativo/json
- Autorização:
(recebida de Token de Autenticação)
Carga útil:
{
"robotId": "<seu robotSecret>",
"script": "<nome do script a ser executado>",
"vars": { // Chave/Valor para todas as variáveis Marvin que você deseja definir no início do processo
"cidade": "Nova York",
"ano": "2021"
}
}
Resposta:
APIs do usuário
As APIs do usuário são aquelas usadas para obter as mesmas informações que você vê no seu Marvin Console. Para usar esses endpoints de API, entre em contato com a equipe de suporte da Marvin e peça seu acesso.
Listar execuções
Este endpoint retorna uma lista com todas as execuções dos últimos 7 dias que você tem em seu Marvin Console.
Verbo: GET
Endpoint: https://api.marvin.run/v2/automation/list
Cabeçalhos:
- Autorização:
(recebido da equipe de suporte da Marvin)
Parâmetros de Consulta:
- fromDate: data inicial para user como filtro (em formato timestamp)
- toDate: data final para usar como filtro (em formato timestamp)
- scriptName: nome do script a ser filtrado
- robotName: nome do robô a ser filtrado
- execStatus: nome status a ser filtrado
Carga útil: não é necessária nenhuma carga útil
Resposta:
[
{
"id": "8aea0658-79aa-496b-8563-ecbb8fe69d78", // ID de execução
"scriptName": "test", // Nome do processo de automação executado
"execStatus": "SUCCESS", // Status atual da execução
"executionTime": "45.3094", // Tempo de duração da execução em segundos
"robotName": "Your Robot", // Nome do robô que executou a automação
"logTime": 1643338651 // Timestamp do último status
}
]
Obter detalhes de execução
Este endpoint recupera todos os detalhes de um ID de execução específico.
Verbo: GET
Endpoint: https://api.marvin.run/v2/automation/execution/{execution-id}
Cabeçalhos:
- Autorização:
(recebido da equipe de suporte da Marvin)
Carga útil: não é necessária nenhuma carga útil
Resposta:
{
"id": "d5f0a96f-33b2-48b4-9a29-bc7bf78ea288", // ID de execução
"execStatus": "SUCCESS", // Status atual da automação
"scriptName": "test", // Script a ser executado
"vars": { // Variáveis enviadas para execução
"cidade": "Nova York",
"ano": "2021"
},
"createdAt": 1639519686, // Timestamp da criação da execução
"robotName": "Meu Marvin - 01", // nome do robô
"robotId": "c6ab9adb-98b7-4a92-8720-a2f49cabf4aa", // ID do robô
"logTime": 1639519689, // Timestamp da última mudança de status
"logs": [ // Lista com todos os logs definidos durante a execução do script
{
"tipo": "registro",
"log": "Iniciando a execução do script"
},
{
"tipo": "sucesso",
"log": "Script executado em 1 segundo"
}
],
"executionTime": "1.5867180000059307", // Tempo de duração da execução em segundos
"to": [ // Lista de todos os e-mails que recebem o status de execução
"[email protected]"
]
}