> For the complete documentation index, see [llms.txt](https://apidocs.webcom.mobi/en/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://apidocs.webcom.mobi/en/sposoby-vzaimodeistviya-s-a2p-platformoi/xml-specification/sms-status-request/post-request.md).

# POST request

## POST request to get message status

<mark style="color:green;">`POST`</mark> `http://lk.mysmpp.ru/xml/state.php`

#### Headers

| Name         | Type  | Description                    |
| ------------ | ----- | ------------------------------ |
| Content-type | Sting | **`text/xml; charset=utf-8;`** |

#### Request Body

| Name                                                 | Type  | Description                                                                                          |
| ---------------------------------------------------- | ----- | ---------------------------------------------------------------------------------------------------- |
| login.value<mark style="color:red;">\*</mark>        | Sting | Your login in the system                                                                             |
| token.value<mark style="color:red;">\*</mark>        | Sting | You can use a secret key instead of login and password. To obtain it, please contact your manager    |
| password.value<mark style="color:red;">\*</mark>     | Sting | Your password in the system                                                                          |
| get\_state.id\_sms<mark style="color:red;">\*</mark> | Int   | The SMS message number received in the response XML document during the SMS message sending process. |

{% tabs %}
{% tab title="200: OK If a valid XML document is received" %}

```xml
<?xml version="1.0" encoding="utf-8" ?>
<response>
     <state id_sms="SMS ID in the system to check the status" time="2011-01-01 12:57:46" sms="Status">Status</state>
     <state id_sms="SMS ID in the system to check the status" time="2011-01-01 12:57:46" sms="Status" viber="Status">Status</state>
     <state id_sms="SMS ID in the system to check the status" time="2011-01-01 12:57:46" viber="Status">Status</state>
</response>
```

{% endtab %}

{% tab title="400: Bad Request If an error occurs in the sent XML document" %}

```xml
<?xml version="1.0" encoding="utf-8"?>
<response>
     <error>Error message</error>
</response>
```

{% endtab %}
{% endtabs %}

### Deciphering parameters in query responses

<table><thead><tr><th width="153.33333333333331">Parameter</th><th width="149">Data type</th><th>Description</th></tr></thead><tbody><tr><td>state</td><td>String</td><td><p>Last message status: </p><ul><li>"send" - message status not received. In this case, an empty time (time="") is transmitted </li><li>"not_deliver" - the message was not delivered. Final status (does not change with time) </li><li>"expired" - the subscriber was not in the network at the moments when the delivery attempt was made. Final status (does not change with time) </li><li>"deliver" - the message has been delivered. </li><li>"read" - the message has been read. Final status (does not change over time) </li><li>"partly_deliver" - the message was sent, but the status was not received.</li></ul></td></tr><tr><td>state.id_sms</td><td>Int</td><td>XML document in the process of sending SMS message</td></tr><tr><td>state.time</td><td>String</td><td>Time of status change</td></tr><tr><td>state.sms, state.viber</td><td>String</td><td><p>Message status. </p><p><mark style="color:orange;">The name of the field depends on the type of the message to be sent and resent</mark></p></td></tr><tr><td>error</td><td>String</td><td><p>The error text can take the following values:</p><ul><li>Incorrect XML document format </li><li>Incorrect login or password </li><li>POST data is missing</li></ul></td></tr></tbody></table>

### Example XML request

```xml
<?xml version="1.0" encoding="utf-8" ?>
<request>
    <security>
        <login value="login" />
        <password value="password" />
    </security>
    <get_state>
        <id_sms>IDSMS in system to check status</id_sms>
        <id_sms>IDSMS in system to check status</id_sms>
        <id_sms>IDSMS in system to check status</id_sms>
        <id_sms>IDSMS in system to check status</id_sms>
    </get_state>
</request>
```
