Skip to content

Guide · For developers

Permanent WhatsApp Cloud API access token कैसे बनाएँ (system user)

क़दम दर क़दम: temporary API Setup token की जगह कभी एक्सपायर न होने वाला system user token बनाएँ, phone number ID और WABA ID कॉपी करें, curl से टेस्ट करें और आम token error ठीक करें।

लेखक Broadchat teamप्रकाशित 18 मिनट

Read in English

संक्षेप में

Permanent WhatsApp access token एक system user token है जो Meta Business settings में never expiry के साथ बनाया जाता है। एक system user बनाएँ, उसे अपना Meta app और पूरे control वाला WhatsApp Business account असाइन करें, whatsapp_business_messaging, whatsapp_business_management और business_management के साथ token बनाएँ, फिर एक template भेजकर टेस्ट करें। इसे सिर्फ़ अपने सर्वर पर रखें, और लीक होने पर तुरंत revoke करें।

मुख्य बातें

  • App Dashboard के API Setup पेज वाला token एक user access token है जो कुछ घंटों में एक्सपायर हो जाता है; इसे सिर्फ़ पहले टेस्ट मैसेज के लिए इस्तेमाल करें।
  • system user token को कभी न एक्सपायर होने वाला, या 60 दिन में एक्सपायर होने वाला रखा जा सकता है; Meta दूसरा वाला ज़्यादा सुरक्षित डिफ़ॉल्ट मानता है।
  • system user को दो assets चाहिए: आपका Meta app (Manage app) और आपका WhatsApp Business account पूरे control के साथ, वरना कॉल error 200 के साथ फ़ेल होते हैं।
  • phone number ID और WhatsApp Business account ID एक साथ कॉपी करें; send endpoint फ़ोन नंबर नहीं, phone number ID इस्तेमाल करता है।
  • Error 190 का मतलब है token एक्सपायर या invalid हुआ; error 10 और 200 का मतलब है permission या asset access की कमी, ख़राब token नहीं।

Permanent WhatsApp Cloud API access token बनाना

Time needed: 20 min. You will need: Meta business portfolio पर पूरे कंट्रोल वाला Facebook लॉगिन, WhatsApp use case वाला Meta app, curl वाला टर्मिनल.

  1. पहले से ज़रूरी चीज़ें जाँचें

    पक्का करें कि आपके पास business portfolio का पूरा कंट्रोल है, WhatsApp use case के साथ बना Meta app है, और उस app से जुड़ा एक WhatsApp Business account है जिसमें कम से कम एक रजिस्टर फ़ोन नंबर हो।

  2. System user बनाएँ

    Business settings खोलें, System users चुनें और Add दबाएँ। इसे whatsapp-server जैसा नाम दें और Admin या Employee role चुनें। जब app को सिर्फ़ अपने ही accounts चाहिए हों तो Employee काफ़ी है।

  3. App और WhatsApp account असाइन करें

    System user चुनें और Assign assets दबाएँ। अपने Meta app पर Manage app दें, और अपने WhatsApp account पर Full control के अंदर Manage WhatsApp Business accounts दें। दोनों assigned दिखने तक पेज रीलोड करें।

  4. Token बनाएँ

    Generate token दबाएँ, अपना app चुनें, expiry चुनें (never, या 60 दिन), business_management, whatsapp_business_management और whatsapp_business_messaging टिक करें, और Generate token दबाएँ। इसे तुरंत कॉपी करें।

  5. Phone number ID और WABA ID कॉपी करें

    दोनों ID App Dashboard के API Setup पैनल से लें, या WhatsApp Business account पर GET कॉल से अपने नंबर लिस्ट करें। इन्हें token के साथ अपने सर्वर की कॉन्फ़िगरेशन में रखें।

  6. Token को curl से टेस्ट करें

    अपने ही WhatsApp नंबर पर messages endpoint से एक मंज़ूर template भेजें। wamid मैसेज ID वाला जवाब मिलना साबित करता है कि token, permission और ID सब सही हैं।

  7. Token को सुरक्षित तरीक़े से स्टोर, rotate और revoke करें

    Token को सर्वर-साइड secret store में रखें, ब्राउज़र, ऐप या स्प्रेडशीट में कभी नहीं। इसे बदलने की योजना बनाएँ, और अगर यह कभी लीक हो जाए तो Meta के revoke endpoint से तुरंत revoke करें।

