Update advertising SMS shortcode copy to 5000990009.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Alireza Hassani
2026-09-08 17:43:24 +03:30
co-authored by Cursor
parent 0eb19bbebd
commit a8676854fb
4 changed files with 7 additions and 7 deletions
+2 -2
View File
@@ -1137,7 +1137,7 @@ const en = {
'customers.smsModal.templateHintVerified':
'Verified template — sent from Meshkee service line 5000110005 (sender cannot be changed).',
'customers.smsModal.templateHintPending':
'Unverified template — sent from advertising line 9000590009. Use as a draft for better UX until approved.',
'Unverified template — sent from advertising line 5000990009. Use as a draft for better UX until approved.',
'customers.smsModal.templateLoading': 'Loading templates…',
'customers.tickets': 'Tickets',
'customers.invoices': 'View invoices',
@@ -3598,7 +3598,7 @@ const fa: Record<MessageKey, string> = {
'customers.smsModal.templateHintVerified':
'قالب تأییدشده — از خط خدماتی مشکی ۵۰۰۰۱۱۰۰۰۵ ارسال می‌شود (فرستنده قابل تغییر نیست).',
'customers.smsModal.templateHintPending':
'قالب تأییدنشده — از خط تبلیغاتی ۹۰۰۰۵۹۰۰۰۹ ارسال می‌شود. تا زمان تأیید، فقط برای راحتی نوشتن استفاده کنید.',
'قالب تأییدنشده — از خط تبلیغاتی ۵۰۰۰۹۹۰۰۰۹ ارسال می‌شود. تا زمان تأیید، فقط برای راحتی نوشتن استفاده کنید.',
'customers.smsModal.templateLoading': 'در حال بارگذاری قالب‌ها…',
'customers.tickets': 'تیکت‌ها',
'customers.invoices': 'مشاهده فاکتورها',
@@ -2078,13 +2078,13 @@ export function BusinessesPage() {
inputMode="numeric"
value={smsSenderNumber}
onChange={(e) => setSmsSenderNumber(e.target.value.replace(/\D/g, '').slice(0, 16))}
placeholder="e.g. 5000123456 (empty = 9000590009)"
placeholder="e.g. 5000123456 (empty = 5000990009)"
disabled={smsSettingsSubmitting}
autoComplete="off"
/>
<p className={styles.helperText}>
Used for free-text customer SMS. Leave empty for Meshkee advertising line
9000590009. Verified templates always use 5000110005.
5000990009. Verified templates always use 5000110005.
</p>
</div>
<div className={styles.field}>
@@ -194,7 +194,7 @@ export function SmsTemplatesPage() {
<h2 className={pageStyles.pageTitle}>SMS Templates</h2>
<p className={pageStyles.pageSubtitle}>
Review templates submitted for verification. Verified → 5000110005. Pending /
free → 9000590009. Variables: {variablesHint}
free → 5000990009. Variables: {variablesHint}
</p>
</div>
</div>
+2 -2
View File
@@ -317,8 +317,8 @@ Products accept optional `brandId` on create/update.
- `POST /businesses/:businessId/customers/import` — Excel import for SMS lists; only `phone` required; new users get a random password hash (OTP login still works); existing users are linked; already-linked / staff rows skipped
- `POST /businesses/:businessId/customers/:userId/sms` — single SMS via Gama **SendQuick**; body `{ message, templateId? }`
- `POST /businesses/:businessId/customers/sms` — bulk SMS via Gama **SendBulk** (or per-recipient when template/vars); body `{ message, userIds?, templateId? }` — empty/omitted `userIds` → all enabled customers
- Free-text SMS source: `settings.sms.senderNumber` (Super Admin only) or advertising shortcode `9000590009`
- Verified SMS template → service shortcode `5000110005` (fixed); unverified template → `9000590009`
- Free-text SMS source: `settings.sms.senderNumber` (Super Admin only) or advertising shortcode `5000990009`
- Verified SMS template → service shortcode `5000110005` (fixed); unverified template → `5000990009`
- Per-business prepaid `businesses.sms_balance` (IRT) — all Meshkee SMS (OTP login/forgot-password, customer SMS, partner/public SMS for linked domains) costs **400 IRT per 64 characters** per recipient (`ceil(len/64)*400`). Insufficient balance blocks send.
- New businesses created in Super Admin start with **500,000 IRT** SMS balance
- External domains (no Meshkee website) still bill via their business row once the domain is linked