APIs REST

Nossa API REST permite que você integre o Lifty com suas aplicações de forma simples e eficiente.

Autenticação

Todas as requisições para a API devem incluir sua API_KEY no header de autorização:

Authorization: Bearer YOUR_API_KEY

Importante: Sua API_KEY será fornecida pelo time Lifty. Entre em contato conosco para obtê-la.

Endpoints da API

Nota: Substitua {{api-server}} pela URL do servidor da API fornecida pelo time Lifty.

Endpoints Principais

1. Enviar Mensagem Direta

POST /integration/whatsapp/sendDirectMessage

Envia uma mensagem direta para um número específico.

Modelo de Request

{
  "phoneNumber": "string",
  "message": "string",
  "botId": "string"
}

Modelo de Response

{
  "success": "boolean",
  "messageId": "string",
  "status": "string",
  "timestamp": "string"
}

Exemplo de Requisição

curl -X POST "{{api-server}}/integration/whatsapp/sendDirectMessage" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "phoneNumber": "5511999999999",
    "message": "Olá! Como posso ajudar você hoje?",
    "botId": "your-bot-id"
  }'

Exemplo JavaScript

const response = await fetch('{{api-server}}/integration/whatsapp/sendDirectMessage', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    phoneNumber: '5511999999999',
    message: 'Olá! Como posso ajudar você hoje?',
    botId: 'your-bot-id'
  })
});

const result = await response.json();
console.log(result);

Exemplo Python

import requests

url = "{{api-server}}/integration/whatsapp/sendDirectMessage"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json"
}
data = {
    "phoneNumber": "5511999999999",
    "message": "Olá! Como posso ajudar você hoje?",
    "botId": "your-bot-id"
}

response = requests.post(url, headers=headers, json=data)
print(response.json())

2. Enviar Mensagem com Template

POST /integration/whatsapp/sendTemplateMessage

Envia uma mensagem usando templates aprovados pelo WhatsApp.

Modelo de Request

{
  "phoneNumber": "string",
  "templateName": "string",
  "language": "string",
  "components": [
    {
      "type": "string",
      "parameters": [
        {
          "type": "string",
          "text": "string"
        }
      ]
    }
  ],
  "botId": "string"
}

Modelo de Response

{
  "success": "boolean",
  "messageId": "string",
  "status": "string",
  "timestamp": "string"
}

Exemplo de Requisição

curl -X POST "{{api-server}}/integration/whatsapp/sendTemplateMessage" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "phoneNumber": "5511999999999",
    "templateName": "welcome_message",
    "language": "pt_BR",
    "components": [
      {
        "type": "body",
        "parameters": [
          {
            "type": "text",
            "text": "João"
          }
        ]
      }
    ],
    "botId": "your-bot-id"
  }'

Exemplo JavaScript

const response = await fetch('{{api-server}}/integration/whatsapp/sendTemplateMessage', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    phoneNumber: '5511999999999',
    templateName: 'welcome_message',
    language: 'pt_BR',
    components: [
      {
        type: 'body',
        parameters: [
          {
            type: 'text',
            text: 'João'
          }
        ]
      }
    ],
    botId: 'your-bot-id'
  })
});

const result = await response.json();
console.log(result);

3. Criar Template de Mensagem

POST /whatsapp/templates/{botId}

Cria um novo template de mensagem para o bot especificado.

Modelo de Request

{
  "name": "string",
  "language": "string",
  "category": "string",
  "components": [
    {
      "type": "string",
      "format": "string",
      "text": "string"
    }
  ]
}

Modelo de Response

{
  "success": "boolean",
  "templateId": "string",
  "status": "string",
  "timestamp": "string"
}

Exemplo de Requisição

curl -X POST "{{api-server}}/whatsapp/templates/your-bot-id" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "order_confirmation",
    "language": "pt_BR",
    "category": "MARKETING",
    "components": [
      {
        "type": "HEADER",
        "format": "TEXT",
        "text": "Confirmação de Pedido"
      },
      {
        "type": "BODY",
        "text": "Olá {{1}}, seu pedido #{{2}} foi confirmado e será enviado em {{3}} dias úteis."
      },
      {
        "type": "FOOTER",
        "text": "Obrigado por escolher nossa empresa!"
      }
    ]
  }'

Exemplo JavaScript

const botId = 'your-bot-id';
const response = await fetch(`{{api-server}}/whatsapp/templates/${botId}`, {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    name: 'order_confirmation',
    language: 'pt_BR',
    category: 'MARKETING',
    components: [
      {
        type: 'HEADER',
        format: 'TEXT',
        text: 'Confirmação de Pedido'
      },
      {
        type: 'BODY',
        text: 'Olá {{1}}, seu pedido #{{2}} foi confirmado e será enviado em {{3}} dias úteis.'
      },
      {
        type: 'FOOTER',
        text: 'Obrigado por escolher nossa empresa!'
      }
    ]
  })
});

const result = await response.json();
console.log(result);

4. Listar Templates de Mensagem

GET /facebook/templates/{botId}

Retorna todos os templates disponíveis para o bot especificado.

Modelo de Response

{
  "success": "boolean",
  "templates": [
    {
      "id": "string",
      "name": "string",
      "language": "string",
      "category": "string",
      "status": "string",
      "components": [
        {
          "type": "string",
          "format": "string",
          "text": "string"
        }
      ]
    }
  ],
  "timestamp": "string"
}

Exemplo de Requisição

curl -X GET "{{api-server}}/facebook/templates/your-bot-id" \
  -H "Authorization: Bearer YOUR_API_KEY"

Exemplo JavaScript

const botId = 'your-bot-id';
const response = await fetch(`{{api-server}}/facebook/templates/${botId}`, {
  method: 'GET',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY'
  }
});

const templates = await response.json();
console.log(templates);

Exemplo Python

import requests

bot_id = "your-bot-id"
url = f"{{api-server}}/facebook/templates/{bot_id}"
headers = {
    "Authorization": "Bearer YOUR_API_KEY"
}

response = requests.get(url, headers=headers)
templates = response.json()
print(templates)

Respostas da API

Resposta de Sucesso

{
  "success": true,
  "messageId": "wamid.123456789",
  "status": "sent",
  "timestamp": "2024-01-15T10:30:00Z"
}

Resposta de Erro

{
  "success": false,
  "error": "Invalid phone number format",
  "code": "INVALID_PHONE",
  "timestamp": "2024-01-15T10:30:00Z"
}

Códigos de Status HTTP

  • 200 - Sucesso
  • 400 - Requisição inválida
  • 401 - Não autorizado (API_KEY inválida)
  • 403 - Acesso negado
  • 404 - Recurso não encontrado
  • 429 - Muitas requisições (rate limit)
  • 500 - Erro interno do servidor

Documentação Swagger

Para uma documentação interativa completa da API, entre em contato com o suporte que irá fornecer acesso à documentação Swagger.

Suporte

Se você encontrar algum problema ou tiver dúvidas sobre este conteúdo, entre em contato com nosso time de suporte:

Segunda a Sexta, 9h às 18h

Concentre-se no que realmente importa

Seja um parceiro

Nós cuidamos da tecnologia para otimizar sua comunicação no WhatsApp. Simplifique seus processos e alcance melhores resultados!