# Billingowanie SMS

Koszt wysyłki SMS zależy od jego długości, która jest determinowana przez rodzaj znaków użytych w treści. System automatycznie dobiera odpowiednie kodowanie (GSM-7 lub Unicode), co bezpośrednio wpływa na limit znaków w pojedynczej wiadomości.

Poniższe zasady są zgodne z globalnymi standardami GSM i dotyczą wszystkich wysyłek (zarówno z panelu, jak i przez API).

### Wiadomość standardowa (Kodowanie GSM-7)

Jeśli Twoja wiadomość składa się wyłącznie ze znaków z podstawowego alfabetu łacińskiego, cyfr i podstawowych symboli, jest kodowana w oszczędnym standardzie GSM-7.

* Pojedynczy SMS: **do 160 znaków**.
* Wiadomości łączone: Każdy kolejny segment (SMS) to **153 znaki** (system rezerwuje miejsce na instrukcję łączenia wiadomości).

#### Bezpieczne znaki (liczone jako 1 znak):

| Rodzaj       | Znaki                                                             |
| ------------ | ----------------------------------------------------------------- |
| Litery       | A-Z, a-z                                                          |
| Cyfry        | 0-9                                                               |
| Symbole      | @ £ $ ¥ \_ ! " # % & ' ( ) \* + , - . / : ; < = > ? ¡ ¿ § ¤       |
| Greckie/Inne | Δ Φ Γ Λ Ω Π Ψ Σ Θ Ξ Ä ä Ö ö Ñ ñ Ü ü à ò ù å Å è é É ì ç Ø ø Æ æ ß |

{% hint style="warning" %}
**Uwaga na znaki rozszerzone (liczone podwójnie)**&#x20;

Alfabet GSM-7 posiada zestaw znaków, które mimo że nie zmieniają kodowania na Unicode, zajmują 2 bajty. Oznacza to, że każdy z nich zabiera 2 znaki z dostępnego limitu.

Są to: `^`, `{`, `}`, `\`, `[`, `~`, `]`, `|`, `€`.
{% endhint %}

#### Tabela naliczania (GSM-7):

| Ilość znaków     | Liczba SMS |
| ---------------- | ---------- |
| 1-160 znaków     | 1          |
| 161-306 znaków   | 2          |
| 307-459 znaków   | 3          |
| 460-612 znaków   | 4          |
| 613-765 znaków   | 5          |
| 766-918 znaków   | 6          |
| 919-1071 znaków  | 7          |
| 1072-1224 znaków | 8          |
| 1225-1377 znaków | 9          |

### Wiadomość ze znakami specjalnymi (Kodowanie Unicode)

Użycie w treści choćby jednego znaku spoza tabeli GSM-7 wymusza zmianę kodowania całej wiadomości na Unicode (UCS-2). Jest to niezbędne, aby poprawnie wyświetlić znaki diaktryczne czy emoji na telefonie odbiorcy.

**Co zmienia kodowanie na Unicode?**

* Polskie znaki: `ą`, `ć`, `ę`, `ł`, `ń`, `ó`, `ś`, `ź`, `ż`.
* Inne alfabety: Cyrylica (np. `Б`, `Д`, `Ж`), Hebrajski, Arabski.
* Znaki diakrytyczne: Czeskie/słowackie (`č`, `ž`), francuskie "daszki" (`â`, `ô`), hiszpańskie akcenty (`á`, `í`).
* Emoji: np. 🙂, 🔥, ❤️.

Limity dla Unicode:

* Pojedynczy SMS: **do 70 znaków**.
* Wiadomości łączone: Każdy kolejny segment to **67 znaków**.

#### Tabela naliczania (Unicode):

| Ilość znaków   | Liczba SMS |
| -------------- | ---------- |
| 1-70 znaków    | 1          |
| 71-134 znaków  | 2          |
| 135-201 znaków | 3          |
| 202-268 znaków | 4          |
| 269-335 znaków | 5          |
| 336-402 znaków | 6          |
| 403-469 znaków | 7          |
| 470-536 znaków | 8          |
| 537-603 znaków | 9          |

{% hint style="info" %}

#### Wpływ personalizacji na koszt

Jeśli używasz tagów personalizacyjnych (np. `##imie##`), końcowa długość wiadomości będzie różna dla każdego odbiorcy. Może to spowodować, że część bazy zostanie rozliczona jako 1 SMS, a część jako 2 SMS-y.

Przykład: Załóżmy, że Twój szablon (z polskimi znakami) ma 65 znaków.

* Dla imienia "Anna" (4 znaki) – wiadomość ma 69 znaków. Mieści się w limicie 70. -> Koszt: 1 SMS.
* Dla imienia "Katarzyna" (9 znaków) – wiadomość ma 74 znaki. Przekracza limit 70. -> Koszt: 2 SMS.\
  \
  Planując kampanię, zawsze zostawiaj bezpieczny margines znaków, uwzględniając najdłuższe dane w Twojej bazie (np. długie nazwiska lub nazwy miast).&#x20;
  {% endhint %}

{% hint style="success" %}
**Rekomendacja:** Przed wysyłką zawsze zweryfikuj w naszym panelu, jak system zliczył znaki w Twojej wiadomości. Licznik znaków na bieżąco pokazuje, z ilu części będzie składał się SMS, co pozwala uniknąć niespodziewanych kosztów.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.messageflow.com/pl/sms/billingowanie-sms.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
