# Resposta do usuário (MO)

A API de MO permite a automação do processo de recuperação de respostas enviadas pelos clientes em resposta as mensagens que voce enviou a eles. Todas as requisições usam o método GET e as respostas são enviadas no formato JSON.

{% hint style="danger" %}
**Entre em contato com o suporte para configurar sua conta para receber MOs.**
{% endhint %}

É possível também a configuração para que as MOs sejam encaminhadas conforme chegaram para uma API do cliente, essa é a forma mais eficiente pois não é necessário realizar nenhuma chamada, so tratar os envios conforme chegaram. Para que esta configuração seja realizada é necessário abrir um ticket com nosso time de suporte técnico através do nosso [Service Center](https://servicecenter.wavy.global/) passando a url que receberá os MOs.

{% hint style="success" %}
**Conseguimos enviar os MOs tanto via método GET (query string) como via método POST (Json)**
{% endhint %}

Cada requisição feita irá retornar os MOs dos ultimos 5 dias, até um limite de 1.000 MOs. Para datas anteriores ou quantidades maiores favor entrar em contato com nosso time de suporte através do nosso [Service Center](https://servicecenter.wavy.global/).

O comportamento da query List MO será diferente para cada usuário autenticado devido ao nivel de permissão de cada usuário.

Recomendamos o método de envio das MOs para API, toda MO enviada será automaticamente enviada para API pois desta forma as respostas podem ser tratadas imediatamente após o recebimento.

<table><thead><tr><th width="200">Perfil</th><th>Permissão</th></tr></thead><tbody><tr><td>Regular</td><td>cada requisição realizada na MO API só irá retornar os MOs correspondentes a subconta que o usuário pertence. Não é possível a um usuário regular recuperar MOs de outras subcontas.</td></tr><tr><td>Administrador</td><td>o comportamento padrão para o usuário administrador é recuperar todos os MOs de todas as subcontas. Se um administrador desejar recuperar os MOs de apenas uma das subcontas é necessário especificar a subconta no parametro subAccount com o id da subconta desejada.</td></tr></tbody></table>

Exemplo JSON enviado para sua API (método POST)

{% tabs %}
{% tab title="cURL" %}

```
{
     "id": "25950050-7362-11e6-be62-001b7843e7d4",
     "subAccount": "test",
     "campaignAlias": "teste",
     "carrierId": 1,
     "carrierName": "VIVO",
     "source": "55119999999",
     "shortCode": "28128",
     "messageText": "Eu quero pizza",
     "receivedAt": 1473088405588,
     "receivedDate": "2016-09-05T12:13:25Z",
     "mt": {
       "id": "8be584fd-2554-439b-9ba9-aab507278992",
       "correlationId": "1876",
       "username": "teste",
       "email": "customer.support@sinch.com"
     }
   }
```

{% endtab %}

{% tab title="Ruby" %}

```
{
     "id": "25950050-7362-11e6-be62-001b7843e7d4",
     "subAccount": "teste",
     "campaignAlias": "teste",
     "carrierId": 1,
     "carrierName": "VIVO",
     "source": "551199999999",
     "shortCode": "28128",
     "messageText": "Eu quero pizza",
     "receivedAt": 1473088405588,
     "receivedDate": "2016-09-05T12:13:25Z",
     "mt": {
       "id": "8be584fd-2554-439b-9ba9-aab507278992",
       "correlationId": "1876",
       "username": "teste",
       "email": "customer.support@sinch.com"
     }
   }
```

{% endtab %}

{% tab title="Python" %}

```
{
     "id": "25950050-7362-11e6-be62-001b7843e7d4",
     "subAccount": "teste",
     "campaignAlias": "teste",
     "carrierId": 1,
     "carrierName": "VIVO",
     "source": "551199999999",
     "shortCode": "28128",
     "messageText": "Eu quero pizza",
     "receivedAt": 1473088405588,
     "receivedDate": "2016-09-05T12:13:25Z",
     "mt": {
       "id": "8be584fd-2554-439b-9ba9-aab507278992",
       "correlationId": "1876",
       "username": "teste",
       "email": "customer.support@sinch.com"
     }
   }
```

{% endtab %}

{% tab title="PHP" %}

```
{
     "id": "25950050-7362-11e6-be62-001b7843e7d4",
     "subAccount": "teste",
     "campaignAlias": "teste",
     "carrierId": 1,
     "carrierName": "VIVO",
     "source": "551199999999",
     "shortCode": "28128",
     "messageText": "Eu quero pizza",
     "receivedAt": 1473088405588,
     "receivedDate": "2016-09-05T12:13:25Z",
     "mt": {
       "id": "8be584fd-2554-439b-9ba9-aab507278992",
       "correlationId": "1876",
       "username": "teste",
       "email": "customer.support@sinch.com"
     }
   }
```

{% endtab %}

{% tab title="Java" %}

```
{
     "id": "25950050-7362-11e6-be62-001b7843e7d4",
     "subAccount": "teste",
     "campaignAlias": "teste",
     "carrierId": 1,
     "carrierName": "VIVO",
     "source": "551199999999",
     "shortCode": "28128",
     "messageText": "Eu quero pizza",
     "receivedAt": 1473088405588,
     "receivedDate": "2016-09-05T12:13:25Z",
     "mt": {
       "id": "8be584fd-2554-439b-9ba9-aab507278992",
       "correlationId": "1876",
       "username": "teste",
       "email": "customer.support@sinch.com"
     }
   }
```

{% endtab %}
{% endtabs %}

### Formato de resposta padrões de MO <a href="#fomato-de-resposta-padr-es-de-mo" id="fomato-de-resposta-padr-es-de-mo"></a>

Tanto as requisições de listagem (list) e a função de busca (search) retornam um objeto JSON com os campos abaixo:

<table><thead><tr><th width="158">Campo</th><th width="464">Detalhes</th><th>Tipo</th></tr></thead><tbody><tr><td>total</td><td>O número total de MOs retornadas pela requisição</td><td>Integer</td></tr><tr><td>start</td><td>O limite minimo da query</td><td>String</td></tr><tr><td>end</td><td>O limite máximo da query</td><td>String</td></tr><tr><td>messages</td><td>Listagem dos objetos</td><td>List</td></tr></tbody></table>

Cada mensagem do campo messages possui a seguinte estrutura:<br>

**MTs tem a seguinte estrutura**

<table><thead><tr><th width="195">Campo</th><th width="372">Detalhes</th><th>Tipo</th></tr></thead><tbody><tr><td>id</td><td>Id da MT</td><td>String</td></tr><tr><td>correlationId</td><td>CorrelationID enviado na MT</td><td>String</td></tr><tr><td>username</td><td>Username do usuário responsável por enviar a MT</td><td>String</td></tr><tr><td>email</td><td>Email do responsavel por enviar a MT</td><td>String</td></tr></tbody></table>

Exemplo de JSON de resposta chamada API:

{% tabs %}
{% tab title="cURL" %}

```
{
  "total": 1,
  "start": "2016-09-04T11:12:41Z",
  "end": "2016-09-08T11:17:39.113Z",
  "messages": [
    {
      "id": "25950050-7362-11e6-be62-001b7843e7d4",
      "subAccount": "Sinch",
      "campaignAlias": "Sinch",
      "carrierId": 1,
      "carrierName": "VIVO",
      "source": "5511123456789",
      "shortCode": "28128",
      "messageText": "Eu quero pizza",
      "receivedAt": 1473088405588,
      "receivedDate": "2016-09-05T12:13:25Z",
      "mt": {
        "id": "8be584fd-2554-439b-9ba9-aab507278992",
        "correlationId": "1876",
        "username": "Sinch",
        "email": "customer.support@sinch.com"
      }
    },
    {
      "id": "d3afc42a-1fd9-49ff-8b8b-34299c070ef3",
      "subAccount": "Sinch",
      "campaignAlias": "Sinch",
      "carrierId": 5,
      "carrierName": "TIM",
      "source": "5511123456789",
      "shortCode": "28128",
      "messageText": "Meu hamburguer está chegando?",
      "receivedAt": 1473088405588,
      "receivedDate": "2016-09-05T12:13:25Z",
      "mt": {
        "id": "302db832-3527-4e3c-b57b-6a481644d88b",
        "correlationId": "1893",
        "username": "Sinch",
        "email": "customer.support@sinch.com"
      }
    }
  ]
}
```

{% endtab %}

{% tab title="Ruby" %}

```
{
  "total": 1,
  "start": "2016-09-04T11:12:41Z",
  "end": "2016-09-08T11:17:39.113Z",
  "messages": [
    {
      "id": "25950050-7362-11e6-be62-001b7843e7d4",
      "subAccount": "Sinch",
      "campaignAlias": "Sinch",
      "carrierId": 1,
      "carrierName": "VIVO",
      "source": "5511123456789",
      "shortCode": "28128",
      "messageText": "Eu quero pizza",
      "receivedAt": 1473088405588,
      "receivedDate": "2016-09-05T12:13:25Z",
      "mt": {
        "id": "8be584fd-2554-439b-9ba9-aab507278992",
        "correlationId": "1876",
        "username": "Sinch",
        "email": "customer.support@sinch.com"
      }
    },
    {
      "id": "d3afc42a-1fd9-49ff-8b8b-34299c070ef3",
      "subAccount": "Sinch",
      "campaignAlias": "Sinch",
      "carrierId": 5,
      "carrierName": "TIM",
      "source": "5511123456789",
      "shortCode": "28128",
      "messageText": "Meu hamburguer está chegando?",
      "receivedAt": 1473088405588,
      "receivedDate": "2016-09-05T12:13:25Z",
      "mt": {
        "id": "302db832-3527-4e3c-b57b-6a481644d88b",
        "correlationId": "1893",
        "username": "Sinch",
        "email": "customer.support@sinch.com"
      }
    }
  ]
}
```

{% endtab %}

{% tab title="Python" %}

```
{
  "total": 1,
  "start": "2016-09-04T11:12:41Z",
  "end": "2016-09-08T11:17:39.113Z",
  "messages": [
    {
      "id": "25950050-7362-11e6-be62-001b7843e7d4",
      "subAccount": "Sinch",
      "campaignAlias": "Sinch",
      "carrierId": 1,
      "carrierName": "VIVO",
      "source": "5511123456789",
      "shortCode": "28128",
      "messageText": "Eu quero pizza",
      "receivedAt": 1473088405588,
      "receivedDate": "2016-09-05T12:13:25Z",
      "mt": {
        "id": "8be584fd-2554-439b-9ba9-aab507278992",
        "correlationId": "1876",
        "username": "Sinch",
        "email": "customer.support@sinch.com"
      }
    },
    {
      "id": "d3afc42a-1fd9-49ff-8b8b-34299c070ef3",
      "subAccount": "Sinch",
      "campaignAlias": "Sinch",
      "carrierId": 5,
      "carrierName": "TIM",
      "source": "5511123456789",
      "shortCode": "28128",
      "messageText": "Meu hamburguer está chegando?",
      "receivedAt": 1473088405588,
      "receivedDate": "2016-09-05T12:13:25Z",
      "mt": {
        "id": "302db832-3527-4e3c-b57b-6a481644d88b",
        "correlationId": "1893",
        "username": "Sinch",
        "email": "customer.support@sinch.com"
      }
    }
  ]
}
```

{% endtab %}

{% tab title="PHP" %}

```
{
  "total": 1,
  "start": "2016-09-04T11:12:41Z",
  "end": "2016-09-08T11:17:39.113Z",
  "messages": [
    {
      "id": "25950050-7362-11e6-be62-001b7843e7d4",
      "subAccount": "Sinch",
      "campaignAlias": "Sinch",
      "carrierId": 1,
      "carrierName": "VIVO",
      "source": "5511123456789",
      "shortCode": "28128",
      "messageText": "Eu quero pizza",
      "receivedAt": 1473088405588,
      "receivedDate": "2016-09-05T12:13:25Z",
      "mt": {
        "id": "8be584fd-2554-439b-9ba9-aab507278992",
        "correlationId": "1876",
        "username": "Sinch",
        "email": "customer.support@sinch.com"
      }
    },
    {
      "id": "d3afc42a-1fd9-49ff-8b8b-34299c070ef3",
      "subAccount": "Sinch",
      "campaignAlias": "Sinch",
      "carrierId": 5,
      "carrierName": "TIM",
      "source": "5511123456789",
      "shortCode": "28128",
      "messageText": "Meu hamburguer está chegando?",
      "receivedAt": 1473088405588,
      "receivedDate": "2016-09-05T12:13:25Z",
      "mt": {
        "id": "302db832-3527-4e3c-b57b-6a481644d88b",
        "correlationId": "1893",
        "username": "Sinch",
        "email": "customer.support@sinch.com"
      }
    }
  ]
}
```

{% endtab %}

{% tab title="Pynthon" %}

```
{
  "total": 1,
  "start": "2016-09-04T11:12:41Z",
  "end": "2016-09-08T11:17:39.113Z",
  "messages": [
    {
      "id": "25950050-7362-11e6-be62-001b7843e7d4",
      "subAccount": "Sinch",
      "campaignAlias": "Sinch",
      "carrierId": 1,
      "carrierName": "VIVO",
      "source": "5511123456789",
      "shortCode": "28128",
      "messageText": "Eu quero pizza",
      "receivedAt": 1473088405588,
      "receivedDate": "2016-09-05T12:13:25Z",
      "mt": {
        "id": "8be584fd-2554-439b-9ba9-aab507278992",
        "correlationId": "1876",
        "username": "Sinch",
        "email": "customer.support@sinch.com"
      }
    },
    {
      "id": "d3afc42a-1fd9-49ff-8b8b-34299c070ef3",
      "subAccount": "Sinch",
      "campaignAlias": "Sinch",
      "carrierId": 5,
      "carrierName": "TIM",
      "source": "5511123456789",
      "shortCode": "28128",
      "messageText": "Meu hamburguer está chegando?",
      "receivedAt": 1473088405588,
      "receivedDate": "2016-09-05T12:13:25Z",
      "mt": {
        "id": "302db832-3527-4e3c-b57b-6a481644d88b",
        "correlationId": "1893",
        "username": "Sinch",
        "email": "customer.support@sinch.com"
      }
    }
  ]
}
```

{% endtab %}
{% endtabs %}

### Requisição listar MO (list) <a href="#requisi-o-listar-mo-list" id="requisi-o-listar-mo-list"></a>

A Listagem irá retornar todos os MOs recebidos desde a última chamada de acordo com a resposta padrão descrita acima. Uma vez que esta chamada é realizada ela será consumida e não irá retornar as chamadas seguintes.

Como um usuário regular, para recuperar todas MOs de uma subconta use:

`GET https://api-messaging.wavy.global/v1/sms/receive/list`

Como usuário administrador, para recuperar TODAS as MOs de TODAS subcontas use:

`GET https://api-messaging.wavy.global/v1/sms/receive/list`

Como usuário administrador. para recuperar as MOs de uma subconta com a referencia “referencia\_subconta”, use:

`GET https://api-messaging.wavy.global/v1/sms/receive/list?subAccount=referencia_subconta`<br>
