Pluga Triggers API

The Triggers API from Pluga — 5 operation(s) for triggers.

Operations 5

GET /triggers/{trigger_id}/manifest.json Obter informações sobre a configuração de um Trigger #
GET /triggers/{trigger_id}/attributes Obter atributos de um Trigger específico #
GET /triggers/{trigger_id}/sample Obtém dado real para teste de confirmação do funcionamento do Trigger #
POST /triggers/{trigger_id}/subscribe Assinatura (Subscribe) do Webhook #
DELETE /triggers/{trigger_id}/unsubscribe/{webhook_id} Cancelamento (Unsubscribe) do Webhook #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/pluga:pluga-triggers-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

pluga-triggers-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Pluga Developers Triggers API
  version: 1.0.0
  description: 'Esta documentação é destinada a desenvolvedores que desejam integrar suas aplicações com a Pluga por meio da criação de uma API, seguindo os endpoints especificados a seguir.

    Para que possamos cadastrar os dados do seu aplicativo, bem como suas respectivas Actions e Triggers em nosso banco de dados, é necessário enviar um arquivo JSON para o e-mail integrations@pluga.co, seguindo a estrutura descrita abaixo:

    ```json

    {

    "app": {

    "id": "example_app",

    "base_url": "https://api.example.com"

    },

    "actions": [

    { "id": "action1_key" },

    { "id": "action2_key" }

    ],

    triggers: [

    { "id": "trigger1_key" },

    { "id": "trigger2_key" }

    ]

    }

    ```

    Os atributos acimas tem a seguinte finalidade:

    - `app`: Um objeto representando o aplicativo. Deve conter:

    - `id`: Identificador único do aplicativo (por exemplo, "example_app").

    - `base_url`: URL base da API do aplicativo (por exemplo, "https://api.example.com").

    - `actions`: Array de objetos representando as actions (ações) disponíveis no aplicativo. Cada objeto no array deve conter:

    - `id`: Identificador único da ação (por exemplo, "action1_key").

    - `triggers`: Array de objetos representando os triggers (gatilhos) disponíveis no aplicativo. Cada objeto no array deve conter:

    - `id`: Identificador único do gatilho (por exemplo, "trigger1_key").'
servers:
- url: '{server}'
  description: Your API Base URL
  variables:
    server:
      default: https://api.example.com/v1
      description: Base URL of your API
