Ir para o conteúdo

OMNI

Criação de script

Para enviar uma envio OMNI, você precisa executar o método POST /omni-task-api/tasks, passando parâmetros no corpo com a indicação dados de autorização no cabeçalho.

Parâmetros de solicitação

Parâmetro Tipo de dados Descrição e valores permitidos
taskName string Nome para envio
type string Tipo de envio. Valores possíveis: SIMPLE, API
channel string Canal de envio. Valores possíveis: SMS, EMAIL, VIBER, PUSH
addressBookSource object Parâmetros do banco de dados de contato
addressBookSourceType string Tipo do banco de dados de contato. Valores possíveis: SIMPLE
byTimeZone boolean Se deve ou não considerar o tempo de contato local ao enviar
checkDuplicate boolean Se deve ou não enviar uma mensagem para contatos duplicados
contactGroupIds array[integer] Matriz de identificadores de folha
period string Tipo de período. Preenchido se type=PERIODIC. Valores possíveis: ONCE, DAILY, WEEKLY, MONTHLY
segmentIds array[integer] Uma matriz de identificadores de segmento
smoothSendMinutes integer Envio suave, definido em minutos
stopContactGroupIds array[integer] Matriz de identificadores de listas de parada
triggers object Parâmetros de gatilho
index integer Identificador de gatilho
parentIndex integer Identificador de gatilho pai
startTime string Data de início do gatilho
endTime string Data de término do acionador
type string Tipo de gatilho. Valores possíveis: ADDRESS_BOOK_SOURCE, EVENT_SOURCE, NO_EVENT_SOURCE, TRAN_API_SOURCE
channel string Canal de gatilho. Valores possíveis: SMS, EMAIL, VIBER, PUSH
eventSources array[object] Matriz de eventos para o gatilho
Preenchido da seguinte forma
{
"channel": "SMS" //canal do gatilho pai,
"eventType": "STATE" // tipo de evento, enquanto apenas STATE
"eventValue": "string" //status da mensagem
}
template object Modelo para envio (descrição detalhada em "Preenchendo modelos")

Informação

eventSources.eventValue pode assumir os seguintes valores:
SMS: delivered ou expired
VIBER: delivered, expired, opened ou clicked
EMAIL: delivered, opened, clicked, unsubscribed ou subscribed

Preenchendo modelos

Parâmetro Tipo de dados Descrição e valores permitidos
smsTemplate Modelo de mensagem SMS
from string Nome do remetente
text string Mensagem de texto
validity integer Vida útil da mensagem
viberTemplate Modelo de mensagem Viber
action string Botão de link
caption string Nome do botão
from string Nome do remetente
image string Cenário
text string Mensagem de texto
validity integer Vida útil da mensagem
emailTemplate Modelo de email
attachmentIds array[integer] Matriz de arquivos adicionados
htmlBody string Texto html da carta
plainText string Texto da carta
sourceAddress string Endereço do remetente
sourceName string Nome do remetente
subject string Assunto da carta
pushTemplate Modelo de mensagem push
android object Configurações específicas do Android
apns object Configurações específicas do iOs
badge integer Número no crachá
from integer Identificador do remetente
options object Dados adicionais no formulário:
{
"additionalProp1": "string",
"additionalProp2": "string",
"additionalProp3": "string"
}
silentPush boolean Silent Push
text string Mensagem de texto
title string O título da mensagem
validity integer Vida útil da mensagem

Solicitar exemplo

