SMS Funnel
  • Sobre a SMSFunnel
  • Integrações
  • Como integrar com SMSFunnel?
  • API's
    • Parceiros
      • 🔑Autenticação
      • 🌐Requisições
  • Magento
    • Integração
      • 💾Instalação
      • ⚙️Configuração
Powered by GitBook
On this page
  • Padrão de corpo e regras das requisições
  • Código de Erros Comuns
  • Corpo de Resposta de Erros Comuns
  • Endpoints
  • Dúvidas?
  1. API's
  2. Parceiros

Requisições

Utilização de cada endpoint e padrões de requisição

Contamos atualmente com 4 endpoints em nossa API de Parceiros, aprenda à seguir como utilizá-los da maneira correta e a função de cada um.

A URL de base de todos os endpoints é: https://web.smsfunnel.com.br/api/parceiros/v1

Padrão de corpo e regras das requisições

  1. Todas requisições de consulta devem ter pelo menos as chaves user_id ou email preenchidas, user_id sendo o ID do usuário e o email sendo o email do usuário que deseja consultar as métricas. Não permitido o uso simultâneo das duas chaves.

  2. Você só terá acesso às informações sobre os seus usuários afiliados.

  3. As requisições não poderão constar headers como set-cookie e afins.

Código de Erros Comuns

  • 400 Bad Request: A requisição não pôde ser processada devido a um erro genérico.

  • 401 Unauthorized: Sua Chave de API é inválida.

  • 403 Forbidden: Seu usuário não tem a API de Parceiros habilitada.

  • 404 Not Found: O usuário solicitado não foi encontrado ou não pertence aos seus afiliados.

  • 422 Unprocessable Entity: Seu postback está com algum problema.

  • 500 Internal Server Error: Ocorreu um erro interno ao processar a requisição.

Corpo de Resposta de Erros Comuns

{
    "error": "The error message here" 
}

Endpoints

GET /recharges

Função: Obter dados de recargas do usuário.

Corpo de envio:

{ 
    "email": "meu_usuario@example.com",
    // Campos de data (Opcionais), devem ter no máximo 90 dias de diferença entre si.
    "from_date": "2024-01-01", // Data inicial
    "to_date": "2024-02-01" // Data final
}

Corpo de resposta:

{
    "recharges": [
        {
            "created_at": "2024-11-21 00:00:00", // Data da recarga
            "description": "Recarga Direta", // Descrição
            "service": "SMS", // Serviço
            "credits": 0, // Quantidade de créditos recarregados
            "price": 0, // Preço
            "total": 0, // Valor
            "situation": "APPROVED" // Situação
        }, ...
    ]
}

GET /sent-messages

Função: Obter mensagens enviadas do usuário.

Corpo de envio:

{ 
    "email": "meu_usuario@example.com",
    // Campos de data (Opcionais), devem ter no máximo 90 dias de diferença entre si.
    "from_date": "2024-01-01", // Data inicial
    "to_date": "2024-02-01" // Data final
}

Corpo de resposta:

{
    "sms": 123, // Quantidade de SMS enviados no período
    "whatsapp": 321, // Quantidade de mensagens WhatsApp enviados no período
    "clicks": 10 // Quantidade de Clicks nos links no período
}

GET /credits

Função: Obter dados de créditos gerais do usuário.

Corpo de envio:

{
    "email": "meu_usuario@example.com" 
}

Corpo de resposta:

{
    "sms": {
        "contracted": 0, // SMS Contratados
        "sent": 0, // SMS Enviados
        "available": 0 // SMS Disponíveis
    },
    "whatsapp": {
        "contracted": 0, // WhatsApp Contratados
        "sent": 0, // WhatsApp Enviados
        "available": 0 // WhatsApp Disponíveis
    }
}

GET /clicks

Função: Obter o número de clicks nos envios do usuário

Corpo de envio:

{
    "email": "meu_usuario@example.com", //campo obrigatório
    "Id": "id da automação ou id do broadcast", //campo opcional, caso preenchido, retornará dados apenas do id informado.
    //Campos de data (Opcionais), devem ter no máximo 90 dias de diferença entre si.
    "from_date": "2024-01-01", //Data inicial 
    "to_date": "2024-02-01" // Data final
}

Corpo de resposta:

{
    "sms": 123, // quantidade total de clicks
    "whatsapp": 321, // quantidade total de envios de mensagem whatsapp
    "clicks": 10, // quantidade total de envios de SMS
    "campaigns": [
        {
            "name": "pix gerado", // nome da campanha de automação 
            "clicks": 2, // quantidade de clicks da campanha em específico da automação 
            "sms": 23 // quantidade de SMS disparados na automação 
        }, 
        { 
            "name": "cartao pago", 
            "clicks": 2, 
            "sms": 10 
        }
    ], 
    "broadcasts": [
        { 
            "name": "promoção Carnaval", // nome da campanha do broadcast 
            "clicks": 5, // quantidade de clicks da campanha em específico do broadcast 
            "sms": 40 // quantidade de SMS disparados no broadcast 
        }, 
        {
            "name": "aposta tbt", 
            "clicks": 1, 
            "sms": 50 
        }
    ]
}

GET /phones-blacklist

Recupera todos os números da blacklist na conta de e-mail informada.

Corpo de envio:

{
    "email": "johndoe@email.com"
}

Corpo de resposta:

{
    "phones": [
        "51989261101",
        "51989261102",
        "51989261103"
    ]
}

POST /phones-blacklist

Inclusão de telefones na blacklist na conta de e-mail informada. Caso o número seja inválido, ele será descartado, não sendo incluído na blacklist.

Corpo de envio:

{
    "email": "johndoe@email.com",
    "phones": [
        51989261101,
        "51989261103"
    ]
}

Corpo de resposta:

{
    "message": "Blacklist atualizada com sucesso",
    "phones_count": 2
}

DELETE /phones-blacklist

Exclusão de telefones na blacklist.

Corpo de envio:

{
    "email": "johndoe@email.com",
    "phones": [
        51989261101,
        "51989261103"
    ]
}

Corpo de resposta:

{
    "message": "Números removidos da blacklist com sucesso",
    "phones_removed": 2
}

Dúvidas?

Em caso de dúvidas, entre em contato com nosso suporte.

PreviousAutenticaçãoNextIntegração

Last updated 2 months ago

🌐