tags:
- name: Triggers
paths:
  /triggers/{trigger_id}/manifest.json:
    get:
      tags:
      - Triggers
      summary: Obter informações sobre a configuração de um Trigger
      parameters:
      - $ref: '#/components/parameters/trigger_id'
      responses:
        '200':
          $ref: '#/components/responses/successTriggerConfigResponse'
        '404':
          $ref: '#/components/responses/NotFound'
      operationId: getTriggersByTriggerIdManifestJson
      x-operation-id-source: derived
  /triggers/{trigger_id}/attributes:
    get:
      tags:
      - Triggers
      summary: Obter atributos de um Trigger específico
      security:
      - BearerAuth: []
      parameters:
      - $ref: '#/components/parameters/trigger_id'
      responses:
        '200':
          description: "Este endpoint retorna um array de objetos representando os atributos disponíveis na resposta do Trigger. <br>Cada objeto no array inclui os seguintes componentes:\n  - `key`: Um identificador único para o atributo.  É possível utilizar **<a href=\"https://en.wikipedia.org/wiki/Dot_notation\" target=\"_blank\" rel=\"noopener noreferrer\">dot notation</a>** para representar estruturas aninhadas, como <code>\"deal.pipeline\"</code>.\n  - `name`: Um objeto contendo os nomes localizados do atributo.\n"
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    key:
                      type: string
                    name:
                      type: object
                      properties:
                        pt_BR:
                          type: string
                        en:
                          type: string
                  required:
                  - key
                  - name
        '404':
          $ref: '#/components/responses/NotFound'
      operationId: getTriggersByTriggerIdAttributes
      x-operation-id-source: derived
  /triggers/{trigger_id}/sample:
    get:
      tags:
      - Triggers
      summary: Obtém dado real para teste de confirmação do funcionamento do Trigger
      security:
      - BearerAuth: []
      parameters:
      - $ref: '#/components/parameters/trigger_id'
      responses:
        '200':
          description: 'Este endpoint deve retornar um objeto com dados reais do Trigger e deve incluir pelo menos os atributos listados no endpoint `/triggers/{trigger_id}/attributes`.

            '
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                  name:
                    type: string
                  email:
                    type: string
                    format: email
                  value:
                    type: number
                    format: float
                  created_at:
                    type: string
                    format: date-time
        '404':
          $ref: '#/components/responses/NotFound'
      operationId: getTriggersByTriggerIdSample
      x-operation-id-source: derived
  /triggers/{trigger_id}/subscribe:
    post:
      tags:
      - Triggers
      summary: Assinatura (Subscribe) do Webhook
      description: Este endpoint é utilizado para registrar a URL do webhook da Pluga no seu sistema. Sempre que um evento ocorrer, sua aplicação deverá enviar uma notificação para a URL fornecida. **Nota:** Este endpoint é necessário apenas para Triggers do tipo `rest_hook`.
      security:
      - BearerAuth: []
      parameters:
      - $ref: '#/components/parameters/trigger_id'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                url:
                  type: string
                  description: URL do webhook da Pluga onde as notificações devem ser enviadas
                  example: https://webhook.pluga.co/...
              additionalProperties: true
              description: 'Além da URL obrigatória, este objeto recebe campos dinâmicos caso o Trigger tenha campos de configuração (configuration_fields).  As propriedades enviadas correspondem aos `key` definidas na configuração (configuration_fields).  Por exemplo, se houver um campo com `key: "document_id"`, ele será enviado como `"document_id": "123456"`.

                '
              required:
              - url
      responses:
        '201':
          description: Webhook registrado com sucesso
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    description: Identificador único do webhook criado
                    example: webhook_123
                required:
                - id
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      operationId: postTriggersByTriggerIdSubscribe
      x-operation-id-source: derived
  /triggers/{trigger_id}/unsubscribe/{webhook_id}:
    delete:
      tags:
      - Triggers
      summary: Cancelamento (Unsubscribe) do Webhook
      description: Este endpoint é utilizado para cancelar a assinatura de um webhook previamente registrado. **Nota:** Este endpoint é necessário apenas para Triggers do tipo `rest_hook`.
      security:
      - BearerAuth: []
      parameters:
      - $ref: '#/components/parameters/trigger_id'
      - in: path
        name: webhook_id
        schema:
          type: string
        required: true
        description: Identificador único do webhook a ser cancelado (retornado no endpoint de subscribe)
      responses:
        '204':
          description: Webhook cancelado com sucesso
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      operationId: deleteTriggersByTriggerIdUnsubscribeByWebhookId
      x-operation-id-source: derived
