---
title: "SMS — API başvurusu"
description: "SMS başlıkları, teklif ve gönderim."
url: https://www.gyrohosting.com/developers/tr/api/sms.html
language: tr
openapi: https://www.gyrohosting.com/developers/openapi.json
api_version: 2.30.0
---

# SMS

SMS başlıkları, teklif ve gönderim.

Base URL: `https://www.gyrohosting.com/api/v1/client` · OpenAPI: https://www.gyrohosting.com/developers/openapi.json


## GET /sms/senders

**Başlıkları Listeleme** · operationId `coreGetSmsSenders` · scope `Sms/GetSmsSenders` · OpenAPI fragment: https://www.gyrohosting.com/developers/spec/ops/coreGetSmsSenders.json

Gönderimde kullanılabilecek başlıkları ve ülke kayıtlarını döndürür. — anahtarın sahibi


### Yanıtlar

- **200**: Success
- **401**: Missing, invalid or revoked key
- **403**: Key lacks the scope, IP not allowed, or feature disabled
- **422**: sms_api_disabled, sms_disabled

### Örnekler

```bash
curl -s 'https://www.gyrohosting.com/api/v1/client/sms/senders' \
  -H "Authorization: Bearer $GYRO_TOKEN"
```
```bash
gyro sms sender list
```
```python
import os, uuid, requests

h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.get("https://www.gyrohosting.com/api/v1/client/sms/senders", headers=h, timeout=60)
r.raise_for_status()
print(r.json()["data"])
```
```js
const res = await fetch("https://www.gyrohosting.com/api/v1/client/sms/senders", {
  method: "GET",
  headers: {
    "Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
  },
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);
```


## POST /sms/quote

**Fiyat Alma** · operationId `coreQuoteSms` · scope `Sms/QuoteSms` · OpenAPI fragment: https://www.gyrohosting.com/developers/spec/ops/coreQuoteSms.json

Gönderimin ne kadar tutacağını ve neyin eleneceğini söyler. — gönderim yok


### İstek gövdesi

| Alan | Tür | Açıklama |
|---|---|---|
| `sender` (zorunlu) | string | Gönderen başlığı. Hesabın etkin başlıklarından biri olmalıdır. |
| `message` (zorunlu) | string | Mesaj metni. Parça tavanını aşan metin kırpılır ve kırpıldığı bildirilir. |
| `numbers` (zorunlu) | array<any> | Alıcı numaralar. Uluslararası biçimde; tek bir metin olarak gönderilirse satır, virgül ve noktalı virgülden bölünür. |

### Yanıtlar

- **200**: Success
- **401**: Missing, invalid or revoked key
- **403**: Key lacks the scope, IP not allowed, or feature disabled
- **422**: message_required, numbers_required, sender_invalid, sms_api_disabled, sms_disabled

### Örnekler

```bash
curl -s -X POST 'https://www.gyrohosting.com/api/v1/client/sms/quote' \
  -H "Authorization: Bearer $GYRO_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"sender": "string", "message": "string", "numbers": [null]}'
```
```bash
gyro sms quote --help    # tüm seçenekler
```
```python
import os, uuid, requests

h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.post("https://www.gyrohosting.com/api/v1/client/sms/quote", headers=h, json={"sender": "string", "message": "string", "numbers": [None]}, timeout=60)
r.raise_for_status()
print(r.json()["data"])
```
```js
const res = await fetch("https://www.gyrohosting.com/api/v1/client/sms/quote", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({"sender": "string", "message": "string", "numbers": [null]}),
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);
```


## POST /sms/send

**Toplu Gönderim** · operationId `coreSendSms` · scope `Sms/SendSms` · OpenAPI fragment: https://www.gyrohosting.com/developers/spec/ops/coreSendSms.json

Mesajı gönderir ve tutarı cüzdandan keser. — cüzdandan keser


### İstek gövdesi