```json tab="JSON" POST https://api.devino.online/omni-task-api/tasks Authorization: Key QWxhZGRpbjpvcGVuIHNlc2FtZQ== Content-Type: application/json Accept: application/json { "taskName": "NEW_SMS", "type": "SIMPLE", "channel": "SMS", "addressBookSource": { "contactGroupIds": [111], "addressBookSourceType": "SIMPLE", "period": "ONCE" }, "triggers": [ { "index": 321, "startTime": "2020-06-02 11:00:00", "endTime": "2020-06-02 12:00:00", "type": "ADDRESS_BOOK_SOURCE", "channel": "SMS", "eventSources": [ { "channel": "SMS", "eventType": "STATE", "eventValue": "delivered" } ], "template": { "smsTemplate": { "text": "We have new shop!", "from": "TEST", "validity": 600 } } } ] }

```curl tab="cURL"
curl -X POST "https://api.devino.online/omni-task-api/tasks" \
-H "Authorization: Key QWxhZGRpbjpvcGVuIHNlc2FtZQ==" \
-H "Content-Type: application/json" \
-d "{\"taskName\": \"NEW_SMS\", \"type\": \"SIMPLE\", \"channel\": \"SMS\", \"addressBookSource\": { \"contactGroupIds\": [111], \"addressBookSourceType\": \"SIMPLE\", \"period\": \"ONCE\" }, \"triggers\": [ { \"index\": 321, \"startTime\": \"2020-06-02 11:00:00\", \"endTime\": \"2020-06-02 12:00:00\", \"type\": \"ADDRESS_BOOK_SOURCE\", \"channel\": \"SMS\", \"eventSources\": [ { \"channel\": \"SMS\", \"eventType\": \"STATE\", \"eventValue\": \"delivered\" } ], \"template\": { \"smsTemplate\": { \"text\": \"We have new shop!\", \"from\": \"TEST!\", \"validity\": 600 } } } ]}"

Resposta exemplo

```json tab="JSON" { "result": { "code": "OK", "result": "7003" } }

## Obtendo um script específico

Para obter o script OMNI você precisa executar o método **GET /omni-task-api/tasks/{taskId}**, passando parâmetros no corpo com a indicação [dados de autorização](../index.md#_3) no cabeçalho.


### Parâmetros de solicitação

| Parâmetro | Tipo de dados | Descrição e valores permitidos |
|----------|------------|--------------------------------|
| **taskId** | integer | Identificador de envio |


### Solicitar exemplo

```json tab="JSON"
GET https://api.devino.online/omni-task-api/tasks/{taskId}
Authorization: Key QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Content-Type: application/json
Accept: application/json
{
    "taskId": 7003
}

```curl tab="cURL" curl -X GET "https://api.devino.online/omni-task-api/tasks/7003" \ -H "Authorization: Key QWxhZGRpbjpvcGVuIHNlc2FtZQ=="

### Parâmetros de resposta

| Parâmetro |  | Tipo de dados | Descrição e valores permitidos |
|----------|---|------------|--------------------------------|
| **id** | | integer | Identificador de envio |
| **taskName** | | integer | Nome para envio |
| **userId** | | integer | Identificador do usuário |
| **companyId** | | integer | Identificador da empresa |
| **officeId** | | integer | Identificador da concessionária |
| **creationDate** | | string | Data de criação de envio |
| **type** | | string | Tipo de envio. Valores possíveis: `SIMPLE`, `API` |
| **channel** | | string | Canal de envio. Valores possíveis: `SMS`, `EMAIL`, `VIBER`, `PUSH` |
| **state** | | string | Status de envio. Valores possíveis: `DRAFT`, `NEW`, `STARTED`, `STOPPED`, `FINISHED`, `DELETED_FINISHED`, `DELETED_DRAFT`, `FAILED` |
| **triggersInfo** | | array[object] | Parâmetros de gatilho |
| | **triggerId** | integer | Identificador de gatilho |
| | **taskName** | integer | Nome para envio |
| | **userId** | integer | Identificador do usuário |
| | **companyId** | integer | Identificador da empresa |
| | **officeId** | integer | Identificador da concessionária |
| | **startTime** | string | Data de início do gatilho |
| | **endTime** | string | Data de término do acionador |
| | **type** | string | Tipo de gatilho. Valores possíveis: `ADDRESS_BOOK_SOURCE`, `EVENT_SOURCE`, `NO_EVENT_SOURCE` |
| | **channel** | string | Canal de gatilho. Valores possíveis: `SMS`, `EMAIL`, `VIBER`, `PUSH` |
| | **counters** | object | Lista de contadores<br>{<br>"totalCount": 1 //total de mensagens,<br>"successCount": 0, //mensagens de sucesso<br>"errorCount": 0 //mensagens de erro<br>} |
| | **externalId** | string | Externo identificador |


### Resposta exemplo

```json tab="JSON"
{
  "result": {
    "id": "7003",
    "taskName": "NEW_SMS",
    "userId": 22,
    "companyId": 50,
    "officeId": 1,
    "creationDate": "2020-06-02 07:59:08",
    "type": "SIMPLE",
    "channel": "SMS",
    "state": "NEW",
    "triggersInfo": [
      {
        "triggerId": "511",
        "taskId": "7003",
        "userId": 22,
        "companyId": 50,
        "officeId": 1,
        "startTime": "2020-06-02 11:00:00",
        "endTime": "2020-06-02 12:00:00",
        "state": "NEW",
        "type": "ADDRESS_BOOK_SOURCE",
        "channel": "SMS",
        "counters": {
          "totalCount": 1,
          "successCount": 0,
          "errorCount": 0
        },
        "externalId": "CAEF899C-C583-4DA4-B06D-8D364E6E14DE"
      }
    ]
  }
}

