API Tracksale

A API Tracksale foi desenvolvida com a finalidade de facilitar a comunicação de informações entre a Tracksale com outros sistemas, como softwares, CRM, ERP, plataformas diversas, etc. Ela foi desenvolvida seguindo o modelo de comunicação RESTful com JSON.

Com ela, é possível realizar uma série de automações para tornar o monitoramento da satisfação de clientes em tempo real, e também realizar consultas de dados junto à plataforma Tracksale, como importar o grau de satisfação de clientes para outros sistemas.

Para a utilização a API Tracksale, é preciso realizar uma configuração dentro da plataforma. Os passos a seguir descrevem como isso pode ser feito.

  1. Faça o login na Tracksale com uma conta de administrador.
  2. Acesse o menu Apps no canto superior direito junto ao nome do usuário.
  3. Clique em instalar no app "API RESTful".
  4. Na tela de criação API RESTful, preencha todos os campos.
  5. Após a criação do app, a chave de API vai ser gerada para ser utilizada.
  6. Pronto, sua chave de API está pronta para ser utilizada.

Toda a comunicação da API é feita a partir da URL base https://tracksale.co/api/v1.

A autenticação da API é feita a partir do Header HTTP Api-Key, onde o seu valor deve ser a chave de API em Base64. Você pode converter sua chave de API em Base64 pelo site base64encode.org

A seguir, são descritos os métodos disponíveis para API Tracksale.

  1. Listar Campanhas
    GET /campaign

    Método responsável por listar todas as campanhas e suas respectivas chaves de acesso para os demais métodos.

    Exemplo de retorno:
    {
        "error": {
            "code": 0,
            "msg":""
        },
        "items": [
          {
                "name": "Campanha 1",
                "campaign_key": "ddd058a0dd800614b42d42c8b6a6ceee"
          },
          {
                "name": "Campanha 2",
                "campaign_key": "5551b0546cc00bc97643c4522e31c999"
          }
        ]
    }
    
                                
  2. Agendar Disparo
    POST /dispatch ou POST /postSaleDispatch

    Método responsável pelo agendamento de disparos de pesquisas.

    Exemplo de chamada:
    {
        "campaign_key": "INSIRA A CHAVE DA CAMPANHA DESEJADA",
        "customers": [
            {
                "name":"Guilherme Tonioli",
                "email":"guilherme@tracksale.co",
                "tags" : [
                    {
                        "name" : "Estado",
                        "value" : "MG"
                    },
                    {
                        "name" : "Cidade",
                        "value" : "Belo Horizonte"
                    }
                ]
            }
        ],
        "schedule_time": 1438291800
    }
    
                                
    Parâmetros

    Parâmetro Tipo Obrigatório Descrição
    campaign_key String Sim (caso não utilize route_key) Chave da campanha alvo. Obtida pelo método GET /campaign
    route_key String Sim (caso não utilize campaign_key) Chave da rota de API. Obtida dentro da plataforma Tracksale
    customers Array Sim Lista dos clientes
    schedule_time Integer Não Data/hora no padrão timestamp (em segundos) para o agendamento do disparo

    customers Tipo Obrigatório Descrição
    name String Não Nome do cliente
    email String Sim (para disparos via email) Email do cliente
    phone String Sim (para disparos via SMS) Telefone do cliente
    identification String Não ID único do cliente
    tags Array Não Tags para adicionar informações adicionais ao cliente

    tags Tipo Obrigatório Descrição
    name String Sim Nome da tag
    value String Sim Valor da Tag


    Exemplo de retorno:
    {
        "error": {
            "code":0,
            "msg":"Disparo 'XTS123AQ' agendado!"
        }
    }
    
                                
  3. Inserir Respostas
    POST /answer ou POST /postSaleAction

    Método responsável pela inserção de respostas de clientes.

    Exemplo de chamada:
    {
        "campaign_key": "INSIRA A CHAVE DA CAMPANHA DESEJADA",
        "post_sale_actions":[
            {
                "name":"Carolina Ferreira",
                "email":"carolina@tracksale.co",
                "score":10,
                "justification":"Muito bom!",
                "createTime":1411506358,
                "tags" : [
                    {
                        "name" : "Estado",
                        "value" : "SP"
                    }
                ]
            }
        ]
    }
    
                                
    Parâmetros

    Parâmetro Tipo Obrigatório Descrição
    campaign_key String Sim (caso não utilize route_key) Chave da campanha alvo. Obtida pelo método GET /campaign
    route_key String Sim (caso não utilize campaign_key) Chave da rota de API. Obtida dentro da plataforma Tracksale
    post_sale_actions Array Sim Lista de respostas

    post_sale_actions Tipo Obrigatório Descrição
    name String Não Nome do cliente
    email String Não Email do cliente
    phone String Não Telefone do cliente
    identification String Não ID único do cliente
    score Interger Sim Nota do NPS (entre 0 e 10)
    justification String Não Comentário do cliente
    createTime Interger Não Data/hora da resposta no padrão timestamp (em segundos)
    tags Array Não Tags para adicionar informações adicionais ao cliente

    tags Tipo Obrigatório Descrição
    name String Sim Nome da tag
    value String Sim Valor da Tag


    Exemplo de retorno:
    {
        "error": {
            "code":0,
            "msg":"Opiniões de clientes inseridas"
        }
    }
    
                                
  4. Dados da Campanha
    GET /campaign/CHAVE

    Método que permite obter dados da campanha a partir de sua CHAVE ou por uma ROTA.

    Exemplo de chamada:
    Com a chave da Campanha desejada:
    GET /campaign/CHAVE
    Com a rota da Campanha desejada:
    GET /campaign/route/ROTA

    Exemplo de retorno:
    {
        "name" : "Satisfação de Compra",
        "questions":
            [
                {
                    "type" : "nps",
                    "title" : "O que poderíamos fazer para melhorar ...",
                    "question" : "Em uma escala de 0 a 10, o quanto...",
                    "secondary" : "Em poucas palavras, descreva..."
                },
                {
                    "type" : "nps",
                    "title" : "O que você particularmente recomendaria...",
                    "question" : "Com base na sua última compra, ..."
                }
            ]
    }
    