| Alan | Tür | Açıklama |
|---|---|---|
| `sender` (zorunlu) | string | Gönderen başlığı. Hesabın etkin başlıklarından biri olmalıdır. |
| `message` (zorunlu) | string | Mesaj metni. Parça tavanını aşan metin kırpılır ve kırpıldığı bildirilir. |
| `numbers` (zorunlu) | array<any> | Alıcı numaralar. Uluslararası biçimde; tek bir metin olarak gönderilirse satır, virgül ve noktalı virgülden bölünür. |

### Yanıtlar

- **200**: Success
- **401**: Missing, invalid or revoked key
- **403**: Key lacks the scope, IP not allowed, or feature disabled
- **422**: insufficient_balance, no_recipients, price_unavailable, send_rejected, sender_invalid, sms_api_disabled, sms_disabled, sms_module_unavailable
- **500**: send_failed

### Örnekler

```bash
curl -s -X POST 'https://www.gyrohosting.com/api/v1/client/sms/send' \
  -H "Authorization: Bearer $GYRO_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"sender": "string", "message": "string", "numbers": [null]}'
```
```bash
gyro sms send --help    # tüm seçenekler
```
```python
import os, uuid, requests

h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.post("https://www.gyrohosting.com/api/v1/client/sms/send", headers=h, json={"sender": "string", "message": "string", "numbers": [None]}, timeout=60)
r.raise_for_status()
print(r.json()["data"])
```
```js
const res = await fetch("https://www.gyrohosting.com/api/v1/client/sms/send", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({"sender": "string", "message": "string", "numbers": [null]}),
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);
```


## GET /sms/messages

**Gönderim Geçmişi** · operationId `coreGetSmsMessages` · scope `Sms/GetSmsMessages` · OpenAPI fragment: https://www.gyrohosting.com/developers/spec/ops/coreGetSmsMessages.json

Yapılmış gönderimleri en yeniden başlayarak döndürür. — anahtarın sahibi


### Parametreler

| Alan | in | Tür | Açıklama |
|---|---|---|---|
| `page` | query | integer | Kaçıncı sayfa. |
| `limit` | query | integer | Sayfa başına satır. En çok 100. |

### Yanıtlar

- **200**: Success
- **401**: Missing, invalid or revoked key
- **403**: Key lacks the scope, IP not allowed, or feature disabled
- **422**: sms_api_disabled, sms_disabled

### Örnekler

```bash
curl -s 'https://www.gyrohosting.com/api/v1/client/sms/messages' \
  -H "Authorization: Bearer $GYRO_TOKEN"
```
```bash
gyro sms message list
```
```python
import os, uuid, requests

h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.get("https://www.gyrohosting.com/api/v1/client/sms/messages", headers=h, timeout=60)
r.raise_for_status()
print(r.json()["data"])
```
```js
const res = await fetch("https://www.gyrohosting.com/api/v1/client/sms/messages", {
  method: "GET",
  headers: {
    "Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
  },
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);
```


## GET /sms/messages/{id}

**Tek Gönderimi Okuma** · operationId `coreGetSmsMessage` · scope `Sms/GetSmsMessage` · OpenAPI fragment: https://www.gyrohosting.com/developers/spec/ops/coreGetSmsMessage.json

Bir gönderimi alıcı numaralarıyla birlikte döndürür. — anahtarın sahibi


### Parametreler

| Alan | in | Tür | Açıklama |
|---|---|---|---|
| `id` (zorunlu) | path | integer |  |

### Yanıtlar

- **200**: Success
- **401**: Missing, invalid or revoked key
- **403**: Key lacks the scope, IP not allowed, or feature disabled
- **404**: not_found
- **422**: sms_api_disabled, sms_disabled

### Örnekler

```bash
curl -s 'https://www.gyrohosting.com/api/v1/client/sms/messages/12345' \
  -H "Authorization: Bearer $GYRO_TOKEN"
```
```bash
gyro sms message get 12345
```
```python
import os, uuid, requests

h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.get("https://www.gyrohosting.com/api/v1/client/sms/messages/12345", headers=h, timeout=60)
r.raise_for_status()
print(r.json()["data"])
```
```js
const res = await fetch("https://www.gyrohosting.com/api/v1/client/sms/messages/12345", {
  method: "GET",
  headers: {
    "Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
  },
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);
```