Obtendo scripts

Para obter scripts OMNI você precisa executar o método GET /omni-task-api/tasks, passando parâmetros no corpo com a indicação dados de autorização no cabeçalho.

Parâmetros de solicitação

Parâmetro Tipo de dados Descrição e valores permitidos
ascending boolean Ordem de classificação do campo orderBy:
true - ascendente
false - descendente
channel
(optional)
string Canal de envio. Valores possíveis: SMS, EMAIL, VIBER, PUSH
count integer Número de linhas para exibir
createdDateFrom
(optional)
string Data a partir da qual a pesquisa vai pela Data de criação do mailing, como yyyy-mm-dd hh:mm:ss
createdDateTo
(optional)
string A data em que a pesquisa é realizada pela Data de criação do mailing, como yyyy-mm-dd hh:mm:ss
endDateFrom
(optional)
string A data a partir da qual a pesquisa está indo pela Data de conclusão do último canal de mailing, como yyyy-mm-dd hh:mm:ss
endDateTo
(optional)
string A data em que a pesquisa está em andamento até a data de término do último canal de correspondência, como yyyy-mm-dd hh:mm:ss
excludedStates
(optional)
array[string] Matriz de status de pesquisa ausentes (excluímos esses status da pesquisa). Valores possíveis: DRAFT, NEW, STARTED, STOPPED, FINISHED, DELETED_FINISHED, DELETED_DRAFT, FAILED, STOPPED_BALANCE_BLOCKED
includedStates
(optional)
array[string] Matriz de status de pesquisa (incluímos esses status na pesquisa). Valores possíveis: DRAFT, NEW, STARTED, STOPPED, FINISHED, DELETED_FINISHED, DELETED_DRAFT, FAILED, STOPPED_BALANCE_BLOCKED
name
(optional)
string Nome de envio
offset integer De qual linha produzir o resultado (deslocamento)
orderBy string O campo pelo qual classificar. Valores possíveis: ID, NAME, STATE, CREATION_DATE
startDateFrom
(optional)
string Data a partir da qual a pesquisa é realizada pela Data de início do envio yyyy-mm-dd hh:mm:ss
startDateTo
(optional)
string A data em que a pesquisa é realizada pela Data de início do envio, no formato yyyy-mm-dd hh:mm:ss
types
(optional)
array[string] Matriz de tipos de envio. Valores possíveis: SIMPLE, API

Solicitar exemplo

