Operações básicas para manipulação de campanhas.
Nos cabeçalhos dos requests, é necessário incluir uma chave "token" cujo valor seja um token de API.
Criação
Criar uma nova campanha
Endpoint |
/api/v1/campaign |
Method |
POST |
Parâmetros
Corpo em JSON
name |
Nome da campanha |
obrigatório |
- |
campaign_type |
Tipo da campanha: Valores: transfer, ivr, broadcast |
opcional |
transfer |
script |
Texto com o script da campanha |
opcional |
- |
retry_count |
Número máximo de tentativas que um assinante receberá antes de ser marcado com erro |
opcional |
3 |
retry_seconds |
Número de segundos que o discador deve esperar antes de tentar ligar novamente para um assinante. |
opcional |
300 |
wrapup_time |
Número de segundos que o operador não receberá chamadas após desligar uma ligação. |
opcional |
30 |
min_call_ratio |
Valor mínimo da agressividade da campanha |
opcional |
1.0 |
max_call_ratio |
Valor máximo da agressividade da campanha |
opcional |
1.0 |
call_ratio_increase_step |
Valor indicando quanto o sistema irá aumentar a agressividade quando for necessário. |
opcional |
0.5 |
call_ratio_decrease_step |
Valor indicando quanto o sistema irá reduzir a agressividade quando for necessário. |
opcional |
1.0 |
call_ratio_analysis_interval |
Número em segundos que o sistema deverá aguardar antes de reavaliar a agressividade. |
opcional |
60 |
concurrent_calls |
Número de chamadas simultâneas permitidas. |
opcional |
30 |
Exemplo de requisição
curl -X POST \
https: //{{dominio}}.callwe.io /api/v1/campaign \
-H 'Content-Type: application/json' \
-H 'token: <EVOLUX_TOKEN>' \
-d '{
"name" : "Campanha de Teste" ,
"campaign_type" : "transfer" ,
"script" : "Hello, $name" ,
"retry_count" : 4,
"retry_seconds" : 120,
"wrapup_time" : 20,
"min_call_ratio" : 1,
"max_call_ratio" : 1,
"call_ratio_increase_step" : 0,
"call_ratio_decrease_step" : 0,
"call_ratio_analysis_interval" : 120,
"concurrent_calls" : 10
}'
|
Exemplo de respostas
{
"meta" : {
"status" : 201 ,
"message" : "Campaign created"
},
"data" : {
"campaign_type" : "transfer" ,
"name" : "Campanha de Teste" ,
"concurrent_calls" : 10 ,
"script" : "Hello, $name" ,
"max_call_ratio" : 1 ,
"min_call_ratio" : 1 ,
"id" : 3 ,
"retry_count" : 4 ,
"call_ratio_increase_step" : 0 ,
"retry_seconds" : 120 ,
"wrapup_time" : 20 ,
"call_ratio_analysis_interval" : 120 ,
"call_ratio_decrease_step" : 0 ,
"slug" : "campanha_de_teste2" ,
"call_ratio" : 1
}
}
|
{
"meta" : {
"status" : 400 ,
"message" : "Bad request"
},
"errors" : {
"name" : [
"This campaign Campanha de Teste is already in use"
]
}
}
|
{
"meta" : {
"status" : 400 ,
"message" : "Bad request"
},
"errors" : {
"campaign_type" : [
"Unallowed value any"
],
"name" : [
"Required field"
],
"min_call_ratio" : [
"Min value is 1.0"
],
"max_call_ratio" : [
"Min value is 1.0"
],
"retry_count" : [
"Min value is 0"
],
"call_ratio_increase_step" : [
"Min value is 0"
],
"retry_seconds" : [
"Min value is 0"
],
"wrapup_time" : [
"Min value is 0"
],
"call_ratio_analysis_interval" : [
"Min value is 0"
],
"call_ratio_decrease_step" : [
"Min value is 0"
],
"concurrent_calls" : [
"Min value is 1"
]
}
}
|
{
"meta" : {
"status" : 400 ,
"message" : "Missing token."
}
}
|
Edição
Atualizar uma campanha existente
Endpoint |
/api/v1/campaign/{campaign_id} |
Method |
PUT |
Corpo do JSON
Os parâmetros são os mesmos da criação, com a diferença de que são todos opcionais e não é possível alterar o tipo da campanha. Pode ser informado apenas o campo que deseja alterar.
Exemplo de requisição
curl - X POST \
https: //{{dominio}}.callwe.io / api / v1 / campaign / 1 \
- H 'Content-Type: application/json' \
- H 'token: <EVOLUX_TOKEN>' \
- d '{
"name" : "Cobrança" ,
"retry_count" : 4 ,
"retry_seconds" : 50
}'
|
Exemplo de resposta
{
"meta" : {
"status" : 200 ,
"message" : "Campaign updated"
},
"data" : {
"campaign_type" : "transfer" ,
"name" : "Cobrança" ,
"concurrent_calls" : 30 ,
"script" : "<p>Hello</p><p> </p>" ,
"max_call_ratio" : 3 ,
"min_call_ratio" : 2 ,
"id" : 1 ,
"retry_count" : 4 ,
"call_ratio_increase_step" : 0.5 ,
"retry_seconds" : 50 ,
"wrapup_time" : 30 ,
"call_ratio_analysis_interval" : 60 ,
"call_ratio_decrease_step" : 1 ,
"slug" : "teste" ,
"call_ratio" : 2
}
}
|
{
"meta" : {
"status" : 404 ,
"message" : "Campaign not found"
}
}
|
Iniciar uma campanha
Endpoint |
/api/v1/campaign/{campaign_id}/start |
Method |
POST |
Exemplo de requisição
curl - X POST \
https: / / ledev / api / v1 / campaign / 1 / start \
- H 'token: <EVOLUX_TOKEN>'
|
Exemplo de resposta
{
"meta" : {
"status" : 200 ,
"message" : "Campaign started"
}
}
|
{
"meta" : {
"status" : 422 ,
"message" : "Campaign Campanha de Teste doesn't have active rules."
},
"errors" : [
"Request well-formed but has a semantic impossibility."
]
}
|
Parar uma campanha
Endpoint |
/api/v1/campaign/{campaign_id}/stop |
Method |
POST |
Exemplo de requisição
curl - X POST \
https: / / ledev / api / v1 / campaign / 1 / stop \
- H 'token: <EVOLUX_TOKEN>'
|
Exemplo de resposta
{
"meta" : {
"status" : 200 ,
"message" : "Campaign stopped"
}
}
|