Skip to content

Удалить SMS

Удаляет запись об SMS из истории по её ID.

Метод: DELETE
Эндпоинт: /api/ext/v1/sms/{id}
Требуемое разрешение: sms:delete

INFO

Удаление убирает запись из истории в базе данных. На физическую отправку SMS это не влияет — если SMS уже отправлено, оно останется у получателя.

Параметры пути

ПараметрТипОписание
idstring (UUID)ID SMS, который нужно удалить

Ответ — 204 No Content

При успешном удалении сервер возвращает статус 204 без тела ответа.

Ошибки

СтатусПричина
400 Bad RequestНеверный формат UUID
404 Not FoundSMS с таким ID не найден или принадлежит другому пользователю

Примеры

curl

bash
curl -X DELETE \
  "https://api.gosms.ru/api/ext/v1/sms/550e8400-e29b-41d4-a716-446655440001" \
  -H "Authorization: Bearer ВАШ_КЛЮЧ"

При успехе — пустой ответ со статусом 204.

Python

python
import requests

def delete_sms(sms_id: str):
    response = requests.delete(
        f"https://api.gosms.ru/api/ext/v1/sms/{sms_id}",
        headers={"Authorization": "Bearer ВАШ_КЛЮЧ"},
    )
    if response.status_code == 404:
        print(f"SMS {sms_id} не найден")
        return False
    response.raise_for_status()
    return True  # 204 — успешно удалено

deleted = delete_sms("550e8400-e29b-41d4-a716-446655440001")
print("Удалено:" if deleted else "Не найдено")

JavaScript

javascript
async function deleteSMS(smsId) {
  const response = await fetch(
    `https://api.gosms.ru/api/ext/v1/sms/${smsId}`,
    {
      method: 'DELETE',
      headers: { 'Authorization': 'Bearer ВАШ_КЛЮЧ' },
    }
  );

  if (response.status === 204) {
    console.log('SMS удалён');
    return true;
  }

  if (response.status === 404) {
    console.log('SMS не найден');
    return false;
  }

  const err = await response.json();
  throw new Error(err.error.message);
}

Удаление всех SMS по фильтру

python
import requests

API_KEY = "ВАШ_КЛЮЧ"
headers = {"Authorization": f"Bearer {API_KEY}"}

def delete_all_sms_by_status(status: str):
    """Удаляет все SMS с указанным статусом."""
    deleted = 0
    page = 1

    while True:
        # Получаем страницу SMS
        resp = requests.get(
            "https://api.gosms.ru/api/ext/v1/sms",
            headers=headers,
            params={"status": status, "page": page, "per_page": 100},
        )
        resp.raise_for_status()
        data = resp.json()

        if not data["items"]:
            break

        # Удаляем каждый
        for sms in data["items"]:
            del_resp = requests.delete(
                f"https://api.gosms.ru/api/ext/v1/sms/{sms['id']}",
                headers=headers,
            )
            if del_resp.status_code == 204:
                deleted += 1

        # Если удалили всё на странице и записей больше нет
        if len(data["items"]) < 100:
            break

    return deleted

# Удалить все недоставленные SMS
count = delete_all_sms_by_status("undelivered")
print(f"Удалено недоставленных SMS: {count}")

GoSMS — управление Android-устройствами для автоматизации отправки SMS