# API द्वारा स्टार्ट करें

`POST` `https://journey.pushwoosh.com/api/journey/{id}/start/external`

यूज़र्स के एक सेट को जर्नी के **API एंट्री पॉइंट** में एंटर करता है। अपनी खुद की बैकएंड से जर्नी को ड्राइव करने के लिए इसका उपयोग करें। उदाहरण के लिए, जब कोई यूज़र आपके सर्वर पर साइनअप पूरा करता है तो एक ऑनबोर्डिंग फ़्लो शुरू करें।

<Aside type="tip">
इस कॉल को [लाइफ़साइकल स्टार्ट](/hi/developer/api-reference/customer-journey-api/lifecycle/#endpoints) के साथ भ्रमित न करें, जो एक जर्नी को सक्रिय करता है और इसे **रनिंग (Running)** में ले जाता है। API द्वारा स्टार्ट उन यूज़र्स को एक जर्नी में इंजेक्ट करता है जो पहले से चल रही है। [तुलना तालिका](/hi/developer/api-reference/customer-journey-api/#lifecycle-start-vs-start-by-api) देखें।
</Aside>

## पूर्वापेक्षाएँ

- जर्नी **रनिंग (Running)** स्टेट में है।
- जर्नी में ठीक एक API एंट्री पॉइंट ("API द्वारा स्टार्ट" एलिमेंट) है, और वह एलिमेंट निष्क्रिय नहीं है।
- आपके द्वारा भेजे गए एट्रिब्यूट नाम उस API एंट्री पॉइंट पर कॉन्फ़िगर किए गए एट्रिब्यूट्स से मेल खाते हैं।

<Aside type="caution" title="रेट लिमिट">
प्रत्येक API एंट्री पॉइंट **प्रति मिनट एक रिक्वेस्ट** स्वीकार करता है। उस विंडो के भीतर दूसरी रिक्वेस्ट एक एरर देती है (`Enhance your calm! only one request per minute is allowed`)। कई छोटी-छोटी रिक्वेस्ट भेजने के बजाय अपने प्राप्तकर्ताओं को एक ही रिक्वेस्ट में बैच करें।
</Aside>

## पाथ पैरामीटर्स

| नाम | टाइप | विवरण |
|---|---|---|
| `id` | string | चल रही जर्नी का [जर्नी आईडी](/hi/developer/api-reference/api-identifiers/#journey-id)। |

## रिक्वेस्ट हेडर्स

| नाम | आवश्यक | मान |
|---|---|---|
| `Content-Type` | हाँ | `application/json` |
| `Authorization` | हाँ | `Api <server_api_token>`. [सर्वर API टोकन](/hi/developer/api-reference/api-access-token/#server-api-token) देखें। |

## रिक्वेस्ट बॉडी

बॉडी में एक सिंगल `payload` ऑब्जेक्ट होता है। आपको यह चुनने के लिए कि जर्नी में कौन प्रवेश करेगा, `users`, `hwids`, या `filter` में से **ठीक एक** प्रदान करना होगा।

| फ़ील्ड | टाइप | विवरण |
|---|---|---|
| `payload.users` | string[] | एंटर करने के लिए [यूज़र आईडी](/hi/developer/api-reference/api-identifiers/#user-id)। `hwids` और `filter` के साथ परस्पर अनन्य। |
| `payload.hwids` | string[] | एंटर करने के लिए [HWIDs](/hi/developer/pushwoosh-knowledge-hub/device-identifiers/#hwid)। `users` और `filter` के साथ परस्पर अनन्य। |
| `payload.filter` | string | ऑडियंस का चयन करने वाला एक [सेगलैंग (seglang)](/hi/developer/api-reference/segmentation-filters-api/segmentation-language/) एक्सप्रेशन। `users` और `hwids` के साथ परस्पर अनन्य। |
| `payload.attribute_values` | map&lt;string, string&gt; | वैकल्पिक। API एंट्री पॉइंट पर परिभाषित कस्टम एट्रिब्यूट्स के लिए मान। प्रत्येक की (key) को एक कॉन्फ़िगर किए गए एट्रिब्यूट नाम से मेल खाना चाहिए। |

### रिक्वेस्ट के उदाहरण

##### विशिष्ट यूज़र्स एंटर करें

```bash
curl -X POST 'https://journey.pushwoosh.com/api/journey/<journey_id>/start/external' \
  -H 'Authorization: Api YOUR_API_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
    "payload": {
      "users": ["user-123", "user-456"]
    }
  }'
```
##### एट्रिब्यूट्स के साथ विशिष्ट यूज़र्स एंटर करें

```json
{
  "payload": {
    "users": ["user-123", "user-456"],
    "attribute_values": {
      "promo_code": "SUMMER25",
      "tier": "gold"
    }
  }
}
```

##### फ़िल्टर द्वारा ऑडियंस एंटर करें

```json
{
  "payload": {
    "filter": "A(\"XXXXX-XXXXX\").tags(\"City\").eq(\"London\")"
  }
}
```


## रिस्पॉन्स

<Tabs>
<TabItem label="200">

```json
{
  "request_uuid": "9f8b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d"
}
```

| फ़ील्ड | टाइप | विवरण |
|---|---|---|
| `request_uuid` | string | स्वीकृत एंट्री रिक्वेस्ट का आइडेंटिफ़ायर। रिक्वेस्ट को एसिंक्रोनस रूप से प्रोसेस किया जाता है। |

</TabItem>
<TabItem label="400">

सत्यापन एरर एक वर्णनात्मक संदेश के साथ HTTP `400` लौटाते हैं। सामान्य मामले:

| संदेश | कारण |
|---|---|
| `one of users, hwids or filter must be provided` | तीन चयनकर्ताओं में से कोई भी सेट नहीं किया गया था। |
| `only one of users, hwids or filter must be provided` | एक से अधिक चयनकर्ता सेट किया गया था। |
| `Journey is not running` | जर्नी रनिंग (Running) स्टेट में नहीं है। |
| `zero api start points` | जर्नी में कोई API एंट्री पॉइंट नहीं है। |
| `there is more then one api start point` | जर्नी में एक से अधिक API एंट्री पॉइंट हैं। |
| `point is deactivated` | API एंट्री पॉइंट निष्क्रिय है। |
| `unknown attribute: <name>` | एक `attribute_values` की (key) API एंट्री पॉइंट पर कॉन्फ़िगर नहीं है। |
| `Enhance your calm! only one request per minute is allowed` | रेट लिमिट हिट हुई (प्रति एंट्री पॉइंट प्रति मिनट एक रिक्वेस्ट)। |

</TabItem>
</Tabs>

## संबंधित

<CardGrid>
  <LinkCard title="लाइफ़साइकल" href="/developer/api-reference/customer-journey-api/lifecycle/" />
  <LinkCard title="जर्नी आँकड़े प्राप्त करें" href="/developer/api-reference/customer-journey-api/statistics/" />
  <LinkCard title="सेगमेंटेशन भाषा" href="/developer/api-reference/segmentation-filters-api/segmentation-language/" />
</CardGrid>