A API de integração da Track NPS foi criada com o objetivo de que as informações pudessem ter uma autenticação para serem acessadas. Entre as características, temos:
  • Um TOKEN é gerado através da nossa plataforma, ou de uma requisição. Desta forma, automatizamos todo o processo e também homologamos o acesso a informações.
  • A API integra as funções em uma só API com métodos diversos.
  • Trabalha com modelo RESTful com JSON.

Nessa documentaçao você encontrará também exemplos de códigos nas linguagem a sua escolha, que podem ser alterados a qualquer momento no botão a direita.

Essa API usa o protocolo HTTPS. Portanto todas as chamadas deverão começar com https://.

A API conta com uma trava de segurança que limita o número de requisições a 1000 em um intervalo de cinco minutos.

Caso sejam realizadas mais de 1000 requisições dentro deste intervalo, será retornado um erro com status 405 com uma validação CAPTCHA que deverá ser resolvida para continuar enviando requisições.

A utilização da API demanda o uso de uma chave que chamamos de TOKEN, o mesmo será responsável por autenticar o acesso ao sistema.

  1. Para isso 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 V2".
  4. Clicando em NOVO TOKEN.

  5. Um novo token será gerado.

  6. Um novo TOKEN será gerado e adicionado a lista, novas adições não inutilizam os anteriores.

Cada endpoint possui uma URL específica, verifique individualmente.

Usaremos o TOKEN que adquirimos no header (sem a necessidade de conversão para base64), para autenticarmos o acesso. Da seguinte forma:

  • Key Authorization
  • Value bearer TOKEN

Onde:

  • Authorization é a palavra Authorization
  • bearer é a palavra bearer e TOKEN é o TOKEN adquirido aqui

Listar Campanhas


Para listar as campanhas utilizaremos a seguinte configuração:

  • O método usado será : GET
  • A URL usada será : https://api.tracksale.co/v2/campaign

Esse método é responsável por listar todas as campanhas, seus códigos e alguns detalhes, como por exemplo as perguntas usadas.

É possível que se retorne apenas uma campanha específica, isso é possivel usando:

  • URL: https://api.tracksale.co/v2/campaign/Campaign_code

Onde Campaign_code é o código da campanha que você deseja obter informações.

Para pegar o código de uma campanha específica, deve-se primeiro listar todas as campanhas e pegar o atributo "code" do retorno.

Certifique-se de usar os parâmetros start e end no formato AAAA-MM-DD para receber dados de resposta como número de neutros, promotores, detratores e assim por diante.


Exemplo de retorno:

                    
{
    "name":"Customers_name",
    "code" : Campaign_code,
    "description" : Campaign_description,
    "detractors" : Detractors_name,
    "passives" : Neutrals_name,
    "promoters" : Promoters_name,
    "dispatches" : Dispatches_number,
    "comments" : Comments,
    "answers" : Answers,
    "main_channel" : "Main_channel",
    "create_time" : "Time_of_creation",
    "questions" : [
        {
            "id" : "Question_id",
            "type" : "Question_type",
            "title" : "Question_title",
            "question" : "Question",
            "secondary" : "Secondary_question"
        }
    ]
}
                    
                


Também é possível complementar o resultado da consulta com as informações de limitação de disparos. Para isso, utilize o parâmetro de query dispatch_limits com valor 1.

Se a campanha não utiliza esse recurso, os valores retornados serão null.

Exemplo de retorno:

                    
{
    "name":"Customers_name",
    "code" : Campaign_code,
    "description" : Campaign_description,
    "detractors" : Detractors_name,
    "passives" : Neutrals_name,
    "promoters" : Promoters_name,
    "dispatches" : Dispatches_number,
    "comments" : Comments,
    "answers" : Answers,
    "main_channel" : "Main_channel",
    "create_time" : "Time_of_creation",
    "questions" : [
        {
            "id" : "Question_id",
            "type" : "Question_type",
            "title" : "Question_title",
            "question" : "Question",
            "secondary" : "Secondary_question"
        }
    ],
    "dispatch_limits": {
        "daily": {
            "limit": null,
            "remaining": null
        },
        "weekly": {
            "limit": null,
            "remaining": null
        },
        "monthly": {
            "limit": null,
            "remaining": null
        }
    }
}
                    
                


Exemplos de código : Listar Campanhas

Tipo cURL

                        curl -X GET \
https://api.tracksale.co/v2/campaign \
-H 'authorization: bearer TOKEN' \
-H 'cache-control: no-cache'
                        
                    

Obter Widget


É possível buscar informações de um Widget criado como a quantidade de vezes que foi aberto, limites de abertura, seu identificador e nome.
  • O método usado será : GET
  • A URL usada será : https://api.tracksale.co/v2/widget/{key}

Onde {key} é o atributo chave que pode ser encotrado na personalização de um Widget.


Exemplo de retorno:

                    
{
    "id": 1,
    "name": "Widget",
    "views": {
        "daily": 2,
        "weekly": 0,
        "monthly": 0,
    },
    "limits": {
        "daily": 2,
        "weekly": 0,
        "monthly": 0,
        "has_limit": false,
        "limit_reached": "daily"
    }
}
                    
                

Checar Noventena