Permanent WhatsApp access token kaise banaye: Meta business portfolio में किसी system user के लिए बनाया गया वह token जिसकी expiry कभी ख़त्म नहीं होती (never)। इसी token से कोई production सर्वर दिन-ब-दिन, बिना किसी इंसान के लॉगिन किए, WhatsApp Cloud API को कॉल करता है। यह गाइड Business settings में सही क्लिक, token के साथ चाहिए वाले ID, एक curl टेस्ट, और कुछ छूटने पर दिखने वाले error दिखाती है। अगर आपको सिर्फ़ कॉन्सेप्ट समझना है, तो पहले WhatsApp API access token और system user ग्लॉसरी एंट्री पढ़ें।

Temporary vs permanent token: फ़र्क़ क्या है

Meta तीन तरह के token देता है। इनमें से सिर्फ़ एक ही आपके अपने बिज़नेस के लिए चलने वाले production सर्वर पर रखने लायक़ है:

Tokenकहाँ से मिलता हैकितने समय तक चलता हैकिसलिए इस्तेमाल करें
User access tokenApp Dashboard → WhatsApp → API Setup (पेज खोलते ही हर बार नया)कुछ घंटेसिर्फ़ आपका पहला टेस्ट मैसेज
System user tokenBusiness settings → System users → Generate tokenकभी एक्सपायर नहीं, या 60 दिनआपके अपने बिज़नेस का सर्वर और integration
Business integration system user tokenजब कोई client Embedded Signup पूरा करता है तो मिले कोड से exchange होता हैसिर्फ़ उस एक client के लिए scopedTech Provider और अपने clients के लिए काम करने वाले partner

API Setup token आपके personal Facebook login से जुड़ा होता है। Meta की अपनी गाइड कहती है कि user token "जल्दी एक्सपायर होते हैं, इसलिए हर कुछ घंटे में नया बनाना पड़ता है"। System user एक non-human account है जो portfolio का होता है, इसलिए स्टाफ़ बदलने पर भी उसका token काम करता रहता है।

शुरू करने से पहले

चार चीज़ें जाँच लें, क्योंकि हर एक न होने पर आगे अलग-अलग error आता है:

  1. आपके Facebook login के पास business portfolio का full control (admin) है।
  2. आपके पास Connect with customers through WhatsApp use case से बना एक Meta app है, जो उसी portfolio का है।
  3. वह app API Setup पैनल में आपके WhatsApp Business account से जुड़ा है।
  4. कम से कम एक फ़ोन नंबर Cloud API पर रजिस्टर है, और टेस्ट के लिए एक मंज़ूर template है।

अगर अभी तक नंबर नहीं जोड़ा है, तो पहले WhatsApp Business API setup गाइड में portfolio, नंबर और display name से जुड़े फ़ैसले देखें।

Step 1: System user बनाएँ

  1. Meta Business Suite खोलें, अपना business portfolio चुनें और Settings (Business settings) खोलें।
  2. साइडबार में, Users के नीचे, System users पर क्लिक करें।
  3. Add दबाएँ। Create system user में ऐसा नाम डालें जो बाद में पहचान सकें, जैसे whatsapp-server-prod।
  4. role चुनें: Admin या Employee।

कौन सा role चुनें? admin system user को portfolio के मालिक या उसे शेयर किए हर WhatsApp account और Messaging account का access अपने-आप मिल जाता है। employee system user को सिर्फ़ वे accounts दिखते हैं जो आप असाइन करें। एक या दो नंबर वाले बिज़नेस के लिए employee system user ज़्यादा सुरक्षित है: token लीक होने पर भी सिर्फ़ assign किए accounts तक ही पहुँच होगी।

Step 2: App और WhatsApp account असाइन करें

token उतना ही काम का है जितने assets तक उसका system user पहुँच सके। system user चुनें और Assign assets दबाएँ, फिर:

  • Apps: अपना Meta app चुनें और Manage app (full control) ऑन करें।
  • WhatsApp accounts: अपना WhatsApp Business account चुनें और Full control के अंदर Manage WhatsApp Business accounts ऑन करें।
  • पुष्टि के लिए Assign assets दबाएँ।

System users पेज रीलोड करें और देखें कि दोनों assets assigned दिख रहे हैं; Meta के अनुसार असाइन होने में कुछ मिनट लग सकते हैं। Meta पुराने WhatsApp Business account को WhatsApp account और Messaging account में बाँट रहा है। इसकी access token गाइड कहती है कि employee system user को दोनों का access चाहिए, और Meta Business Suite में आपको हर एक को अलग से असाइन करना होगा (Accounts → WhatsApp accounts और Accounts → Messaging accounts, People टैब के अंदर)। अगर आपके portfolio में Messaging account पहले से दिखता है, तो उसे भी असाइन करें।

