---
title: "अपना पहला SMS भेजें"
description: "एक Bird API key बनाएँ, गंतव्य देश सक्षम करें, अपने फ़ोन पर एक बिल्ट-इन टेम्पलेट SMS भेजें, और उसकी डिलीवरी स्थिति वापस पढ़ें।"
canonical: "https://bird.com/hi-in/dastavez/get-started/send-your-first-sms"
---

# अपना पहला SMS भेजें

Bird SMS से अपने फ़ोन पर एक टेक्स्ट संदेश भेजें, फिर संदेश वापस पढ़ें और देखें कि वह डिलीवर हुआ या नहीं। यह क्विकस्टार्ट एक बिल्ट-इन टेम्पलेट का उपयोग करता है, जो टेक्स्ट, कैटेगरी, और एक शेयर्ड सेंडर प्रदान करता है जिसे Bird गंतव्य के लिए चुनता है। इसके लिए आपको किसी सेंडर ID या सेंडर रजिस्ट्रेशन की ज़रूरत नहीं है।

शुरू करने से पहले, सुनिश्चित करें कि आपके ऑर्गनाइज़ेशन के वॉलेट में फ़ंड हैं। SMS भेजने पर वॉलेट से राशि कटती है, और Bird उस भेजने को अस्वीकार कर देता है जिसे बैलेंस कवर नहीं कर सकता, `402` `WalletInsufficientBalance` के साथ। [भुगतान विधियाँ और वॉलेट](/docs/knowledge-base/billing/payment-methods-wallet) में टॉप अप करना शामिल है।

## 1. एक API key बनाएँ