É possível checar se um cliente está sendo impactado pelas regras de noventena.
  • O método usado será : POST
  • A URL usada será : https://api.tracksale.co/v2/campaign/Campaign_code/can-impact
  • O JSON poderá usar um e-mail, número de telefone ou um identificador único da sua empresa para o cliente:

Exemplo de requisição:

                    
{
    "email": "Customer Email",
    // or
    "phone": "Customer Phone",
    // or
    "identification": "Customer Identification"
}
                    
                

Onde Campaign_code é o código da campanha que você deseja checar as informações.

Para pegar o código de uma campanha específica, deve-se primeiro listar todas as campanhas e pegar o atributo "code" do retorno.



Exemplo de retorno:

                    
{
"can_impact": true
}
                    
                

É possível criar links de pesquisa diretamente pela API respeitando a limitação de 500 clientes por requisição.
  • O método usado será : POST
  • A URL usada será : https://api.tracksale.co/v2/campaign/Campaign_code/survey-links
  • O JSON será um array de clientes como no exemplo abaixo:

Exemplo de requisição:

                    
{
    "customers": [
        {
            "name": "Customer Name",
            "email": "Customer Email",
            "phone": "Customer Phone",
            "tags": [
                {
                    "name": "Tag name",
                    "value": "Tag value"
                },
                {
                    "name": "Tag name",
                    "value": "Tag value"
                }
            ]
        }
    ]
}
                    
                

Onde Campaign_code é o código da campanha que você deseja checar as informações.

Para pegar o código de uma campanha específica, deve-se primeiro listar todas as campanhas e pegar o atributo "code" do retorno.



Exemplo de retorno:

                    
{
    "customers": [
        {
            "name": "Customer Name",
            "email": "Customer Email",
            "phone": "Customer Phone",
            "tags": [
                {
                    "name": "Tag name",
                    "value": "Tag value"
                },
                {
                    "name": "Tag name",
                    "value": "Tag value"
                }
            ],
            "survey_link": "https://tracksale.co/s/Survey_hash"
        }
    ]
}
                    
                

Onde Survey_hash é o identificador alfanumérico desse link.

Disparos


Os disparos podem ser realizados de duas formas diferentes:

Disparo Agendado:

  • O método usado será : POST
  • A URL usada será : https://api.tracksale.co/v2/campaign/Campaign_code/dispatch

    Onde Campaign_code é o código da campanha para qual você deseja disparar.

A existência da variável schedule_time é opcional.

Assim, temos duas opções:

  • Inserir a variável "schedule_time":

  • Dessa forma você você pode usar "schedule_time" para definir o momento onde o disparo deve ser efetuado, determinado no formato "Unix Timestamp" em segundos .
    O body ficará da seguinte forma

    O Exemplo a seguir mostra a inserção com todas as variáveis, mas existe casos em que as variáveis indentification, phone e email podem ser omitidas.

    Ex: Caso a campanha seja via SMS, não é necessário eviar o email, mas ele ainda pode ser enviado. Nas campanhas via email a variável phone não precisa ser enviada, mas caso seja necessário, existe a possibilidade de enviá-la.

    O envio de ambas variáveis é indicado caso use fluxo de campanhas.

    O envio de identification é opcional, porém, recomendado caso deseje identificar o cliente pelo mesmo parâmetro da sua empresa. O identification precisa ser um valor único para cada cliente. Se trata de um valor alfanumérico, passado entre aspas. Caso não seja utilizado, deve ser enviado null, sem aspas.



    Exemplo de requisição:

                        
    {
        "customers": [
            {
                "name":"Customers_name",
                "email":"Customers_email",
                "identification": null,
                "phone": "Customers_phone",
                "tags" : [
                    {
                        "name" : "TagExample",
                        "value" : "TagExample"
                    },
                    {
                        "name" : "TagExample",
                        "value" : "TagExample"
                    }
                ]
            }
        ],
        "schedule_time": Timestamp_in_seconds
    }
                        
                    

    Do tipo application/json


  • Não inserir a variável "schedule_time" :

  • Essa maneira deve ser usada caso sua intenção seja reunir vários disparos a uma campanha, para efetuá-los de uma só vez posteriormente. Dessa forma, será retornado um código do lote disparos, esse código deve ser usado no Disparo de lotes.



    Exemplo de requisição:

                        
    {
        "customers": [
            {
                "name":"Customers_name",
                "email":"Customers_email",
                "tags" : [
                    {
                        "name" : "TagExample",
                        "value" : "TagExample"
                    },
                    {
                        "name" : "TagExample",
                        "value" : "TagExample"
                    }
                ]
            }
        ],
    }
                        
                    

    Do tipo application/json

    Todos os disparos subsequentes a mesma campanha retornarão o mesmo lote de disparos até que você realize o disparo deste lote.



Parâmetros:


Atributos Tipos 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
tags Array Não Nome da tag
finish_time Integer Não Data de expiração da pesquisa, em segundos, no formato timestamp
tags Tipo Obrigatório Descrição
name String Sim Nome da tag
value String Sim Valor da Tag


Exemplo de retorno:


Sem schedule_time
                    
{
    "msg":"Customers have been successfully added!",
    "dispatch_code":"Dispatch_code",
    "status": {
        "duplicated":Number_of_duplications,
        "invalid":Number_of_invalids,
        "inserted":Number_of_insertions
    },
    "campaign": {
        "name":Campaign_name,
        "cod":Campaign_code
    }
}
                    
                