Step 3: Token बनाएँ

  1. system user चुने होने पर Generate token दबाएँ।
  2. अपना app चुनें।
  3. token की expiry चुनें: never, या 60 दिन।
  4. नीचे दी तीन permission टिक करें। search बॉक्स में business टाइप करने से जल्दी मिल जाती हैं।
  5. Generate token दबाएँ और value को सीधे अपने secret store में कॉपी करें।
Permissionयह क्या करने देता है
whatsapp_business_messagingमैसेज भेजना और मैसेज से जुड़ा डेटा पढ़ना
whatsapp_business_managementTemplate, फ़ोन नंबर और WhatsApp account सेटिंग
business_managementख़ुद business portfolio पर काम करना; Meta की गाइड इसे असाइन करने वाली तीन permission में गिनती है

token को एक opaque string जैसा मानें। Meta के अनुसार token की लंबाई अलग-अलग हो सकती है और उसका फ़ॉर्मेट बदल सकता है, इसलिए इसे बिना किसी तय अधिकतम लंबाई वाले text field में रखें और इसे कभी parse करने की कोशिश न करें। इसकी expiry और permission जाँचने के लिए इसे Meta के Access Token Debugger में पेस्ट कर सकते हैं।

Step 4: Phone number ID और WABA ID कॉपी करें

ज़्यादातर "access token" वाली सर्च असल में उन सभी values के बारे में होती है जो किसी integration को चाहिए। इन्हें अभी एक जगह इकट्ठा कर लें:

Valueकैसा दिखता हैकहाँ से मिलता हैकहाँ इस्तेमाल होता है
Access tokenEAAJB…Step 3Authorization: Bearer header में
Phone number IDएक लंबा नंबरApp Dashboard → WhatsApp → API Setupभेजने वाले URL में: /{phone-number-id}/messages
WhatsApp Business account ID (WABA ID)एक लंबा नंबरAPI Setup पैनल (नई स्क्रीन पर इसे Messaging account ID कहा जाता है)Template और phone number कॉल में: /{waba-id}/message_templates
Graph API versionv26.0Meta के docsहर URL में

आप अभी बनाए token से API से भी phone number ID की पुष्टि कर सकते हैं:

curl "https://graph.facebook.com/v26.0/$WABA_ID/phone_numbers" \
  -H "Authorization: Bearer $WA_TOKEN"

जवाब में हर नंबर के साथ एक id (phone number ID), उसका display_phone_number और verified_name आता है। phone number ID फ़ोन नंबर नहीं है: /919876543210/messages जैसा URL फ़ेल होगा क्योंकि किसी भी नंबर का ID वह नहीं है।

Step 5: Token को curl से टेस्ट करें

अपने ही WhatsApp नंबर पर एक मंज़ूर template भेजें। template तब भी काम करता है जब आपने उस नंबर पर हाल में मैसेज न किया हो। अगर आपके account में अब भी Meta का सैंपल hello_world template en_US में है, तो उसे इस्तेमाल करें; नहीं तो अपने किसी मंज़ूर template को उसके सही नाम और language code के साथ इस्तेमाल करें।

export WA_TOKEN="paste-the-system-user-token"
export PHONE_NUMBER_ID="123456789012345"

curl -X POST "https://graph.facebook.com/v26.0/$PHONE_NUMBER_ID/messages" \
  -H "Authorization: Bearer $WA_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "messaging_product": "whatsapp",
    "to": "919876543210",
    "type": "template",
    "template": { "name": "hello_world", "language": { "code": "en_US" } }
  }'

काम करने वाला token एक messages array लौटाता है जिसमें ID wamid. से शुरू होती है, और मैसेज आपके फ़ोन पर पहुँच जाता है। इसे अपने टर्मिनल से चलाएँ, ब्राउज़र पेज से नहीं: ब्राउज़र में चलने वाली कोई भी चीज़ token को हर विज़िटर के सामने खोल देती है। template API tutorial में यही कॉल variables और buttons के साथ, Node.js और Python में दिखाई गई है।

Step 6: Token को स्टोर, rotate और revoke करें

