# कस्टमर जर्नी API का अवलोकन

कस्टमर जर्नी API एक बैकएंड को प्रोग्रामेटिक रूप से [कस्टमर जर्नी](/hi/product/customer-journey/pushwoosh-journey-overview/) प्रबंधित करने देता है: जर्नी की परिभाषाएँ बनाएँ और संपादित करें, जर्नी को उनके लाइफ़साइकल (स्टार्ट, पॉज़, फ़िनिश, ड्राफ़्ट, आर्काइव) के माध्यम से मूव करें, अपने सिस्टम से चल रही जर्नी को ट्रिगर करें, और प्रति-जर्नी आँकड़े प्राप्त करें।

यह वही API है जिसका उपयोग कस्टमर जर्नी बिल्डर करता है, जिसे gRPC-गेटवे ब्रिज के माध्यम से REST/JSON पर एक्सपोज़ किया गया है।

## बेस URL

```
https://journey.pushwoosh.com
```

<Aside type="tip">
यदि आप एक समर्पित क्षेत्र या निजी परिनियोजन का उपयोग करते हैं, तो अपने Pushwoosh ग्राहक सफलता प्रबंधक से सटीक बेस URL की पुष्टि करें।
</Aside>

## प्रमाणीकरण

प्रत्येक अनुरोध में सर्वर-साइड Pushwoosh [API एक्सेस टोकन](/hi/developer/api-reference/api-access-token/#server-api-token) के साथ एक `Authorization` हेडर शामिल होना चाहिए:

```
Authorization: Api YOUR_API_TOKEN
```

<Aside type="note">
टोकन उस खाते से बंधा होता है जिसका वह स्वामी है। सभी ऑपरेशन उस खाते पर लागू होते हैं। उसी टोकन का उपयोग करें जिसे आप अन्य सर्वर-टू-सर्वर API कॉल्स के लिए जारी करते हैं, और इसे कभी भी क्लाइंट एप्लिकेशन में उजागर न करें।
</Aside>

## मेथड्स

### जर्नी प्रबंधित करें

- [लाइफ़साइकल](/hi/developer/api-reference/customer-journey-api/lifecycle/): `POST /api/v3/journeygateway/{action}`। किसी जर्नी को उसके UUID द्वारा स्टार्ट, पॉज़, फ़िनिश, ड्राफ़्ट या आर्काइव करें।
- [बनाएँ और अपडेट करें](/hi/developer/api-reference/customer-journey-api/create-update/): `POST /api/v3/journeygateway` और `PUT /api/v3/journeygateway/{uuid}`। एक नई जर्नी परिभाषा बनाएँ या किसी मौजूदा को बदलें।

### जर्नी ट्रिगर करें

- [API द्वारा स्टार्ट करें](/hi/developer/api-reference/customer-journey-api/start-by-api/): `POST /api/journey/{id}/start/external`। उपयोगकर्ताओं को पहले से चल रही जर्नी के API एंट्री पॉइंट में इंजेक्ट करें।

### आँकड़े और ऑडियंस

- [जर्नी के आँकड़े प्राप्त करें](/hi/developer/api-reference/customer-journey-api/statistics/): `GET /api/journey/{id}/statistics/external`। प्रति-पॉइंट डिलीवरी और कन्वर्ज़न मेट्रिक्स।
- [उपयोगकर्ताओं को जर्नी से हटाएँ](/hi/developer/api-reference/customer-journey-api/drop-users/): `POST /api/journey/drop-users/external`। उपयोगकर्ताओं को सभी या चयनित सक्रिय जर्नी से हटाएँ।

### संदर्भ

- [जर्नी ऑब्जेक्ट](/hi/developer/api-reference/customer-journey-api/journey-object/): जर्नी परिभाषा का आकार (जानकारी, पैरामीटर, पॉइंट, टिप्पणियाँ) जो लाइफ़साइकल, बनाने और अपडेट करने के तरीकों द्वारा लौटाया जाता है।
- [पॉइंट संदर्भ](/hi/developer/api-reference/customer-journey-api/point-reference/): प्रत्येक पॉइंट प्रकार के लिए `point_data` संरचना: एंट्री, टाइमिंग, स्प्लिटिंग, एक्शन और मैसेजिंग तत्व।

## लाइफ़साइकल स्टार्ट बनाम स्टार्ट बाय API

कस्टमर जर्नी में दो ऑपरेशन होते हैं जो समान लगते हैं लेकिन अलग-अलग व्यवहार करते हैं।

[लाइफ़साइकल स्टार्ट](/hi/developer/api-reference/customer-journey-api/lifecycle/#endpoints) जर्नी की स्थिति को बदलता है (उदाहरण के लिए, ड्राफ़्ट से **रनिंग** तक)।
[स्टार्ट बाय API](/hi/developer/api-reference/customer-journey-api/start-by-api/) उपयोगकर्ताओं को पहले से चल रही जर्नी में इंजेक्ट करता है। नीचे दी गई तालिका उनकी साथ-साथ तुलना करती है।

| | लाइफ़साइकल स्टार्ट | स्टार्ट बाय API |
|---|---|---|
| एंडपॉइंट | `POST /api/v3/journeygateway/start` | `POST /api/journey/{id}/start/external` |
| यह क्या करता है | जर्नी को सक्रिय करता है और इसे **रनिंग** स्थिति में ले जाता है | उपयोगकर्ताओं को पहले से चल रही जर्नी के **API एंट्री पॉइंट** में इंजेक्ट करता है |
| आवश्यक जर्नी स्थिति | ड्राफ़्ट या पॉज़्ड | रनिंग (एक API स्टार्ट पॉइंट के साथ) |
| रन आवृत्ति | प्रति स्थिति परिवर्तन में एक बार | बार-बार, जैसे ही उपयोगकर्ताओं को प्रवेश करने की आवश्यकता होती है |

## अनुरोध और प्रतिक्रिया प्रारूप

- सामग्री प्रकार: `application/json`।
- `v3` फ़ील्ड नाम `snake_case` का उपयोग करते हैं। एनम मान उनके स्ट्रिंग नामों के रूप में क्रमबद्ध होते हैं (उदाहरण के लिए, `"STATUS_RUNNING"`, `"POINT_TYPE_SEND_PUSH"`)।
- gRPC-गेटवे मेथड्स (`/api/v3/journeygateway/...`) सफलता पर [जर्नी ऑब्जेक्ट](/hi/developer/api-reference/customer-journey-api/journey-object/) और विफलता पर मानक gRPC-गेटवे त्रुटि लिफाफा लौटाते हैं: `{ "code": ..., "message": ..., "details": [...] }`।
- पुराने बाहरी मेथड्स (`/api/journey/...`) सफलता पर एक मेथड-विशिष्ट JSON बॉडी और सत्यापन त्रुटियों पर HTTP `400` के साथ `{ "success": false, "message": ... }` लौटाते हैं।

## क्विक स्टार्ट

```bash title="एक जर्नी शुरू करें"
curl -X POST https://journey.pushwoosh.com/api/v3/journeygateway/start \
  -H "Authorization: Api YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "uuid": "11111111-2222-3333-4444-555555555555" }'
```

## अगले चरण

<CardGrid>
  <LinkCard title="लाइफ़साइकल" href="/developer/api-reference/customer-journey-api/lifecycle/" />
  <LinkCard title="बनाएँ और अपडेट करें" href="/developer/api-reference/customer-journey-api/create-update/" />
  <LinkCard title="API द्वारा स्टार्ट करें" href="/developer/api-reference/customer-journey-api/start-by-api/" />
  <LinkCard title="जर्नी के आँकड़े प्राप्त करें" href="/developer/api-reference/customer-journey-api/statistics/" />
  <LinkCard title="उपयोगकर्ताओं को जर्नी से हटाएँ" href="/developer/api-reference/customer-journey-api/drop-users/" />
  <LinkCard title="जर्नी ऑब्जेक्ट" href="/developer/api-reference/customer-journey-api/journey-object/" />
  <LinkCard title="पॉइंट संदर्भ" href="/developer/api-reference/customer-journey-api/point-reference/" />
</CardGrid>