Exemplo de retorno:


Com schedule_time
                    
{
    "msg":"Dispatch executed!",
    "dispatch_code":"Dispatch_code",
    "status": {
        "duplicated":Number_of_duplications,
        "invalid":Number_of_invalids,
        "inserted":Number_of_insertions
    },
    "campaign": {
        "name":Campaign_name,
        "cod":Campaign_code
    }
}
                    
                

É possível também retornar um array com os customers que não foram inseridos, seja por que eram duplicados ou por que se encontravam inválidos.

Para isso, deve-se passar o parâmetro getNotInserted com o valor 1. Assim retornaremos da seguinte forma.


Exemplo de retorno:

                    
{
    "msg":"Dispatch executed!",
    "dispatch_code":"Dispatch_code",
    "status": {
        "duplicated":Number_of_duplications,
        "invalid":Number_of_invalids,
        "inserted":Number_of_insertions
    },
    "campaign": {
        "name":Campaign_name,
        "cod":Campaign_code
    }
    "duplicated_customers": [
                {
                    "name":"customer name",
                    "email":"email@email.com"
                }
    ],
    "invalid_customers": [
                {
                    "name":"customer name",
                    "reason":"Invalid or empty main channel"
                }
    ],
}
                    
                

Exemplos de código : Disparos

Tipo cURL

                        
curl -X POST \
  https://api.tracksale.co/v2/campaign/campaign_code/dispatch \
  -H 'authorization: bearer TOKEN' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
    "customers": [
        {
            "name":"Customers_name",
            "email":"Customers_email",
            "tags" : [
                {
                    "name" : "TagExample",
                    "value" : "TagExample"
                },
                {
                    "name" : "TagExample",
                    "value" : "TagExample"
                }
            ]
        }
    ],
    "schedule_time": Timestamp_in_Seconds
}'
                        
                    

Disparo de Lotes:


O disparo deste lote deve ser efetuado usando as seguintes configurações

  • O Método usado será: POST

  • A URL usada será: https://api.tracksale.co/v2/campaign/Campaign_code/dispatch/Codigo_lote


O body deve ser preenchido com o tempo que o disparo deve ser realizado em segundos, no formato timestamp.
Use 0 para um disparo instantâneo.


Exemplo de requisição:

                    
{
    "time": Timestamp_in_seconds
}
                    
                
Nome Tipo Obrigatório Descrição
time Integer Sim Tempo que o disparo será realizado, em segundos no formato timestamp

Exemplo de retorno:

                    
{
    "msg":"Dispatch executed!",
    "customers":"Number_of_customers",
}
                    
                

Exemplos de código : Disparo de lotes

Tipo cURL

                        
curl -X POST \
  https://api.tracksale.co/v2/campaign/campaign_code/dispatch/Codigo_lote \
  -H 'authorization: bearer TOKEN' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
    "time": Timestamp_in_Seconds
}'
                        
                    

Inserir Respostas


Fornecemos também um método de inserção de respostas. Esse método pode ser utilizado com os seguintes parâmetros.
  • O método será:POST
  • A URL a ser usada deve ser: https://api.tracksale.co/v2/answer
  • O body deve ser preenchido com o lote de respostas usando o seguinte padrão


Exemplo de requisição:

                    
{
    "campaign_code": "Campaign_code",
    "answers":[
        {
            "name":"Customers_name",
            "email":"Customers_email",
            "score":Customer_score,
            "justification":""Customers_comment"",
            "create_time":Timestamp_in_seconds,
            "tags" : [
                {
                    "name" : "TagExample",
                    "value" : "TagExample"
                }
            ]
        }
    ]
}
                    
                

Parâmetros:


Parâmetro Tipo Obrigatório Descrição
campaign_code String Sim Chave da campanha alvo. Obtida pelo método Listar campanhas
answers Array Sim Lista de respostas

answers Tipo Obrigatório Descrição
name String Sim Nome do cliente
email String Sim, se o disparo foi realizado por email Email do cliente
phone String Sim, se o disparo foi realizado por telefone Telefone do cliente
identification String Não Atributo identificador único da sua empresa para o cliente
score Integer Sim Score do cliente (entre 0 a 10)
justification String Não Comentário do cliente
create_time Integer Não Data/hora da resposta no padrão timestamp (em segundos)
tags Tipo Obrigatório Descrição
name String Sim Nome da tag
value String Sim Valor da Tag

Exemplo de retorno:

                    
{
    "msg":"Number_of_answers Answer inserted"
    "status": {
        "invalid":Number_of_invalids,
        "inserted":Number_of_insertions,

    }
}
                    
                

É possível também obter no retorno da requisição um array com os clientes que foram inseridos e os IDs de suas respectivas respostas.

Para isso, deve-se passar o parâmetro de query return_answer_id com o valor 1.

Assim retornaremos da seguinte forma:


Exemplo de retorno:

                    
{
    "msg":"Number_of_answers Answer inserted"
    "status": {
        "invalid":Number_of_invalids,
        "inserted":Number_of_insertions,

    }, 
    "answers": [ 
        {
            "answer_id": Answer_id,
            "name": "Customers_name",
            "email": "Customers_email",
            "phone": Customers_phone,
            "identification": "Customers_identification"
        }
    ]
}
                    
                