जिसके पास भी यह token है, वह आपके बिज़नेस की तरफ़ से मैसेज भेज सकता है और आपके account में template बना सकता है। इसे किसी database पासवर्ड जैसा ही स्टोर करें:

  • इसे सर्वर पर environment variable या secret manager में रखें। इसे कभी website के JavaScript में, किसी mobile app में, Google Sheet में, शेयर किए Postman collection में, या support chat में न डालें।
  • हर सिस्टम (production सर्वर, staging, analytics script) के लिए अलग system user रखें, जिससे एक को बिना दूसरों को रोके revoke किया जा सके।
  • कौन, कब कौन सा token बनाया, इसका रिकॉर्ड रखें। जिस token को ट्रेस नहीं कर सकते, उसे सुरक्षित तरीक़े से revoke भी नहीं कर सकते।

60 दिन वाले token को rotate करना। Meta oauth/access_token endpoint पर (साथ में fb_exchange_token) एक refresh कॉल बताता है, जो 60 और दिन के लिए नया token देता है। पुराना token एक्सपायर होने तक काम करता रहता है, इसलिए पहले नया deploy करें, फिर पुराना revoke करें।

Token revoke करना। Meta का oauth/revoke endpoint system user token को तुरंत invalid कर देता है, और उसे फिर इस्तेमाल नहीं किया जा सकता। अगर token कहीं सार्वजनिक जगह पेस्ट हो गया हो तो तुरंत revoke करें, फिर नया बनाएँ, जिन सिस्टम ने इसे इस्तेमाल किया उन सबको अपडेट करें, और हाल की message activity व billing में वे भेजे गए मैसेज देखें जो आपने नहीं भेजे।

आम error और उनके फ़िक्स

ज़्यादातर token की समस्याएँ पाँच codes में से एक होती हैं। सिर्फ़ HTTP status नहीं, JSON जवाब में error.code पढ़ें:

Codeमतलबआम वजहफ़िक्स
190 (OAuthException)आपका access token एक्सपायर हो गया हैAPI Setup वाला user token एक्सपायर हुआ, 60 दिन वाला token लैप्स हुआ, या token revoke हुआsystem user token बनाएँ (Step 3) और उसे deploy करें
0app user को authenticate नहीं कर पायाtoken एक्सपायर हुआ या invalid हुआ, या user ने कोई सेटिंग बदल दी जो app को ब्लॉक करती हैsystem user token पर स्विच करें
10 या 200-299permission दी नहीं गई या हटा दी गईtoken बनाते समय कोई permission टिक नहीं हुई थीAccess Token Debugger में scope जाँचें; तीनों permission के साथ नया token बनाएँ
200रिक्वेस्ट रिजेक्ट: resource का access नहींsystem user को उस WhatsApp account या Messaging account का access नहीं हैStep 2 में account असाइन करें, फिर दोबारा कोशिश करें; नए token की ज़रूरत नहीं
100Invalid parameterphone number ID की जगह फ़ोन नंबर इस्तेमाल हुआ, कोई field ग़लत लिखा गया, या कोई unsupported parameterStep 4 वाला ID इस्तेमाल करें और अपने JSON को Meta के reference से मिलाएँ
133010फ़ोन नंबर रजिस्टर नहीं हैनंबर जोड़ा गया पर Cloud API पर कभी रजिस्टर नहीं हुआनंबर रजिस्टर करें, फिर दोबारा भेजें

मैसेज सही से भेजे जाने के बाद दिखने वाले delivery error, जैसे 131047 (24 घंटे की विंडो के बाहर) या 131026 (undeliverable), के लिए हमारी WhatsApp API error codes चीट-शीट देखें।

अगर आपका नंबर Broadchat पर है

जब आप Embedded Signup से Broadchat पर नंबर जोड़ते हैं, तो Meta का token प्लेटफ़ॉर्म अपने पास रखता है और आपको कभी कोई token पेस्ट नहीं करना पड़ता। जो developer अपने ही कोड से API कॉल करना चाहते हैं, वे इसके बदले Broadchat का channel token इस्तेमाल करते हैं:

  1. Channels → All Channels खोलें।
  2. channel कार्ड पर ⋮ मेन्यू खोलें और Access Token चुनें।
  3. API Details विंडो में API URL, API Version, WABA ID, Phone Number ID और Business ID दिखते हैं, हर एक के साथ copy बटन।
  4. Generate new token दबाएँ और पुष्टि करें। token bc_ से शुरू होता है और सिर्फ़ एक बार दिखता है, इसलिए विंडो बंद करने से पहले कॉपी कर लें।