```json tab="JSON" GET https://api.devino.online/omni-task-api/tasks Authorization: Key QWxhZGRpbjpvcGVuIHNlc2FtZQ== Content-Type: application/json Accept: application/json { "ascending": true, "count": 10, "offset": 0, "orderBy": "ID" }

```curl tab="cURL"
curl -X GET "https://api.devino.online/omni-task-api/tasks?ascending=true&count=10&offset=0&orderBy=ID \
-H "Authorization: Key QWxhZGRpbjpvcGVuIHNlc2FtZQ=="

Parâmetros de resposta

Parâmetro Tipo de dados Descrição e valores permitidos
channel string Canal de envio. Valores possíveis: SMS, EMAIL, VIBER, PUSH
companyId integer Identificador da empresa
creationDate string Data de criação de envio
id integer Identificador de envio
officeId integer Identificador da concessionária
state string Status de envio. Valores possíveis: DRAFT, NEW, STARTED, STOPPED, FINISHED, DELETED_FINISHED, DELETED_DRAFT, FAILED
taskName integer Nome para envio
triggersInfo array[object] Parâmetros de gatilho
channel string Canal de gatilho. Valores possíveis: SMS, EMAIL, VIBER, PUSH
companyId integer Identificador da empresa
counters object Lista de contadores
{
"totalCount": 1 //total de mensagens,
"successCount": 0, //mensagens de sucesso
"errorCount": 0 //mensagens de erro
}
endTime string Data de término do acionador
externalId string Externo identificador
officeId integer Identificador da concessionária
parentTriggerId integer Identificador de gatilho pai
startTime string Data de início do gatilho
state string Status do gatilho. Valores possíveis: DRAFT, NEW, STARTED, STOPPED, FINISHED, DELETED_FINISHED, DELETED_DRAFT, FAILED
taskId integer Identificador de envio
triggerId integer Identificador de gatilho
type string Tipo de gatilho. Valores possíveis: ADDRESS_BOOK_SOURCE, EVENT_SOURCE, NO_EVENT_SOURCE
userId integer Identificador do usuário
type string Tipo de envio. Valores possíveis: SIMPLE, API
userId integer Identificador do usuário

Resposta exemplo

