Pular para conteúdo

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:

{
    "robotId": "<seu robotKey>",
    "secretKey": "<seu robotKey>"
}

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:

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:

{
    "executionId": "6ca6120f-2b4a-42f8-8715-b94d4984460y" // ID de execução
}

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]"
    ]
}