API V2 Tracksale

A nova versão da API de integração da Tracksale foi criada com o objetivo de que as informações pudessem ter uma autenticação para serem acessadas. Dentre as diferenças entre a versão 1.0 e a 2.0, temos:
  • Agora 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 2.0 integra as funções da versão 1.0 da API live e API RESTful em uma só API com métodos diversos.
  • A nova API 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 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.

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

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" : [
        {
            "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" : [
        {
            "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:
{
    "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:
{
    "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.

    {
        "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.


    {
        "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
    }
}
 


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.

{
    "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"
                }
    ],
}

                            

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
Como no exemplo:

{
    "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
{
    "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:

{
    "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 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
{
    "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:

{
    "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
{
    "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


{
    "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.

[
    {
        "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"
            }
        ]
    }
]

                            
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)


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'