Exemplos de código : Inserir respostas

Tipo cURL

                        
curl -X POST \
https://api.tracksale.co/v2/answer \
  -H 'authorization: bearer TOKEN' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
    "campaign_code": "campaign_code",
    "answers":[
        {
            "name":"customers_name",
            "email":"customers_Email",
            "score":Customer_score,
            "justification":"customers_comment",
            "create_time":Timestamp_in_seconds,
            "tags" : [
                {
                    "name" : "TagExample",
                    "value" : "TagExample"
                }
            ]
        }
    ]
}'
                        
                    

Inserir Múltiplas Respostas


Método de inserção de múltiplas respostas para uma campanha. São aceitas respostas para campanhas com perguntas dos tipos: NPS, CSAT, Única Escolha, Review, Pergunta Aberta e NPS Secundária.
  • O método será:POST
  • A URL a ser usada deve ser: https://api.tracksale.co/v2/answers

O body deve ser preenchido com o lote de respostas usando o seguinte padrão:


Exemplo de requisição:

{
    "campaign_code": "Campaign_code",
    "data":[
        {
            "name":"Customers_name",
            "email":"Customers_email",
            "phone":"Customers_phone",
            "identification":"Customers_identification",
            "create_time":Timestamp_in_seconds,
            "answers":[
                {
                    "question_id":Question_id,
                    "score":Customer_score,
                    "justification":""Customers_comment""
                },
                {
                    "question_id":Question_id,
                    "option":Option_chosen,
                },
                {
                    "question_id":Question_id,
                    "comment":""Customers_comment""
                },
            ],
            "tags" : [
                {
                    "name" : "TagExample",
                    "value" : "TagExample"
                }
            ]
        }
    ]
}


Parâmetros:


Parâmetro Tipo Obrigatório Descrição
campaign_code String Sim Chave da campanha alvo. Obtida pelo método Listar campanhas
data Array Sim Lista de respostas

data Tipo Obrigatório Descrição
name String Sim Nome do cliente
email String Sim, se o disparo foi realizado por email Email do cliente
phone String Sim, se o disparo foi realizado por telefone Telefone do cliente
identification String Não Atributo identificador único da sua empresa para o cliente
create_time Integer Não Data/hora da resposta no padrão timestamp (em segundos)
answers Array Sim Lista de respostas às perguntas da campanha. Devem estar na mesma ordem definida na campanha.
tags Array Não Tags para adicionar informações ao cliente

answers Tipo Obrigatório Tipo de pergunta Descrição
question_id Integer Sim NPS, CSAT, Review, Única Escolha, Pergunta Aberta, NPS secundária Id da pergunta
score String|Integer Sim NPS, CSAT, Review, NPS secundária Nota do cliente.
justification String Não NPS, CSAT, Review, NPS secundária Comentário do cliente.
option String Não Única Escolha Opção escolhida pelo cliente. Opcional apenas caso a pergunta esteja configurada como opcional.
comment String Sim Pergunta Aberta Comentário do cliente.

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

Exemplo de retorno:


{
    "msg":"Number_of_answers Answer inserted",
    "status": {
        "invalid":Number_of_invalids,
        "inserted":Number_of_insertions,
    }, 
    "answers": [ 
        {
            "answer_id": Answer_id,
            "name": "Customers_name",
            "email": "Customers_email",
            "phone": Customers_phone,
            "identification": "Customers_identification"
        }
    ]
}

Exemplo de código: Inserir Múltiplas Respostas

A ordem das respostas deve estar na mesma ordem das perguntas definida na campanha. Caso contrário, a resposta será considerada inválida.

Tipo cURL

curl -X POST \
  https://api.tracksale.co/v2/answers \
  -H 'authorization: bearer TOKEN' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
    "campaign_code": "campaign_code",
    "data": [
        {
            "name": "customers_name",
            "email": "customers_email",
            "phone": "customers_phoneemail",
            "identification": "customers_identification",
            "create_time": Timestamp_in_seconds,
            "answers": [
                {
                    "question_id": 12345,
                    "score": 10,
                    "justification": "NPS example"
                },
                {
                    "question_id": 12345,
                    "score": 5,
                    "justification": "Review example"
                },
                {
                    "question_id": 12345,
                    "option": "Single Choice Question example"
                },
                {
                    "question_id": 12345,
                    "comment": "Open Question example"
                },
                {
                    "question_id": 12345,
                    "score": 10,
                    "justification": "Secondary NPS example"
                },
                {
                    "question_id": 12345,
                    "score": 5,
                    "justification": "CSAT example"
                }
            ],
            "tags": [
                {
                    "name": "TagExample",
                    "value": "TagExample"
                }
            ]
        }
    ]
}'

Inserir Notas Internas


Fornecemos também um método de inserção de notas internas. Esse método pode ser utilizado com os seguintes parâmetros.
  • O método será:POST
  • A URL a ser usada deve ser: https://api.tracksale.co/v2/note
  • O body deve ser preenchido com o comentário, usando o seguinte padrão

Exemplo de requisição:

                        
{
    "comment": "Comment_Text",
    "answer_id": Answer_ID
}
                         
                    

Parâmetros:


Parâmetro Tipo Obrigatório Descrição
comment String Sim Comentário a ser inserido na nota
answer_id Integer Não Id da resposta, caso não seja informado é necessário utilizar o filter abaixo
filter Array Não Se o ID da resposta não for enviado, o Filter deverá ser enviado usando o seguinte padrão:

Exemplo de requisição:

                        
{
    "comment": "Comment_Text",
    "filter": {
        "email":"Customer_Email",
        "start_date":"Start_Date",
        "end_date":"End_date"
    }    
}
                        
                    
Filtros Tipo Obrigatório Descrição
email String Não, para utilizar o filter é necessário utilizar pelo menos um identificador (e-mail ou phone ou identification) Email do cliente
phone String Não, para utilizar o filter é necessário utilizar pelo menos um identificador (e-mail ou phone ou identification) Telefone do cliente
identification String Não, para utilizar o filter é necessário utilizar pelo menos um identificador (e-mail ou phone ou identification) Identification do cliente
start_date Date Não, para utilizar o filter é necessário definir uma data Data pode ser utilizada no formato AAAA-MM-DD. Ex: 2017-01-31
end_date Date Não, para utilizar o filter é necessário definir uma data Data pode ser utilizada no formato AAAA-MM-DD. Ex: 2017-01-31
campaign_code String Não Code da campanha

Exemplo de retorno:

                        
{
    "msg":"Success",
    "answer_id":123456 
}
                        
                    

Preencher Tags Vazias


Fornecemos um método de solicitação de preenchimento de tags vazias. Esse método pode ser utilizado com os seguintes parâmetros.
  • O método será:POST
  • A URL a ser usada deve ser: https://api.tracksale.co/v2/fill-empty-tags
  • O body deve ser enviado com as tags a serem preenchidas na resposta, usando o seguinte padrão

Exemplo de requisição:

                        
{
    "answer_id": Answer_ID,
    "tags": [
        {
            "name": "Tag name",
            "value": "Tag value"
        },
        {
            "name": "Tag name",
            "value": "Tag value"
        }
    ]
}
                        
                    

Parâmetros:


Parâmetro Tipo Obrigatório Descrição
answer_id Integer Não Id da resposta, caso não seja informado é necessário utilizar o abaixo
tags Array Sim Nome da tag
customer Array Não Se o ID da resposta não for enviado, o customer deverá ser enviado usando o seguinte padrão:

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

Exemplo de requisição:

                        
{
    "campaign_code": "Campaign_code",
    "customer": {
        "email":"Customer_Email",
    },
    "tags": [
        {
            "name": "Tag name",
            "value": "Tag value"
        },
        {
            "name": "Tag name",
            "value": "Tag value"
        }
    ]
}
                        
                    
customer Tipo Obrigatório Descrição
email String Não, para utilizar o customer é necessário utilizar pelo menos um identificador (e-mail ou phone ou identification) Email do cliente
phone String Não, para utilizar o customer é necessário utilizar pelo menos um identificador (e-mail ou phone ou identification) Telefone do cliente
identification String Não, para utilizar o customer é necessário utilizar pelo menos um identificador (e-mail ou phone ou identification) Identification do cliente
campaign_code String Não Code da campanha

Exemplo de retorno:

                        
{
    "answer_id":12345,
    "msg":"Request received successfully!"    
}
                        
                    

Consultar lotes de rascunho


Para listar os lotes de rascunho utilizaremos a seguinte configuração

  • O método usado será :GET
  • A URL usada será :https://api.tracksale.co/v2/campaign/{code}/draft-lot

Este método é responsável por listar todos os lotes de rascunho da campanha.

Onde code é o código da campanha que você deseja obter informações.

Certifique-se de usar o parâmetro code.


Exemplo de retorno:

                        
{
    "lot": [    
        {    
            "code": "Lot_code",    
            "create_time": "Create_Time",    
            "total_dispatches": "Total_dispatches",    
        }
    ]
}
                        
                    

Descartar lotes de rascunho


Para descartar os lotes de rascunho utilizaremos a seguinte configuração

  • O método usado será :POST
  • A URL usada será :https://api.tracksale.co/v2/campaign/{code}/discard-lot/{lot_code}

Este método é responsável por descartar todos os lotes de rascunho da campanha.

Onde lot_code é o código do lote que você deseja realizar o descarte.

Certifique-se de usar o parâmetro lot_code.


Exemplo de retorno:

                        
{
    "success": true
}
                        
                    

Reports é nosso método para geração de relatórios, é responsável por mostrar detalhes de todas suas campanhas ou de uma campanha.

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

Onde DETALHES deverá ser substituído pelos detalhes que você deseja obter através da requisição

O método a ser usado será o GET

    O header deve ser preenchido com os parametros onde
  • Key Authorization
  • Value bearer TOKEN

Comentários


O método a ser usado deve ser :GET

A URL a ser usada deve ser :https://api.tracksale.co/v2/report/answer

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


Parâmetros:


Parâmetro Tipo Padrão Obrigatório Descrição
start Date Por padrão mostraremos resultados 30 dias anteriores a data que está realizando a requisição
(Ex: se você está fazendo essa requisição no dia 31/01/2017 e não incluir o intervalo inicial e final que você deseja fazer sua pesquisa, o período retornado será de 01/01/2017 a 31/01/2017)
Não Data pode ser utilizada no formato AAAA-MM-DD ou especificando a hora no formato AAAA-MM-DDTHH:mm:ss. Ex: 2017-01-31T12:00:00
end Date Por padrão mostraremos resultados 30 dias anteriores a data que está realizando a requisição
(Ex: se você está fazendo essa requisição no dia 31/01/2017 e não incluir o intervalo inicial e final que você deseja fazer sua pesquisa, o período retornado será de 01/01/2017 a 31/01/2017)
Não Data pode ser utilizada no formato AAAA-MM-DD ou especificando a hora no formato AAAA-MM-DDTHH:mm:ss. Ex: 2017-01-31T12:00:00
limit Integer Por padrão mostrará 10 comentários por requisição. Não Total de comentários a serem retornados. Utilize -1 para retornar todos.
tags Boolean Por padrão é falso, ou seja, nenhuma tag será mostrada. Não Retorna as tags referentes às respostas
justifReturn String Por padrão mostraremos o formato "level" Não

Formato de retorno das justificativas.


"array" -

Retorna todas em um único array.


"level" -

Retorna formato JSON com subníveis de justificativas agrupadas.

codes String Por padrão mostrará os comentários de todas as campanhas Não Usado para mostrar os comentários de uma campanha específica, ou os comentários de todas as campanhas. Pode-se também mostrar os comentários de mais de uma campanha por vez, para isso utilize a vírgula como separador (Ex: codes=52,51,50 mostrará os comentários das campanhas cujo Campaign_code é 50, 51 e 52)
review Integer Por padrão é 0, ou seja, nenhum comentário é retornado Não Usado para mostrar as notas e comentários de perguntas do tipo Review.
nps_secondary Integer Por padrão é 0, ou seja, nenhum comentário é retornado Não Usado para mostrar as notas e comentários das demais perguntas do tipo NPS além da pergunta do tipo NPS obrigatória em toda campanha.
open_question Integer Por padrão é 0, ou seja, nenhum comentário é retornado Não Usado para mostrar os comentários de perguntas do tipo Pergunta Aberta.
csat Integer Por padrão é 0, ou seja, nenhum comentário é retornado Não Usado para mostrar os comentários de perguntas do tipo CSAT.
return_update_time Boolean Por padráo é false Não Retorna a data da última alteração efetuada na opinião, como por exemplo, mudanças de responsável, status ou categoria.

Exemplo de retorno:

                        
[                    
    {
        "time": 1454340407,
        "type": "Email",
        "name": "Customers_name",
        "email": "Customers_email",
        "identification": null,
        "phone": "Customers_phone",
        "alternative_email": "Customers_email",
        "alternative_phone": "Customers_phone",
        "nps_answer": Score,
        "last_nps_answer": Score,
        "nps_comment": Comment,
        "campaign_name": "Campaign_name",
        "campaign_code": "Campaign_code",
        "lot_code": "ABCDEFG123",
        "id": 6805511,
        "deadline": null,
        "elapsed_time": 17,
        "dispatch_time": null,
        "reminder_time": null,
        "status": "Status",
        "priority": "None",
        "assignee": "Assignee_name",
        "picture": null,
        "tags": [],
        "categories": [],
        "justifications": [],
        "review": [],
        "nps_secondary": [],
        "open_question": [],
        "csat": [],
        "update_time": 1454340407
    }
]
                        
                    

Disparos


O método a ser usado deve ser : GET

A URL a ser usada deve ser:https://api.tracksale.co/v2/report/dispatch

Método responsável por retornar os disparos e seus dados, como clientes inseridos , a hora que foi realizado, seu status e os clientes que foram inseridos no mesmo.


Exemplo de retorno:

                        
[
    {
        "campaign": {
            "name": "Camapaign_name",
            "code": "Campaign_code"
        },
        "dispatch_code": "Code_of_dispatch",
        "status": Status_of_dispatch,
        "create_time": "Campaign_creation_time",
        "customers": [
            {
                "name": "Customers_name",
                "identification": null,
                "email": "Customers_email",
                "phone": "Customers_phone",
                "dispatch_time": "Code_of_dispatch",
                "status": "Status_of_dispatch",
                "has_answered": "Status_of_answer"
            }
        ],
        "channel": "Channel_of_dispatch"
    }
]
                    
                

Parâmetros:


Parâmetro Tipo Padrão Obrigatório Descrição
start Date Por padrão mostraremos resultados 30 dias anteriores a data que está realizando a requisição
(Ex: se você está fazendo essa requisição no dia 31/01/2017 e não incluir o intervalo inicial e final que você deseja fazer sua pesquisa, o período retornado será de 01/01/2017 a 31/01/2017)
Não Data pode ser utilizada no formato AAAA-MM-DD ou especificando a hora no formato AAAA-MM-DDTHH:mm:ss. Ex: 2017-01-31T12:00:00
end Date Por padrão mostraremos resultados 30 dias anteriores a data que está realizando a requisição
(Ex: se você está fazendo essa requisição no dia 31/01/2017 e não incluir o intervalo inicial e final que você deseja fazer sua pesquisa, o período retornado será de 01/01/2017 a 31/01/2017)
Não Data pode ser utilizada no formato AAAA-MM-DD ou especificando a hora no formato AAAA-MM-DDTHH:mm:ss. Ex: 2017-01-31T12:00:00
codes String Por padrão mostrará os comentários de todas as campanhas Não Usado para mostrar os comentários de uma campanha específica, ou os comentários de todas as campanhas. Pode-se também mostrar os comentários de mais de uma campanha por vez, para isso utilize a vírgula como separador. (Ex: codes=52,51,50 mostrará os comentários das campanhas cujo Campaign_code é 50, 51 e 52)
channel Boolean Por padrão é false, ou seja, não retorna o canal dos disparos. Não Usado para retornar o canal de envio dos disparos. Por exemplo: Email, WhatsApp, SMS, etc.