```json tab="JSON" { "result": [ { "channel": "SMS", "companyId": 50,
"creationDate": "2020-06-02 07:59:08", "id": "7003",
"officeId": 1, "state": "NEW", "taskName": "NEW_SMS", "triggersInfo": [ { "channel": "SMS", "companyId": 50, "counters": { "totalCount": 1, "successCount": 0, "errorCount": 0 }, "endTime": "2020-06-02 12:00:00",
"externalId": "CAEF899C-C583-4DA4-B06D-8D364E6E14DE", "officeId": 1,
"parentTriggerId": "211", "startTime": "2020-06-02 11:00:00", "state": "NEW", "taskId": "7003",
"triggerId": "511", "userId": 22, "type": "ADDRESS_BOOK_SOURCE"
} ],
"type": "SIMPLE", "userId": 22
} ] }

## Envio de mensagens transacionais

Pré-crie um script da mensagem usando a [**POST /omni-task-api/tasks**](criacao-de-script), certifique-se de passar  **task.type=API** e **triggers.type=TRAN_API_SOURCE**;

Para enviar uma mensagem transacional, você deve, chamar o método **POST /omni-scheduler/api/messages** para cada mensagem transacional do bloco, passando os dados de contato da mensagem e os dados do script no corpo, indicando os [dados de autorização](../index.md#_3) no cabeçalho

Para chamar o método **POST /omni-scheduler/api/messages** você precisa preencher seus parâmetros.

### Parâmetros de solicitação

| Parâmetro |  | Tipo de dados | Descrição e valores permitidos |
|----------|---|------------|--------------------------------|
| **contactIds** | | array[integer] | Matriz de IDs de contato do catálogo de endereços |
| **contacts** | | array[object] | Detalhes do contato |
| | **contact** | object | Detalhes do contato (ver descrição [Detalhes do contato](#detalhes-do-contato)) |
| | **callbackUrl** | string | A URL para a qual o sistema enviará notificações de alterações de status da mensagem (retorno de chamada). Qualquer URL válido com esquema http ou https |
| | **callbackData** | object | Informações adicionais como "chave":"valor" |
| **taskId** | | integer | Indentificador de mensagem transacional |
| **templates** | |  object | Dados do modelo de mensagem transacional |
| | **ID de gatilho** | object | Identificador de um gatilho específico obtido de taskId<br>Descrição detalhada em [Preenchendo modelos](#preenchendo-modelos)<br>Se você preencher os parâmetros descritos aqui, eles terão precedência sobre os parâmetros análogos do método [**POST /omni-task-api/tasks**](../omni/#_1), com o qual o modelo foi criado anteriormente! |


### Detalhes do contato

| Parâmetro | Tipo de dados | Descrição e valores permitidos |
|----------|------------|--------------------------------|
| **email** | string | Email de contato |
 | **fields** | array[object] | Campos de contato<br>Preenchido da seguinte forma:<br>"displayName": "string" // nome do campo visível,<br>"name": "string", // nome do campo<br>"type": 0, // tipo do campo<br>  "value": `{}` // valor do campo |
| **phone** | string | Telefone para contato |
| **pushInfo** | array[object] | Informações para push<br>Preenchido da seguinte forma:<br>"appId": "string", // id do aplicativo<br>"os": 0, // sistema operaci<br>"pushToken": "string" // token |

### Solicitar exemplo POST /omni-task-api/tasks (para mensagem transacional)

```json tab="JSON"
POST https://api.devino.online/omni-task-api/tasks
Authorization: Key QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Content-Type: application/json
Accept: application/json
{
  "taskName": "TRANSACTIONAL_CASCADE",
  "type": "API",
  "channel": "OMNI",
  "addressBookSource": {
    "contactGroupIds": [111],
    "addressBookSourceType": "SIMPLE",
    "period": "ONCE"
  },
  "triggers": [
    {
      "index": 0,
      "startTime": "2020-06-02 11:00:00",
      "endTime": "2020-06-02 12:00:00",
      "type": "TRAN_API_SOURCE",
      "channel": "EMAIL",
      "template": {
        "emailTemplate": {
          "htmlBody": "<h1>We have new shop!</h1>",
          "plainText": "We have new shop!",
          "sourceAddress": "testadr@newshop.com",
          "sourceName": "TESTADR",
          "subject": "New shop"
        }
      }      
    },
    {
      "index": 1,
      "parentIndex": 0,
      "startTime": "2020-06-02 12:00:00",
      "endTime": "2020-06-02 13:00:00",
      "type": "NO_EVENT_SOURCE",
      "channel": "SMS",    
      "eventSources": [
        {
          "channel": "EMAIL",
          "eventType": "STATE",
          "eventValue": "delivered"
        }
      ],
      "template": {     
        "smsTemplate": {
          "text": "We have new shop!",
          "from": "TESTADR",
          "validity": 600
        }
      }
    }
  ]
}

Resposta exemplo POST /omni-task-api/tasks

```json tab="JSON" { "result": { "code": "OK", "result": "7004" } }

### Solicitar exemplo POST /omni-scheduler/api/messages

```json tab="JSON"
POST https://api.devino.online/omni-scheduler/api/messages
Authorization: Key QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Content-Type: application/json
Accept: application/json
{
  "contacts": [
    {
      "contact": {
        "email": "ivan@yandex.ru",
        "phone": "79103398080"
      }
    }
  ],
  "taskId": 7004,
  "templates": {
    "63321": {    //email triggerId from task=7004
        "emailTemplate": {
            "htmlBody": "<html><h1>We have new shop!</h1><a id=\"unsubscribe-link\" href=\"${Unsubscribe}\" style=\"color: rgb(0, 122, 255); text-decoration: none;\">Отписаться от рассылки</a> | <a id=\"web-version-link\" href=\"${WebVersion}\" style=\"color: rgb(0, 122, 255); text-decoration: none;\">Web Версия</a></html>",
            "sourceAddress": "test@shop.org",
            "sourceName": "TEST",
            "subject": "New shop"
        }
    },
    "63322": { //sms triggerId from task=7004
        "smsTemplate": {
            "text": "We have new new shop!",
            "from": "TESTADR",
            "validity": 600
        }
    }
  }
}