As informações disponíveis no Tracksale Live podem ser consumidas através de aplicações externas. Para isso, é preciso criar e configurar um novo Tracksale Live seguinte informações abaixo:

  1. Faça o login na Tracksale com uma conta de administrador.
  2. Acesse o menu Apps no canto superior direito junto ao nome do usuário.
  3. Clique em instalar no app "Tracksale Live".
  4. Na tela de criação Tracksale Live, preencha todos os campos.

    Atenção: apenas Tracksale Live públicos podem ser utilizados como API.
  5. Após a criação do app, o link do Tracksale Live vai ser gerado e já pode ser utilizado.
  6. Pronto, seu Tracksale Live já está pronto para ser utilizado.

Toda a comunicação da API é feita a partir da URL base https://tracksale.co/live/CHAVE.

A seguir, são descritos os métodos disponíveis para Tracksale Live.

  1. Obter Comentários
    GET /comments

    Método responsável por retornar os comentários dos clientes.

    Exemplo de chamada
                                    https://tracksale.co/live/9fcd63043104b23d81dd0334df6772f8/comments?start=01/01/2016&end=31/01/2016
                                
    Parâmetros

    Parâmetro Tipo Obrigatório Descrição
    start Date Não Data inicial no formato dd/mm/aaaa
    end Date Não Data final no formato dd/mm/aaaa
    limit Interger Não Total de comentários a serem retornado. Utilize -1 para retornar todos.
    tags Boolean Não Retorna as tags referentes às respostas
    justifReturn String Não Formato de retorno das justificativas.
    "array" - Retorna todas em um único array.
    "level" - Retorna formato JSON com subníveis de justificativas agrupadas.


    Exemplo de retorno:
    [
        {
            "time": 1454340407,
            "type": "Widget Modal",
            "name": "Carol",
            "email": "carol@tracksale.co",
            "identification": null,
            "phone": null,
            "nps_answer": 7,
            "nps_comment": null,
            "campaign_name": "NPS - Pagantes",
            "campaign_key": "f8908078aa815eb5bb52c83e2868ac42",
            "id": 6805511,
            "justifications": [],
            "picture": null,
            "tags": []
        }
    ]
    
                                
  2. NPS
    GET /global

    Método responsável por retornar a métrica do NPS.

    Exemplo de chamada:
                                    https://tracksale.co/live/9fcd63043104b23d81dd0334df6772f8/global?start=01/01/2016&end=31/01/2016
                                
    Parâmetros

    Parâmetro Tipo Obrigatório Descrição
    start Date Não Data inicial no formato dd/mm/aaaa
    end Date Não Data final no formato dd/mm/aaaa
    compare Boolean Não Retorna os dados do NPS referente ao período anterior do filtro de data.


    Exemplo de retorno:
    {
        "detractors": 2,
        "detractors_percentage": 3,
        "passives": 16,
        "passives_percentage": 23,
        "promoters": 50,
        "promoters_percentage": 74,
        "nps": 71,
        "compare": {
            "detractors": 8,
            "detractors_percentage": 13,
            "passives": 6,
            "passives_percentage": 10,
            "promoters": 46,
            "promoters_percentage": 77,
            "nps": 64
        }
    }
    
                                
  3. Categorias
    GET /categories

    Método responsável por retornar as categorias do NPS.

    Exemplo de chamada:
                                    https://tracksale.co/live/9fcd63043104b23d81dd0334df6772f8/categories?start=01/01/2016&end=31/01/2016
                                
    Parâmetros

    Parâmetro Tipo Obrigatório Descrição
    start Date Não Data inicial no formato dd/mm/aaaa
    end Date Não Data final no formato dd/mm/aaaa


    Exemplo de retorno:
    [
        {
            "name": "Produto",
            "total": 25,
            "color": "#F8D347"
        },
        {
            "name": "Entrega",
            "total": 66,
            "color": "#5DC96C"
        }
    ]
    
                                
  4. Status
    GET /status

    Método responsável por retornar os status do NPS.

    Exemplo de chamada:
                                    https://tracksale.co/live/9fcd63043104b23d81dd0334df6772f8/status?start=01/01/2016&end=31/01/2016
                                
    Parâmetros

    Parâmetro Tipo Obrigatório Descrição
    start Date Não Data inicial no formato dd/mm/aaaa
    end Date Não Data final no formato dd/mm/aaaa


    Exemplo de retorno:
    [
        {
            "name": "Pendente Cliente",
            "total": 25,
            "color": "#F8D347"
        },
        {
            "name": "Pendente Empresa",
            "total": 66,
            "color": "#5DC96C"
        },
        {
            "name": "Resolvido",
            "total": 66,
            "color": "#777777"
        }
    ]