Disparos Paginados


O método a ser usado deve ser :GET

A URL a ser usada deve ser:https://apiv3.track.co/dispatch

Método responsável por retornar de forma paginada os disparos e seus dados, a hora que foi realizado, seu status e os clientes que foram inseridos no mesmo.

É possível que se retorne apenas um lote específico, isso é possivel usando

  • URL: https://apiv3.track.co/dispatch/Dispatch_code

Onde Dispatch_code é o código do lote de disparo que você deseja obter informações.

Ao filtrar por um código de lote específico, os parâmetros start e end serão desconsiderados.


Exemplo de retorno:

                        
{
    "code": "Response_code",
    "status": "Response_status",
    "data": 
        [
            {
            "campaign": 
                {
                "code": "Campaign_code",
                "name": "Campaign_name"
                },
            "lot": 
                {
                "create_time": "Campaign_creation_time",
                "dispatch_code": "Code_of_dispatch",
                "status": "Status_of_dispatch",
                "channel": "Channel_of_dispatch"
                },            
            "customer": 
                {
                "name": "Customers_name",
                "identification": null,
                "email": "Customers_email",
                "phone": "Customers_phone",
                "dispatch_time": "Code_of_dispatch",
                "status": "Status_of_dispatch",
                "has_answered": "Status_of_answer",
                "survey_opened": "Survey_opened"
                },
            }
        ]
}
                        
                    

Parâmetros:


Parâmetro Tipo Padrão Obrigatório Descrição
start Date Por padrão mostraremos resultados 30 dias anteriores a data que está realizando a requisição
(Ex: se você está fazendo essa requisição no dia 31/01/2017 e não incluir o intervalo inicial e final que você deseja fazer sua pesquisa, o período retornado será de 01/01/2017 a 31/01/2017)
Não Data pode ser utilizada no formato AAAA-MM-DD ou especificando a hora no formato AAAA-MM-DDTHH:mm:ss. Ex: 2017-01-31T12:00:00
end Date Por padrão mostraremos resultados 30 dias anteriores a data que está realizando a requisição
(Ex: se você está fazendo essa requisição no dia 31/01/2017 e não incluir o intervalo inicial e final que você deseja fazer sua pesquisa, o período retornado será de 01/01/2017 a 31/01/2017)
Não Data pode ser utilizada no formato AAAA-MM-DD ou especificando a hora no formato AAAA-MM-DDTHH:mm:ss. Ex: 2017-01-31T12:00:00
codes String Por padrão mostrará os comentários de todas as campanhas Não Usado para mostrar os comentários de uma campanha específica, ou os comentários de todas as campanhas. Pode-se também mostrar os comentários de mais de uma campanha por vez, para isso utilize a vírgula como separador. (Ex: codes=52,51,50 mostrará os comentários das campanhas cujo Campaign_code é 50, 51 e 52)
channel Boolean Por padrão é false, ou seja, não retorna o canal dos disparos. Não Usado para retornar o canal de envio dos disparos. Por exemplo: Email, WhatsApp, SMS, etc.
tags Boolean Por padrão é false, ou seja, não retorna as tags referentes aos disparos. Não Usado para retornar as tags referentes aos disparos. Por exemplo: Cidade, Departamento, Produto, etc.
page Integer Por padrão é igual à 1, ou seja, retorna a primeira página dos disparos. 1 Usado para obter determinada página dos disparos.
limit Integer Por padrão é igual à 100, retorna até 100 registros por página. 100 Usado para controlar a quantidade de registros obtidas em cada página, podendo variar de 100 até 10.000.

NPS


O método a ser usado deve ser : GET

A URL a ser usada deve ser:https://api.tracksale.co/v2/report/nps

Método responsável por retornar o numero de disparos, os numeros de detratores, promotores e neutros e suas respectivas porcentagens e também o valor do nps.


Parâmetros:


Parâmetro Tipo Padrão Obrigatório Descrição
start Date Por padrão mostraremos resultados 30 dias anteriores a data que está realizando a requisição
(Ex: se você está fazendo essa requisição no dia 31/01/2017 e não incluir o intervalo inicial e final que você deseja fazer sua pesquisa, o período retornado será de 01/01/2017 a 31/01/2017)
Não Data inicial no formato aaaa-mm-dd
end Date Por padrão mostraremos resultados 30 dias anteriores a data que está realizando a requisição
(Ex: se você está fazendo essa requisição no dia 31/01/2017 e não incluir o intervalo inicial e final que você deseja fazer sua pesquisa, o período retornado será de 01/01/2017 a 31/01/2017)
Não Data final no formato aaaa-mm-dd
compare Boolean Por padráo é false Não Retorna os dados do NPS referente ao período anterior do filtro de data.
codes String Por padrão mostrará os comentários de todas as campanhas Não Usado para mostrar os comentários de uma campanha específica, ou os comentários de todas as campanhas. Pode-se também mostrar os comentários de mais de uma campanha por vez, para isso utilize a vírgula como separador (Ex: codes=52,51,50 mostrará os comentários das campanhas cujo Campaign_code é 50, 51 e 52)