components:
  schemas:
    dynamicConfigField:
      type: object
      description: Field description
      properties:
        key:
          type: string
          example: stage
        name:
          type: object
          properties:
            pt_BR:
              type: string
              example: Etapa do funil
            en:
              type: string
              example: Pipeline Stage
        description:
          type: object
          properties:
            pt_BR:
              type: string
              example: Escolha a etapa do funil onde o deal será criado
            en:
              type: string
              example: Choose the pipeline stage where the deal will be created
        required:
          type: boolean
        helper_id:
          type: string
          example: stages_list
          description: should be used when options should be requested from API
        depends_on:
          type: array
          description: should be used when a field depends on another field's value
          items:
            type: string
            example: pipeline
      required:
      - key
      - name
      - helper_id
    triggerConfigExample:
      type: object
      properties:
        name:
          type: object
          properties:
            pt_BR:
              type: string
            en:
              type: string
        task_name:
          type: object
          properties:
            pt_BR:
              type: string
            en:
              type: string
        configuration_fields:
          type: array
          items:
            oneOf:
            - $ref: '#/components/schemas/staticConfigField'
            - $ref: '#/components/schemas/dynamicConfigField'
        unique_keys:
          type: array
          items:
            type: string
            example: id
        type:
          type: string
          enum:
          - webhook
          - rest_hook
          example: webhook
          description: Tipo do Trigger. Use 'webhook' quando a Pluga fornecer a URL, ou 'rest_hook' quando sua API gerenciar as assinaturas.
        webhook_configuration:
          type: object
          properties:
            message_type:
              type: string
              example: object | list
            message_filters:
              type: array
              items:
                type: object
                properties:
                  field:
                    type: string
                    example: status
                  events:
                    type: array
                    items:
                      type: string
                      example: created
    staticConfigField:
      type: object
      description: Field description
      properties:
        key:
          type: string
          example: pipeline
        name:
          type: object
          properties:
            pt_BR:
              type: string
              example: Funil
            en:
              type: string
              example: Pipeline
        description:
          type: object
          properties:
            pt_BR:
              type: string
              example: Escolha o funil onde o deal será criado
            en:
              type: string
              example: Choose the pipeline where the deal will be created
        required:
          type: boolean
        options:
          type: array
          description: should be used when options are a static list
          items:
            type: object
            properties:
              label:
                type: object
                properties:
                  pt_BR:
                    type: string
                    example: Funil Padrão
                  en:
                    type: string
                    example: Default Pipeline
              value:
                type: string
                example: default
      required:
      - key
      - name
      - options
  responses:
    NotFound:
      description: Not Found
    successTriggerConfigResponse:
      description: "A resposta contém um objeto representando a configuração do Trigger e deve incluir os seguintes componentes:\n  - `name`: Um objeto contendo os nomes localizados do Trigger.\n  - `task_name`: Um objeto contendo o nome do gatilho a ser disparado pelo Trigger, por exemplo: \"**Quando uma nova linha for criada no Google Sheets**, criar/atualizar um negócio no HubSpot\", a parte em negrito é o task_name. **Importante:** O task_name deve obrigatoriamente incluir o nome do aplicativo exatamente como está definido no atributo `name` do app.\n  - `type`: O tipo do Trigger pode ser `webhook` ou `rest_hook`. \n    - **`webhook`**: A Pluga fornece uma URL para que sua API envie os dados sempre que um evento ocorrer. \n    - **`rest_hook`**: Sua API permite que a Pluga registre uma assinatura de webhook através dos endpoints `/triggers/{trigger_id}/subscribe` e `/triggers/{trigger_id}/unsubscribe/{webhook_id}`. Quando um evento ocorrer, sua aplicação envia os dados para a URL registrada.\n  - `configuration_fields`: Um array de campos necessários para a configuração do Trigger. Esses campos permitem filtrar eventos com base em valores específicos configurados. Por exemplo, é possível configurar um campo para que apenas notificações com o status 'won' (deals ganhos) sejam processadas. Caso o webhook receba uma notificação sem esse status, ela será descartada e não será processada pela Pluga. Cada campo deve ter os seguintes:\n    - `key`: Um identificador único para o campo (por exemplo, \"pipeline\"). É possível utilizar **<a href=\"https://en.wikipedia.org/wiki/Dot_notation\" target=\"_blank\" rel=\"noopener noreferrer\">dot notation</a>** para representar estruturas aninhadas, como <code>\"deal.pipeline\"</code>.\n    - `name`: Um objeto contendo os nomes localizados do campo. (por exemplo, \"pt_BR: Funil\", \"en: Pipeline\").\n    - `description`: Um objeto contendo a descrição localizada sobre o campo, voltado para tirar dúvidas, ou indicar um padrão de envio de dados pelos clientes.\n    - `required`: Um indicador se o campo é obrigatório.\n    - `type`: O tipo do campo de configuração pode ser \"dropdown\" ou \"dropdown_multiple\". No caso de poder selecionar mais de uma opção deve ser o tipo \"dropdown_multiple\". O valor padrão é \"dropdown\" caso o atributo não seja enviado.\n    - `options`: Usado quando o campo possui uma lista estática de opções. Deve ser um array de objetos com a seguinte estrutura:\n      - `label`: Um objeto contendo o nome localizado da opção.\n      - `value`: O valor a ser enviado para sua API.\n    - `helper_id`: Necessário quando as opções do campo devem ser buscadas dinamicamente na sua API. Deve conter o ID do endpoint que fornece as opções (por exemplo, \"pipelines_list\").\n    - `depends_on`: Um array de chaves de campos anteriores, indicando dependências se as opções do campo dependem do valor de outro campo.\n  - `unique_keys`: Um array de strings representando os campos que devem ser únicos para evitar duplicações. Por exemplo, se o campo \"id\" for único, deve ser incluído neste array.\n  - `webhook_configuration`: Um objeto contendo a configuração do webhook. Deve incluir:\n    - `message_type`: O tipo de dado que será notificado na URL do webhook, pode ser \"object\", no caso de ser enviado apenas um objeto na notificação, ou \"list\", caso seja enviado um array de objetos por notificação.\n    - `message_filters`: Um array de objeto contendo atributos do objeto notificado para verificar se a notificação é válida ou o evento deve ser fitlrado. ele contém as seguintes propriedades:\n      - `field`: O campo do objeto que será verificado (por exemplo, \"status\").\n      - `events`: Um array de strings representando os eventos que devem ser filtrados (por exemplo, \"created\", \"updated\").\n"
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/triggerConfigExample'
    BadRequest:
      description: Bad Request
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                example: Invalid request with information that helps to identify what's wrong
    Unauthorized:
      description: Unauthorized
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                example: Unauthorized
  parameters:
    trigger_id:
      in: path
      name: trigger_id
      schema:
        type: string
      required: true
      description: Identificador único do Trigger (por exemplo, "created_deal")
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer