{
  "schemaVersion": 1,
  "key": "asaas",
  "name": "Asaas",
  "description": "Gateway de pagamento brasileiro: cobranças (boleto, Pix, cartão), clientes, assinaturas e webhooks de pagamento. A chave de API é da própria conta do tenant.",
  "category": "brazil",
  "vendor": "Asaas",
  "version": "1.1.0",
  "status": "ACTIVE",
  "credentials": [
    {
      "type": "API_KEY",
      "secretLabel": "Chave de API",
      "secretPlaceholder": "Cole a chave de API da sua conta Asaas",
      "helpText": "No painel do Asaas, abra o menu do usuário > Integrações > Chave de API e copie a chave. Ela é enviada no header access_token de cada chamada.",
      "helpUrl": "https://www.asaas.com/customerApiAccessToken/index"
    }
  ],
  "actions": [
    {
      "key": "subscription.delete",
      "name": "Cancelar assinatura",
      "description": "Encerra a recorrência e remove as cobranças pendentes/vencidas ligadas a ela.",
      "inputs": [
        {
          "key": "id",
          "label": "Assinatura (id)",
          "type": "TEXT",
          "required": true
        }
      ],
      "outputs": [
        {
          "key": "deleted",
          "label": "Deleted",
          "type": "OUTPUT",
          "required": false
        },
        {
          "key": "id",
          "label": "Id",
          "type": "OUTPUT",
          "required": false
        }
      ]
    },
    {
      "key": "payment.delete",
      "name": "Cancelar cobrança",
      "description": "Remove uma cobrança ainda não paga. Resposta: { deleted: true, id }.",
      "inputs": [
        {
          "key": "id",
          "label": "Cobrança (id)",
          "type": "TEXT",
          "required": true,
          "description": "Id da cobrança a remover."
        }
      ],
      "outputs": [
        {
          "key": "deleted",
          "label": "Deleted",
          "type": "OUTPUT",
          "required": false
        },
        {
          "key": "id",
          "label": "Id",
          "type": "OUTPUT",
          "required": false
        }
      ]
    },
    {
      "key": "payment.get",
      "name": "Consultar cobrança",
      "description": "Recupera uma cobrança pelo id, com status atual e valores.",
      "inputs": [
        {
          "key": "id",
          "label": "Cobrança (id)",
          "type": "TEXT",
          "required": true,
          "description": "Id da cobrança Asaas, ex.: {{ cobranca.id }}"
        }
      ],
      "outputs": [
        {
          "key": "id",
          "label": "Id",
          "type": "OUTPUT",
          "required": false
        },
        {
          "key": "status",
          "label": "Status",
          "type": "OUTPUT",
          "required": false
        },
        {
          "key": "billingType",
          "label": "Billing Type",
          "type": "OUTPUT",
          "required": false
        },
        {
          "key": "value",
          "label": "Value",
          "type": "OUTPUT",
          "required": false
        },
        {
          "key": "netValue",
          "label": "Net Value",
          "type": "OUTPUT",
          "required": false
        },
        {
          "key": "dueDate",
          "label": "Due Date",
          "type": "OUTPUT",
          "required": false
        },
        {
          "key": "paymentDate",
          "label": "Payment Date",
          "type": "OUTPUT",
          "required": false
        },
        {
          "key": "invoiceUrl",
          "label": "Invoice Url",
          "type": "OUTPUT",
          "required": false
        },
        {
          "key": "bankSlipUrl",
          "label": "Bank Slip Url",
          "type": "OUTPUT",
          "required": false
        },
        {
          "key": "customer",
          "label": "Customer",
          "type": "OUTPUT",
          "required": false
        },
        {
          "key": "externalReference",
          "label": "External Reference",
          "type": "OUTPUT",
          "required": false
        }
      ]
    },
    {
      "key": "subscription.create",
      "name": "Criar assinatura",
      "description": "Cria uma cobrança recorrente. Obrigatórios: cliente, forma, valor, primeiro vencimento e ciclo.",
      "inputs": [
        {
          "key": "customer",
          "label": "Cliente (id)",
          "type": "TEXT",
          "required": true
        },
        {
          "key": "billingType",
          "label": "Forma de pagamento",
          "type": "SELECT",
          "required": true
        },
        {
          "key": "value",
          "label": "Valor por ciclo",
          "type": "NUMBER",
          "required": true
        },
        {
          "key": "nextDueDate",
          "label": "Primeiro vencimento",
          "type": "DATE",
          "required": true,
          "description": "Formato AAAA-MM-DD."
        },
        {
          "key": "cycle",
          "label": "Ciclo",
          "type": "SELECT",
          "required": true
        },
        {
          "key": "description",
          "label": "Descrição",
          "type": "TEXT",
          "required": false
        },
        {
          "key": "externalReference",
          "label": "Referência externa",
          "type": "TEXT",
          "required": false
        }
      ],
      "outputs": [
        {
          "key": "id",
          "label": "Id",
          "type": "OUTPUT",
          "required": false
        },
        {
          "key": "status",
          "label": "Status",
          "type": "OUTPUT",
          "required": false
        },
        {
          "key": "value",
          "label": "Value",
          "type": "OUTPUT",
          "required": false
        },
        {
          "key": "cycle",
          "label": "Cycle",
          "type": "OUTPUT",
          "required": false
        },
        {
          "key": "nextDueDate",
          "label": "Next Due Date",
          "type": "OUTPUT",
          "required": false
        },
        {
          "key": "customer",
          "label": "Customer",
          "type": "OUTPUT",
          "required": false
        }
      ]
    },
    {
      "key": "customer.create",
      "name": "Criar cliente",
      "description": "Cadastra um cliente na conta Asaas. Obrigatórios: nome e CPF/CNPJ.",
      "inputs": [
        {
          "key": "name",
          "label": "Nome",
          "type": "TEXT",
          "required": true,
          "description": "Aceita expressões do processo, ex.: {{ solicitante.nome }}"
        },
        {
          "key": "cpfCnpj",
          "label": "CPF ou CNPJ",
          "type": "TEXT",
          "required": true,
          "description": "Com ou sem máscara."
        },
        {
          "key": "email",
          "label": "E-mail",
          "type": "TEXT",
          "required": false
        },
        {
          "key": "phone",
          "label": "Telefone fixo",
          "type": "TEXT",
          "required": false,
          "description": "Campo 'phone' da API — telefone fixo."
        },
        {
          "key": "mobilePhone",
          "label": "Celular",
          "type": "TEXT",
          "required": false,
          "description": "Campo 'mobilePhone' da API — celular."
        },
        {
          "key": "externalReference",
          "label": "Referência externa",
          "type": "TEXT",
          "required": false,
          "description": "Id do seu processo, para correlacionar depois."
        }
      ],
      "outputs": [
        {
          "key": "id",
          "label": "Id",
          "type": "OUTPUT",
          "required": false
        },
        {
          "key": "name",
          "label": "Name",
          "type": "OUTPUT",
          "required": false
        },
        {
          "key": "cpfCnpj",
          "label": "Cpf Cnpj",
          "type": "OUTPUT",
          "required": false
        },
        {
          "key": "email",
          "label": "Email",
          "type": "OUTPUT",
          "required": false
        },
        {
          "key": "dateCreated",
          "label": "Date Created",
          "type": "OUTPUT",
          "required": false
        }
      ]
    },
    {
      "key": "payment.create",
      "name": "Criar cobrança",
      "description": "Cria uma cobrança única (boleto, Pix, cartão ou aberta). Obrigatórios: cliente, forma, valor e vencimento.",
      "inputs": [
        {
          "key": "customer",
          "label": "Cliente (id)",
          "type": "TEXT",
          "required": true,
          "description": "Id do cliente Asaas, ex.: {{ cobranca.customerId }}"
        },
        {
          "key": "billingType",
          "label": "Forma de pagamento",
          "type": "SELECT",
          "required": true
        },
        {
          "key": "value",
          "label": "Valor",
          "type": "NUMBER",
          "required": true,
          "description": "Valor total da cobrança, ex.: 149.90"
        },
        {
          "key": "dueDate",
          "label": "Vencimento",
          "type": "DATE",
          "required": true,
          "description": "Formato AAAA-MM-DD."
        },
        {
          "key": "description",
          "label": "Descrição",
          "type": "TEXT",
          "required": false
        },
        {
          "key": "externalReference",
          "label": "Referência externa",
          "type": "TEXT",
          "required": false,
          "description": "Id do seu processo, para correlacionar no webhook."
        }
      ],
      "outputs": [
        {
          "key": "id",
          "label": "Id",
          "type": "OUTPUT",
          "required": false
        },
        {
          "key": "status",
          "label": "Status",
          "type": "OUTPUT",
          "required": false
        },
        {
          "key": "billingType",
          "label": "Billing Type",
          "type": "OUTPUT",
          "required": false
        },
        {
          "key": "value",
          "label": "Value",
          "type": "OUTPUT",
          "required": false
        },
        {
          "key": "netValue",
          "label": "Net Value",
          "type": "OUTPUT",
          "required": false
        },
        {
          "key": "dueDate",
          "label": "Due Date",
          "type": "OUTPUT",
          "required": false
        },
        {
          "key": "invoiceUrl",
          "label": "Invoice Url",
          "type": "OUTPUT",
          "required": false
        },
        {
          "key": "bankSlipUrl",
          "label": "Bank Slip Url",
          "type": "OUTPUT",
          "required": false
        },
        {
          "key": "customer",
          "label": "Customer",
          "type": "OUTPUT",
          "required": false
        },
        {
          "key": "externalReference",
          "label": "External Reference",
          "type": "OUTPUT",
          "required": false
        }
      ]
    },
    {
      "key": "payment.refund",
      "name": "Estornar cobrança (Pix/cartão)",
      "description": "Estorna uma cobrança já paga por Pix ou cartão. Sem 'value', o Asaas tenta estornar o total.",
      "inputs": [
        {
          "key": "id",
          "label": "Cobrança (id)",
          "type": "TEXT",
          "required": true,
          "description": "Id da cobrança paga a estornar."
        },
        {
          "key": "value",
          "label": "Valor a estornar",
          "type": "NUMBER",
          "required": false,
          "description": "Opcional. Vazio = estorno total."
        },
        {
          "key": "description",
          "label": "Motivo",
          "type": "TEXT",
          "required": false
        }
      ],
      "outputs": [
        {
          "key": "id",
          "label": "Id",
          "type": "OUTPUT",
          "required": false
        },
        {
          "key": "status",
          "label": "Status",
          "type": "OUTPUT",
          "required": false
        },
        {
          "key": "value",
          "label": "Value",
          "type": "OUTPUT",
          "required": false
        }
      ]
    },
    {
      "key": "payment.identificationField",
      "name": "Linha digitável do boleto",
      "description": "Retorna a linha digitável (identificationField) do boleto de uma cobrança. A URL do boleto em si vem em 'bankSlipUrl' na consulta da cobrança.",
      "inputs": [
        {
          "key": "id",
          "label": "Cobrança (id)",
          "type": "TEXT",
          "required": true,
          "description": "Id da cobrança Asaas (boleto)."
        }
      ],
      "outputs": [
        {
          "key": "identificationField",
          "label": "Identification Field",
          "type": "OUTPUT",
          "required": false
        },
        {
          "key": "nossoNumero",
          "label": "Nosso Numero",
          "type": "OUTPUT",
          "required": false
        },
        {
          "key": "barCode",
          "label": "Bar Code",
          "type": "OUTPUT",
          "required": false
        }
      ]
    },
    {
      "key": "payment.pixQrCode",
      "name": "QR Code Pix da cobrança",
      "description": "Retorna a imagem (base64) e o payload copia-e-cola do Pix de uma cobrança.",
      "inputs": [
        {
          "key": "id",
          "label": "Cobrança (id)",
          "type": "TEXT",
          "required": true,
          "description": "Id da cobrança Asaas."
        }
      ],
      "outputs": [
        {
          "key": "success",
          "label": "Success",
          "type": "OUTPUT",
          "required": false
        },
        {
          "key": "encodedImage",
          "label": "Encoded Image",
          "type": "OUTPUT",
          "required": false
        },
        {
          "key": "payload",
          "label": "Payload",
          "type": "OUTPUT",
          "required": false
        },
        {
          "key": "expirationDate",
          "label": "Expiration Date",
          "type": "OUTPUT",
          "required": false
        }
      ]
    },
    {
      "key": "payment.bankSlipRefund",
      "name": "Solicitar estorno de boleto",
      "description": "Inicia o fluxo de estorno de um boleto pago. A resposta traz 'requestUrl' — o pagador ainda precisa informar conta e documentos para concluir.",
      "inputs": [
        {
          "key": "id",
          "label": "Cobrança (id)",
          "type": "TEXT",
          "required": true,
          "description": "Id da cobrança (boleto pago) a estornar."
        }
      ],
      "outputs": [
        {
          "key": "id",
          "label": "Id",
          "type": "OUTPUT",
          "required": false
        },
        {
          "key": "status",
          "label": "Status",
          "type": "OUTPUT",
          "required": false
        },
        {
          "key": "requestUrl",
          "label": "Request Url",
          "type": "OUTPUT",
          "required": false
        }
      ]
    }
  ],
  "triggers": [
    {
      "key": "payment.received",
      "name": "Pagamento recebido",
      "description": "Dispara quando uma cobrança é recebida e o saldo fica disponível (PAYMENT_RECEIVED). A inscrição registra um webhook dedicado no Asaas.",
      "mode": "PUSH",
      "exclusiveByConnection": false,
      "inputs": [
        {
          "key": "notificationEmail",
          "label": "E-mail para alertas de falha do webhook",
          "type": "TEXT",
          "required": true,
          "description": "O Asaas exige um e-mail para avisar se o webhook parar de responder."
        }
      ],
      "events": [
        {
          "type": "GENERIC"
        }
      ]
    },
    {
      "key": "payment.overdue",
      "name": "Cobrança vencida",
      "description": "Dispara quando uma cobrança vence sem pagamento (PAYMENT_OVERDUE). A inscrição registra um webhook dedicado no Asaas.",
      "mode": "PUSH",
      "exclusiveByConnection": false,
      "inputs": [
        {
          "key": "notificationEmail",
          "label": "E-mail para alertas de falha do webhook",
          "type": "TEXT",
          "required": true,
          "description": "O Asaas exige um e-mail para avisar se o webhook parar de responder."
        }
      ],
      "events": [
        {
          "type": "GENERIC"
        }
      ]
    }
  ]
}