Exemplo de retorno:

                    
{
    "dispatches": Number_of_dispatches,
    "promoters": Number_of_promoter,
    "detractors": Number_of_detractors,
    "passives": Number_of_neutrals,
    "detractors_percentage": Percentage_of_detractors,
    "passives_percentage": Percentage_of_neutrals,
    "promoters_percentage": Percentage_of_promoters,
    "nps": Period_NPS,
    "compare": {
        "dispatches": Number_of_dispatches,
        "promoters": Number_of_promoter,
        "detractors": Number_of_detractors,
        "passives": Number_of_neutrals,
        "detractors_percentage": Percentage_of_detractors,
        "passives_percentage": Percentage_of_neutrals,
        "promoters_percentage": Percentage_of_promoters,
        "nps": Period_NPS,
    }
}
                        
                    

Categorias


O método a ser usado deve ser :GET

A URL a ser usada deve ser: https://api.tracksale.co/v2/report/category

Método responsável por retornar as categorias das campanhas de acordo com o NPS.


Parâmetros:

Parâmetro Tipo Padrão Obrigatório Descrição
start Date Por padrão mostraremos resultados 30 dias anteriores a data que está realizando a requisição
(Ex: se você está fazendo essa requisição no dia 31/01/2017 e não incluir o intervalo inicial e final que você deseja fazer sua pesquisa, o período retornado será de 01/01/2017 a 31/01/2017)
Não Data pode ser utilizada no formato AAAA-MM-DD ou especificando a hora no formato AAAA-MM-DDTHH:mm:ss. Ex: 2017-01-31T12:00:00
end Date Por padrão mostraremos resultados 30 dias anteriores a data que está realizando a requisição
(Ex: se você está fazendo essa requisição no dia 31/01/2017 e não incluir o intervalo inicial e final que você deseja fazer sua pesquisa, o período retornado será de 01/01/2017 a 31/01/2017)
Não Data pode ser utilizada no formato AAAA-MM-DD ou especificando a hora no formato AAAA-MM-DDTHH:mm:ss. Ex: 2017-01-31T12:00:00
codes String Por padrão mostrará os comentários de todas as campanhas Não Usado para mostrar os comentários de uma campanha específica, ou os comentários de todas as campanhas. Pode-se também mostrar os comentários de mais de uma campanha por vez, para isso utilize a vírgula como separador. (Ex: codes=52,51,50 mostrará os comentários das campanhas cujo Campaign_code é 50, 51 e 52)

Exemplo de retorno:

                    
[
    {
        "id": 6805511,
        "name": "Product",
        "color": "#F8D347",
        "total": 25,
        "nps": Period_NPS,
        "total": total,

    }
]
                        
                    

Obter status das campanhas


O método a ser usado deve ser :GET

A URL a ser usada deve ser: https://api.tracksale.co/v2/report/status

Método responsável por retornar os status das campanhas.


Parâmetros:


Parâmetro Tipo Padrão Obrigatório Descrição
start Date Por padrão mostraremos resultados 30 dias anteriores a data que está realizando a requisição
(Ex: se você está fazendo essa requisição no dia 31/01/2017 e não incluir o intervalo inicial e final que você deseja fazer sua pesquisa, o período retornado será de 01/01/2017 a 31/01/2017)
Não Data pode ser utilizada no formato AAAA-MM-DD ou especificando a hora no formato AAAA-MM-DDTHH:mm:ss. Ex: 2017-01-31T12:00:00
end Date Por padrão mostraremos resultados 30 dias anteriores a data que está realizando a requisição
(Ex: se você está fazendo essa requisição no dia 31/01/2017 e não incluir o intervalo inicial e final que você deseja fazer sua pesquisa, o período retornado será de 01/01/2017 a 31/01/2017)
Não Data pode ser utilizada no formato AAAA-MM-DD ou especificando a hora no formato AAAA-MM-DDTHH:mm:ss. Ex: 2017-01-31T12:00:00
codes String Por padrão mostrará os comentários de todas as campanhas Não Usado para mostrar os comentários de uma campanha específica, ou os comentários de todas as campanhas. Pode-se também mostrar os comentários de mais de uma campanha por vez, para isso utilize a vírgula como separador. (Ex: codes=52,51,50 mostrará os comentários das campanhas cujo Campaign_code é 50, 51 e 52)

Exemplo de retorno:

                    
[
    {
        "id": 76,
        "name": "Pendente Cliente",
        "total": 25,
        "color": "#F8D347"
    }
]
                        
                    

Exemplos de código : Reports /DETALHES

Tipo cURL

                        
curl -X GET \
  'https://api.tracksale.co/v2/report/DETALHES?start=DATA_INICIO&end=DATA_FIM' \
  -H 'authorization: bearer TOKEN' \
  -H 'cache-control: no-cache'