यह channel token सिर्फ़ आपके पैनल के अपने Graph-compatible API पर API URL (आपके पैनल के पते के साथ /api/meta) पर काम करता है, और सिर्फ़ उस channel के phone number ID और WABA ID के लिए; यह Meta का token नहीं है और graph.facebook.com पर काम नहीं करता। इससे किए गए template सेंड channel के messaging wallet से चार्ज होते हैं। पहले बनाए token उसी मेन्यू में Revoke Previously Generated Token चुनने तक काम करते रहते हैं, जो नंबर को डिस्कनेक्ट किए बिना सभी को revoke कर देता है। यह विंडो सिर्फ़ account owner ही देख सकते हैं। प्लेटफ़ॉर्म कैसे मिलकर काम करता है, इसकी बड़ी तस्वीर के लिए WhatsApp Business API क्या है पढ़ें या WhatsApp Business API overview देखें।

स्रोत

  1. Access tokens guide (WhatsApp Business Platform) — Meta for Developers, checked 30 October 2026
  2. WhatsApp Cloud API: get started (system user and permanent token steps) — Meta for Developers, checked 30 October 2026
  3. Install apps, generate, refresh and revoke system user tokens — Meta for Developers, checked 30 October 2026
  4. WhatsApp Cloud API error codes — Meta for Developers, checked 30 October 2026
  5. Access Token Debugger — Meta for Developers, checked 30 October 2026

Broadchat team · Product and partner success team

The people who build and support Broadchat, the white-label WhatsApp Business API platform. We write from what we see while onboarding partners and their clients on the official WhatsApp Cloud API, and we check every article against Meta's current documentation.

आख़िरी अपडेट:

अक्सर पूछे जाने वाले सवाल

क्या WhatsApp system user access token सच में कभी एक्सपायर नहीं होता?

अगर बनाते समय never-expiring विकल्प चुना है, तो यह किसी टाइमर से एक्सपायर नहीं होता। फिर भी यह काम करना बंद कर देता है अगर इसे revoke कर दिया जाए, system user डिलीट हो जाए, या system user का app या WhatsApp account पर access छूट जाए। Meta सुरक्षित डिफ़ॉल्ट के तौर पर 60 दिन वाला विकल्प सुझाता है।

मेरा WhatsApp access token कुछ घंटों में ही क्यों एक्सपायर हो जाता है?

आप App Dashboard के API Setup पेज वाला user access token इस्तेमाल कर रहे हैं। यह आपके Facebook login से जुड़ा है और सिर्फ़ पहले टेस्ट मैसेज के लिए है। जो भी बिना किसी के देखे चलना है, उसके लिए Business settings में system user token बनाएँ।

WhatsApp Cloud API token को कौन सी permission चाहिए?

Meta की access token गाइड system user token के लिए तीन permission बताती है: मैसेज भेजने के लिए whatsapp_business_messaging, template और फ़ोन नंबर मैनेज करने के लिए whatsapp_business_management, और business portfolio के लिए business_management।

WhatsApp access token और business account ID एक साथ कहाँ मिलते हैं?

token Business settings में System users के नीचे बनाएँ, फिर App Dashboard, WhatsApp, API Setup खोलकर WhatsApp Business account ID (नई स्क्रीन पर Messaging account ID) और phone number ID कॉपी करें। account ID पर GET कॉल से फ़ोन नंबर भी लिस्ट कर सकते हैं।

क्या किसी client के लिए एजेंसी अपना system user इस्तेमाल करे?

किसी एक client के अपने integration के लिए system user उसी client के business portfolio में बनाएँ, जिससे वह client का ही रहे और एजेंसी में स्टाफ़ बदलने से भेजना न रुके। जो एजेंसियाँ Embedded Signup से कई clients संभालती हैं, वे हर client के लिए अलग business integration system user token इस्तेमाल करती हैं।

अगर token गलती से शेयर हो जाए तो क्या करें?

Meta के revoke endpoint से इसे तुरंत revoke करें, उसी system user के लिए नया token बनाएँ, जिन सिस्टम ने पुराना token इस्तेमाल किया था उन्हें अपडेट करें, और हाल की message activity व billing में वे चीज़ें जाँचें जो आपने नहीं भेजीं।

Launch WhatsApp under your own brand

Resell campaigns, chatbots, a shared inbox and CRM on the official WhatsApp Cloud API, with your logo, domain and prices.