Resposta exemplo POST /omni-scheduler/api/messages

```json tab="JSON" { "result": { "contactIds": [ "3111e47182ca9c11-3111e4711103c800" ], "sendAnswers": [ { "code": "OK", "mergeKey": "3111e47182ca9c11-3111e4711103c800", "result": "3606044956953218300" } ], "errorAnswers": [ { "code": "REJECTED", "result": null, "description": "{\"email\":\"test@test.com\",\"fields\":null,\"phone\":\"0\",\"pushInfo\":[{\"appId\":\"3410\",\"os\":1,\"pushToken\":\"ctJ5VzCERSiFTwvIQ8zUUN:APA91bEmdapZ9iHEPsVH9vBwfA0tW9o5Xe1N52URL6-ZraiGLMdeAhkLncsGiV8ooTiDoNjP5HUcAVfGa5nMjYFLSHexqAGovnlRqrjBrQJieB6a1fvlXm6znCCRjq64lLGy5PcF6nzG\"}]} #invalid.phone.size; Invalid phone size" } ] } }

### Parâmetros de resposta

| Parâmetro |   |  Tipo de dados | Descrição e valores permitidos |
|-----------|---|------------|--------------------------------|
| **contactIds** |  | array[string] | Matriz de contatos baixados |
| **sendAnswers** |  | array[object] | Matriz de mensagens de sucesso (**code=OK**) |
| | **code** | string | Indica o resultado do processamento da mensagem.<br> 1. OK - Processado com sucesso<br> 2. REJECTED - Ocorreu um erro ao processar a solicitação. |
| | **mergeKey** | string | ID de contato baixado |
| | **result** | string | Identificador da mensagem |
| **errorAnswers** |  | array[object] | Matriz de mensagens sem sucesso (**code=REJECTED**) |
| | **code** | string | Indica o resultado do processamento da mensagem.<br> 1. OK - Processado com sucesso<br> 2. REJECTED - Ocorreu um erro ao processar a solicitação. |
| | **result** | string | Identificador da mensagem.<br>Aqui é null |
| | **description** | string | Descrição de erro |


## Obter o status de uma mensagem transacional

Ao gerar o status da mensagem, uma POST-solicitação será enviada à URL especificada no momento do [envio da mensagem](#enviando-uma-mensagem-transacional) no parâmetro `callbackUrl`. Em resposta à solicitação, é esperado `200 Ok`. 

Se a solicitação retornar `500 Internal Error`, então serão feitas tentativas para entregar o status 5 vezes com um intervalo de um minuto.


### Solicitar exemplo

```json
[
  { 
   "messageId": "string",
   "ts": 0,
   "status": "string",
   "errorCode": 0,
   "ip": "string",
   "browser": "string",
   "os": "string",
   "callbackData": {"additionalProp": "string"},   
   "userAgent": "string",
   "contactId": "string", 
   "taskId": 0,
   "triggerId": 0,
   "email": "string",
   "url": "string",
   "geolocation": {"country":"string", "region":"string", "city":"string"},
   "pushToken": "string",
   "actionId": "string",
   "pushApplicationId": 0
  }
]

Parâmetros de solicitação

