From 1c153f992cc36f602c016587b54ea54d90573d2f Mon Sep 17 00:00:00 2001 From: isra el Date: Thu, 5 Nov 2026 14:49:36 +0300 Subject: [PATCH 1/2] docs: describe accepted recipient formats Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_017B6pTUL543EK4Ai2Aw2T12 --- README.md | 2 ++ src/textbee/_client.py | 5 ++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 106ed2d..4fac759 100644 --- a/README.md +++ b/README.md @@ -215,6 +215,8 @@ It is best effort: characters with no safe equivalent pass through untouched. Ch ### Phone number helpers +textbee does not require international format. Local numbers and short codes are sent as written and reach recipients in the same country as the sending SIM. International format works for every recipient, so use these helpers when you send to more than one country or match replies to stored numbers. + ```python from textbee import is_valid_e164, normalize_phone_number diff --git a/src/textbee/_client.py b/src/textbee/_client.py index fb1df56..9907dde 100644 --- a/src/textbee/_client.py +++ b/src/textbee/_client.py @@ -89,7 +89,10 @@ def send_sms( ) -> SendSmsResponse: """Send an SMS to one or more recipients. - ``recipients`` are phone numbers in international format. + ``recipients`` are phone numbers or short codes. International format + (``+12025550123``) reaches any country. Local numbers and short codes + reach recipients in the sending SIM's country. Values with letters are + rejected with 400. ``device_id`` picks the sending phone. Get ids from ``get_devices()``. Omit it and textbee picks the sender: your default device first, From 4d2ba116846948f0b411b396ad1c846a430c41ac Mon Sep 17 00:00:00 2001 From: isra el Date: Thu, 5 Nov 2026 14:58:19 +0300 Subject: [PATCH 2/2] docs: note that some short codes work on one carrier only Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_017B6pTUL543EK4Ai2Aw2T12 --- README.md | 2 +- src/textbee/_client.py | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 4fac759..118e57b 100644 --- a/README.md +++ b/README.md @@ -215,7 +215,7 @@ It is best effort: characters with no safe equivalent pass through untouched. Ch ### Phone number helpers -textbee does not require international format. Local numbers and short codes are sent as written and reach recipients in the same country as the sending SIM. International format works for every recipient, so use these helpers when you send to more than one country or match replies to stored numbers. +textbee does not require international format. Local numbers are sent as written and reach recipients in the same country as the sending SIM. Short codes are sent as written too. They work only in the sending SIM's country, and some work only on one carrier. International format works for every recipient, so use these helpers when you send to more than one country or match replies to stored numbers. ```python from textbee import is_valid_e164, normalize_phone_number diff --git a/src/textbee/_client.py b/src/textbee/_client.py index 9907dde..fbbbc0b 100644 --- a/src/textbee/_client.py +++ b/src/textbee/_client.py @@ -90,9 +90,10 @@ def send_sms( """Send an SMS to one or more recipients. ``recipients`` are phone numbers or short codes. International format - (``+12025550123``) reaches any country. Local numbers and short codes - reach recipients in the sending SIM's country. Values with letters are - rejected with 400. + (``+12025550123``) reaches any country. Local numbers reach recipients + in the sending SIM's country. Short codes work only in that country, + and some only on one carrier. Values with letters are rejected with + 400. ``device_id`` picks the sending phone. Get ids from ``get_devices()``. Omit it and textbee picks the sender: your default device first,