डैशबोर्ड में, **Platform tools** > [**API keys**](https://bird.com/dashboard/w/api-keys) पर जाएँ और `sms:write` स्कोप के साथ एक key बनाएँ, जो संदेश भेजने और पढ़ने को कवर करता है। Keys एक रीजन से जुड़ी होती हैं और `bk_us1_...` या `bk_eu1_...` जैसी दिखती हैं। प्रीफ़िक्स में रीजन बताता है कि कौन सा API होस्ट कॉल करना है: `https://us1.platform.bird.com` या `https://eu1.platform.bird.com`।

![Bird डैशबोर्ड में API Keys पेज, जिसमें keys उनके मास्क्ड प्रीफ़िक्स, स्कोप और अंतिम उपयोग समय के साथ सूचीबद्ध हैं](/images/docs/dashboard-api-keys.png)

पूरी key **एक बार** दिखाई जाती है, बनाते समय। इसे किसी सुरक्षित जगह कॉपी करें, फिर cURL उदाहरणों के लिए इसे एक्सपोर्ट करें:

```bash
export BIRD_API_KEY="bk_us1_..."
```

## 2. गंतव्य देश सक्षम करें

Bird SMS केवल आपके वर्कस्पेस के लिए सक्षम देशों में ही भेजता है। किसी अन्य देश में भेजने पर `422` `SMSDestinationNotEnabled` त्रुटि मिलती है। अपने फ़ोन नंबर का देश [**SMS** > **Destinations**](https://bird.com/dashboard/w/sms/destinations) में सक्षम करें। अगर वह पहले से सक्षम दिख रहा है, तो चरण 3 पर जाएँ।

टर्मिनल से, [Bird CLI](/docs/cli) वही बदलाव करता है। देश का दो-अक्षर ISO कोड पास करें, उदाहरण के लिए संयुक्त राज्य अमेरिका के लिए `US`। यदि आपके CLI लॉगिन के पास SMS सेटिंग्स की पहुँच नहीं है, तो कमांड वह `bird auth login` कमांड प्रिंट करता है जो उसे जोड़ता है:

```bash
bird sms destinations update --destination US=true
```

[MCP server](/docs/ai/mcp-server) से जुड़े एजेंट `sms_destinations_update` टूल का उपयोग करते हैं। सार्वजनिक API में गंतव्यों के लिए कोई ऑपरेशन नहीं है। किसी बदलाव को भेजने पर लागू होने में एक मिनट तक लग सकता है।

## 3. संदेश भेजें

अपने फ़ोन पर बिल्ट-इन `bird_otp_verification` टेम्पलेट भेजें। यह आपके द्वारा पास की गई `code` वैल्यू के साथ **"493021 is your verification code. Do not share it."** के रूप में रेंडर होता है। अपनी भाषा के लिए Bird SDK इसके [SDK क्विकस्टार्ट](/docs/get-started/quickstarts) का अनुसरण करके इंस्टॉल करें।

SDK टैब में, उदाहरण API कुंजी बदलें, और `+14155550100` को अपने मोबाइल नंबर से [E.164](https://en.wikipedia.org/wiki/E.164) फ़ॉर्मेट में बदलें। CLI आपके लॉगिन का उपयोग करता है, और cURL टैब `BIRD_API_KEY` का उपयोग करता है।

**TypeScript**

```typescript
import { BirdClient } from "@messagebird/sdk";

const bird = new BirdClient({ apiKey: "bk_XXXXXXXXXXXXXXXXXXXXXXXX" });

const msg = await bird.sms.send({
  to: "+14155550100",
  template: { slug: "bird_otp_verification", parameters: { code: "493021" } },
});

console.log(msg.id, msg.status);
```

Examples: [TypeScript](/hi-in/dastavez/get-started/send-your-first-sms.ts.md) · [Python](/hi-in/dastavez/get-started/send-your-first-sms.py.md) · [Go](/hi-in/dastavez/get-started/send-your-first-sms.go.md) · [PHP](/hi-in/dastavez/get-started/send-your-first-sms.php.md) · [CLI](/hi-in/dastavez/get-started/send-your-first-sms.cli.md) · [MCP](/hi-in/dastavez/get-started/send-your-first-sms.mcp.md) · [cURL](/hi-in/dastavez/get-started/send-your-first-sms.curl.md)

यदि आपकी कुंजी `bk_eu1_` से शुरू होती है, तो इसके बजाय `https://eu1.platform.bird.com` को कॉल करें।

API `202 Accepted` और संदेश के साथ प्रतिक्रिया देता है। इसका `id` `sms_` से शुरू होता है, और इसका `status` `accepted` होता है: Bird के पास संदेश है और वह इसे असिंक्रोनस रूप से डिलीवर करता है। अगले चरण के लिए `id` सहेज कर रखें। संदेश उस शेयर्ड सेंडर से आता है जो Bird ने आपके देश के लिए चुना है।

## 4. डिलीवरी स्टेटस जाँचें

संदेश को उसकी ID से फ़ेच करें। भेजने के तुरंत बाद रीड करने पर `404` मिल सकता है जब तक संदेश रीड एंडपॉइंट पर दिखाई नहीं देता, जो `202` के कुछ ही देर बाद होता है। थोड़ी देर बाद फिर से रीड करें। `SMS_MESSAGE_ID` को स्टेप 3 के `id` से बदलें, और SDK टैब में उदाहरण API कुंजी को अपनी कुंजी से बदलें। Go SDK में SMS संदेश पढ़ने के लिए कोई टाइप्ड मेथड नहीं है, इसलिए Go टैब SDK के `client.Get` रिक्वेस्ट मेथड के ज़रिए API पाथ को कॉल करता है।

**TypeScript**

```typescript
import { BirdClient } from "@messagebird/sdk";

const bird = new BirdClient({ apiKey: "bk_XXXXXXXXXXXXXXXXXXXXXXXX" });

const msg = await bird.sms.get("SMS_MESSAGE_ID");

console.log(msg.id, msg.status);
```

Examples: [TypeScript](/hi-in/dastavez/get-started/send-your-first-sms.ts.md) · [Python](/hi-in/dastavez/get-started/send-your-first-sms.py.md) · [Go](/hi-in/dastavez/get-started/send-your-first-sms.go.md) · [PHP](/hi-in/dastavez/get-started/send-your-first-sms.php.md) · [CLI](/hi-in/dastavez/get-started/send-your-first-sms.cli.md) · [cURL](/hi-in/dastavez/get-started/send-your-first-sms.curl.md)

`status` फ़ील्ड बताता है कि संदेश कहाँ है:

- `accepted`: Bird के पास संदेश है और उसने अभी तक इसे किसी कैरियर को नहीं सौंपा है।
- `sent`: कैरियर के पास संदेश है, और `sent_at` रिकॉर्ड करता है कि Bird ने इसे कब सौंपा।
- `delivered`: कैरियर ने डिलीवरी की पुष्टि कर दी, और `delivered_at` रिकॉर्ड करता है कि कब।
- `undelivered`, `failed`, `rejected`, या `expired`: संदेश फ़ोन तक नहीं पहुँचा। `last_error` कारण बताता है, और [डिलीवरी त्रुटियाँ](/docs/guides/sms/delivery-errors) हर एक की व्याख्या करती हैं।

जब तक स्टेटस `accepted` और `sent` से आगे न बढ़ जाए तब तक पोल करें, या हर बदलाव webhook से पाने के लिए [SMS इवेंट्स](/docs/guides/sms/events) को सब्सक्राइब करें। हर संदेश [**Messages**](https://bird.com/dashboard/w/sms/messages) पेज पर भी अपनी इवेंट टाइमलाइन के साथ दिखाई देता है।

## विफल भेजने को ठीक करें

- **`422` `SMSDestinationNotEnabled`**: प्राप्तकर्ता का देश आपके वर्कस्पेस के लिए सक्षम नहीं है। इसे [चरण 2](#2-गंतव्य-देश-सक्षम-करें) के अनुसार सक्षम करें, एक मिनट तक प्रतीक्षा करें, और दोबारा भेजें।
- **`402` `WalletInsufficientBalance`**: वॉलेट में संदेश के लिए पर्याप्त बैलेंस नहीं है। वॉलेट में राशि जोड़ें, फिर दोबारा भेजें।
- **`403` `InsufficientScope`**: API key में `sms` स्कोप नहीं है। key के स्कोप संपादित करें या `sms:write` के साथ एक नई key बनाएँ।

## अगले कदम

- [SMS भेजना](/docs/guides/sms/sending-sms): अपना खुद का टेक्स्ट किसी सेंडर और कैटेगरी के साथ भेजें, बैचों में भेजें, और सुरक्षित रीट्राइ के साथ भेजें।
- [SMS सेंडर IDs](/docs/guides/sms/senders): हर देश के लिए एक सेंडर चुनें और जहाँ देश की आवश्यकता हो वहाँ उसे रजिस्टर करें।
- [SMS टेम्प्लेट](/docs/guides/sms/templates): बिल्ट-इन टेम्प्लेट कैटलॉग और उसके वेरिएबल।
- [SMS इवेंट्स](/docs/guides/sms/events): हर स्टेटस बदलाव के लिए इवेंट टाइप और webhook डिलीवरी।
- [SMS API संदर्भ](/docs/api/reference/create-sms-message): पूर्ण अनुरोध और प्रतिक्रिया स्कीमा।

## Related resources

- [Sending your first SMS](/learn/sms/sending-your-first-sms) (video)
- [One-way and two-way SMS](/explained/sms/what-is-the-difference-between-one-way-and-two-way-sms) (answer)
- [Two-way SMS](/sms-api/features/two-way) (product)
- [Build your first integration](/learn/paths/integration) (course)

[Get an implementation brief](/learn/workspace?topic=sms-replies)