Parâmetro Tipo de dados Status Descrição e valores permitidos
messageId
(opcional)
long any Identificador único da mensagem na plataforma
ts
(opcional)
int any Indica quando o objeto de status foi criado
status
(opcional)
enum any Código de status de entrega de SMS
Para obter detalhes, consulte a seção Status possíveis
errorCode
(opcional)
int rejected
undeliverable
Código do motivo da devolução da mensagem
ip
(opcional)
string opened
clicked
Endereço IP do contato
navegador
(opcional)
string opened
clicked
Navegador de contato
os
(opcional)
string opened
clicked
Sistema operacional de contato
callbackData
(opcional)
object any Os dados que foram especificados em callbackData ao enviar a solicitação
userAgent
(opcional)
string any Informações do navegador de contato (versão, tipo)
contactId
(opcional)
string any Identificador único do contato
taskId
(opcional)
long any Identificador de envio
triggerId
(opcional)
long any Identificador de gatilho
email
(opcional)
string any Endereço de email
url
(opcional)
string clicked URL seguido do destinatário
geolocalização
(opcional)
object any Dados de geolocalização (ainda não adicionados):
country - país
region - região
city - cidade
pushToken
(opcional)
string any ID do dispositivo para o qual a mensagem foi enviada
actionId
(opcional)
string any Url/Deep link - ação ao clicar em uma notificação
pushApplicationId
(opcional)
int any Identificador único do aplicativo push, o campo from na solicitação de push

Status possíveis

Parâmetro Descrição
delivered Notificação entregue ao dispositivo
expired A notificação não foi entregue dentro do tempo estipulado
undeliverable Mensagem não pode ser entregue
bounced A mensagem de e-mail não pode ser entregue
opened Houve um clique no link da notificação
clicked Houve um clique no link da mensagem
rejected A mensagem foi rejeitada pela operadora ou Devino
deleted A mensagem foi removida da fila de envio
subscribed Inscreva-se por mensagem
unsubscribed Cancelamento de inscrição de listas de discussão
complained Reclamação por e-mail
unknown Um erro desconhecido ocorreu
canceled O destinatário tirou a notificação da tela (push)

Obtendo macros

Para receber macros, você precisa executar o método GET /omni-task-api/macros, passando parâmetros no corpo com a indicação dados de autorização no cabeçalho.

Parâmetros de solicitação

Parâmetro Tipo de dados Descrição e valores permitidos
taskIds
(optional)
array[integer] Matriz de identificadors de envio
taskStates
(optional)
array[string] Matriz de status de envio. Valores possíveis: DRAFT, NEW, STARTED, STOPPED, FINISHED, DELETED_FINISHED, DELETED_DRAFT, FAILED, STOPPED_BALANCE_BLOCKED, STOPPED_NOT_WORKING_TIME

Solicitar exemplo

```json tab="JSON" GET https://api.devino.online/omni-task-api/macros Authorization: Key QWxhZGRpbjpvcGVuIHNlc2FtZQ== Content-Type: application/json Accept: application/json { "taskStates": "FINISHED" }

### Resposta exemplo

```json tab="JSON"
{
  "result": [
    {
      "task": {
        "id": "7004",
        "taskName": "TRANSACTIONAL_CASCADE",
        "userId": 22,
        "companyId": 50,
        "officeId": 1,
        "creationDate": "2020-06-02 11:00:00",
        "type": "SIMPLE",
        "channel": "SMS",
        "state": "FINISHED",
        "triggersInfo": [
          {
            "triggerId": "321",
            "taskId": "7004",
            "userId": 22,
            "companyId": 50,
            "officeId": 1,
            "startTime": "2020-06-02 11:00:00",
            "endTime": "2020-06-02 12:00:00",
            "state": "FINISHED",
            "type": "ADDRESS_BOOK_SOURCE",
            "channel": "SMS",
            "counters": {
              "totalCount": 1,
              "successCount": 1,
              "errorCount": 0
            },
            "externalId": "4A8F5B75-29ED-473B-7AA0-4FC4507A41280"
          }
        ]
      },
      "macros": [
        "Unsubscribe",
        "WebVersion"
      ]
    }
  ]
}