# তৈরি এবং আপডেট করুন

এই এন্ডপয়েন্টগুলি জার্নির সংজ্ঞা তৈরি এবং সম্পাদনা করে: এর শিরোনাম, সেটিংস, এবং ক্যানভাসের পয়েন্টগুলি। এগুলি জার্নি শুরু করে না। এর জন্য [লাইফসাইকেল](/bn/developer/api-reference/customer-journey-api/lifecycle/) ব্যবহার করুন।

উভয়ই [জার্নি অবজেক্ট](/bn/developer/api-reference/customer-journey-api/journey-object/) গ্রহণ করে এবং ফেরত দেয়।

<Aside type="tip">
JSON-এ একটি সম্পূর্ণ জার্নি গ্রাফ লেখা কঠিন। প্রতিটি পয়েন্টের নিজস্ব চ্যানেল ফিল্ড এবং শর্তাবলী রয়েছে ([পয়েন্ট রেফারেন্স](/bn/developer/api-reference/customer-journey-api/point-reference/))। সবচেয়ে নির্ভরযোগ্য ওয়ার্কফ্লো হলো [Customer Journey builder](/bn/product/customer-journey/pushwoosh-journey-overview/)-এ একবার জার্নি তৈরি করা, একটি তৈরি/আপডেট প্রতিক্রিয়া থেকে এটি আবার পড়া, তারপর প্রোগ্রাম্যাটিকভাবে এটি ক্লোন বা সামঞ্জস্য করতে এই এন্ডপয়েন্টগুলি ব্যবহার করা।
</Aside>

## তৈরি করুন

`POST` `https://journey.pushwoosh.com/api/v3/journeygateway`

`STATUS_DRAFT` অবস্থায় একটি নতুন জার্নি তৈরি করে।

### অনুরোধ

| ফিল্ড | প্রয়োজনীয় | টাইপ | বিবরণ |
|---|---|---|---|
| `title` | হ্যাঁ | string | জার্নির নাম। |
| `params` | হ্যাঁ | [`JourneyParams`](/bn/developer/api-reference/customer-journey-api/journey-object/#journeyparams) | জার্নি-ব্যাপী কনফিগারেশন। `params.application_code` প্রয়োজনীয়। |
| `points` | না | array of [`Point`](/bn/developer/api-reference/customer-journey-api/journey-object/#point) | ক্যানভাসে জার্নির উপাদান এবং তাদের সংযোগ। |
| `comments` | না | array of [`JourneyComment`](/bn/developer/api-reference/customer-journey-api/journey-object/#journeycomment) | ক্যানভাস মন্তব্য। |

##### অনুরোধের উদাহরণ
```bash title="একটি জার্নি তৈরি করুন"
curl -X POST https://journey.pushwoosh.com/api/v3/journeygateway \
  -H "Authorization: Api YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Welcome series",
    "params": { "application_code": "XXXXX-XXXXX" },
    "points": [],
    "comments": []
  }'
```

### প্রতিক্রিয়া

নতুন [জার্নি অবজেক্ট](/bn/developer/api-reference/customer-journey-api/journey-object/) ফেরত দেয়। `info.uuid` থেকে জার্নির UUID পড়ুন এবং পরবর্তী আপডেট এবং লাইফসাইকেল কলের জন্য এটি ব্যবহার করুন।
##### প্রতিক্রিয়ার উদাহরণ
```json
{
  "info": {
    "uuid": "11111111-2222-3333-4444-555555555555",
    "title": "Welcome series",
    "status": "STATUS_DRAFT",
    "params": { "application_code": "XXXXX-XXXXX" }
  },
  "points": [],
  "comments": []
}
```

## সম্পূর্ণ জার্নির উদাহরণ

একটি ছোট ওয়েলকাম ফ্লো-এর জন্য একটি সম্পূর্ণ `Create` বডি। গ্রাফটি হলো:

```
সেগমেন্ট দ্বারা শুরু ──default──▶ পুশ পাঠান ──default──▶ ১ দিন অপেক্ষা করুন ──default──▶ বুলিয়ান স্প্লিটার ──output1──▶ ইমেল পাঠান ──default──▶ প্রস্থান
                                                                                              └──default───────────────────────────▶ প্রস্থান
```

প্রতিটি আউটপুটের `info.next_point_uuid`-এর মাধ্যমে পয়েন্টগুলি একসাথে সংযুক্ত থাকে। [আউটপুট কী](/bn/developer/api-reference/customer-journey-api/journey-object/#output-keys) নোট করুন: বুলিয়ান স্প্লিটার ছাড়া প্রতিটি পয়েন্ট `default` ব্যবহার করে, যা মিলে যাওয়া শর্তের শাখার জন্য `output1` যোগ করে (`default` হলো এর ফলব্যাক)। প্রস্থান পয়েন্টের কোনো আউটপুট নেই।

```json
{
  "title": "ওয়েলকাম সিরিজ",
  "params": {
    "application_code": "XXXXX-XXXXX",
    "user_id_track_change_policy": "TRACK"
  },
  "points": [
    {
      "uuid": "11111111-1111-1111-1111-111111111111",
      "title": "নতুন সাইনআপ",
      "point_type": "POINT_TYPE_START_BY_SEGMENT",
      "position": { "x": 80, "y": 200 },
      "outputs": [
        { "identity": { "key": "default", "order": 0 },
          "info": { "title": "", "next_point_uuid": "22222222-2222-2222-2222-222222222222" } }
      ],
      "point_data": {
        "start_by_segment": {
          "application_code": "XXXXX-XXXXX",
          "filter_code": "AAAAA-BBBBB"
        }
      }
    },
    {
      "uuid": "22222222-2222-2222-2222-222222222222",
      "title": "ওয়েলকাম পুশ",
      "point_type": "POINT_TYPE_SEND_PUSH",
      "position": { "x": 340, "y": 200 },
      "outputs": [
        { "identity": { "key": "default", "order": 0 },
          "info": { "title": "", "next_point_uuid": "33333333-3333-3333-3333-333333333333" } }
      ],
      "point_data": {
        "send_push": {
          "application_code": "XXXXX-XXXXX",
          "title": "Welcome!",
          "content": "Thanks for joining — here's how to get started."
        }
      }
    },
    {
      "uuid": "33333333-3333-3333-3333-333333333333",
      "title": "১ দিন অপেক্ষা করুন",
      "point_type": "POINT_TYPE_WAIT",
      "position": { "x": 600, "y": 200 },
      "outputs": [
        { "identity": { "key": "default", "order": 0 },
          "info": { "title": "", "next_point_uuid": "44444444-4444-4444-4444-444444444444" } }
      ],
      "point_data": {
        "delay": { "sec": 86400 }
      }
    },
    {
      "uuid": "44444444-4444-4444-4444-444444444444",
      "title": "পুশটি খোলা হয়েছে?",
      "point_type": "POINT_TYPE_BOOLEAN_SPLITTER",
      "position": { "x": 860, "y": 200 },
      "outputs": [
        { "identity": { "key": "output1", "order": 1 },
          "info": { "title": "মিলেছে", "next_point_uuid": "55555555-5555-5555-5555-555555555555" } },
        { "identity": { "key": "default", "order": 0 },
          "info": { "title": "অন্য সবাই", "next_point_uuid": "66666666-6666-6666-6666-666666666666" } }
      ],
      "point_data": {
        "boolean_splitter": {
          "application_code": "XXXXX-XXXXX",
          "split_strategy": "SPLIT_FILTER",
          "load_policy": "ALL",
          "filter_code": "CCCCC-DDDDD"
        }
      }
    },
    {
      "uuid": "55555555-5555-5555-5555-555555555555",
      "title": "ফলো-আপ ইমেল",
      "point_type": "POINT_TYPE_SEND_EMAIL",
      "position": { "x": 1120, "y": 120 },
      "outputs": [
        { "identity": { "key": "default", "order": 0 },
          "info": { "title": "", "next_point_uuid": "66666666-6666-6666-6666-666666666666" } }
      ],
      "point_data": {
        "send_email": {
          "application_code": "XXXXX-XXXXX",
          "preset_code": "12345-67890"
        }
      }
    },
    {
      "uuid": "66666666-6666-6666-6666-666666666666",
      "title": "প্রস্থান",
      "point_type": "POINT_TYPE_EXIT",
      "position": { "x": 1380, "y": 200 },
      "outputs": [],
      "point_data": {
        "terminator": {}
      }
    }
  ],
  "comments": []
}
```

## আপডেট করুন

`PUT` `https://journey.pushwoosh.com/api/v3/journeygateway/{uuid}`

একটি বিদ্যমান জার্নির সংজ্ঞা প্রতিস্থাপন করে। **সম্পূর্ণ** সংজ্ঞা পাঠান। আপনার জমা দেওয়া পয়েন্ট এবং মন্তব্যগুলি বর্তমানগুলিকে প্রতিস্থাপন করে।

### পাথ প্যারামিটার

| নাম | টাইপ | বিবরণ |
|---|---|---|
| `uuid` | string | আপডেট করার জন্য [জার্নি আইডি](/bn/developer/api-reference/api-identifiers/#journey-id)। |

### অনুরোধ

| ফিল্ড | টাইপ | বিবরণ |
|---|---|---|
| `title` | string | নতুন জার্নির নাম। |
| `params` | [`JourneyParams`](/bn/developer/api-reference/customer-journey-api/journey-object/#journeyparams) | নতুন জার্নি-ব্যাপী কনফিগারেশন। |
| `points` | array of [`Point`](/bn/developer/api-reference/customer-journey-api/journey-object/#point) | পয়েন্টের নতুন সম্পূর্ণ সেট। |
| `comments` | array of [`JourneyComment`](/bn/developer/api-reference/customer-journey-api/journey-object/#journeycomment) | মন্তব্যের নতুন সম্পূর্ণ সেট। |
| `autosave` | bool | যখন `true` থাকে, পরিবর্তনটি একটি এডিটর অটোসেভ হিসাবে গণ্য হয়। ডিফল্ট `false`। |

##### অনুরোধের উদাহরণ 

```bash title="একটি জার্নির নাম পরিবর্তন এবং পুনরায় কনফিগার করুন"
curl -X PUT https://journey.pushwoosh.com/api/v3/journeygateway/11111111-2222-3333-4444-555555555555 \
  -H "Authorization: Api YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Welcome series v2",
    "params": { "application_code": "XXXXX-XXXXX" },
    "points": [],
    "comments": []
  }'
```

### প্রতিক্রিয়া

আপডেট করা [জার্নি অবজেক্ট](/bn/developer/api-reference/customer-journey-api/journey-object/) ফেরত দেয়।

## আপডেট এবং পুনরায় শুরু করুন

`POST` `https://journey.pushwoosh.com/api/v3/journeygateway/{uuid}/resume`

একটি কলে একটি জার্নিতে সম্পাদনা প্রয়োগ করে এবং এটি পুনরায় শুরু করে। এটি একটি [আপডেট](#update) এবং তারপরে একটি লাইফসাইকেল [স্টার্ট](/bn/developer/api-reference/customer-journey-api/lifecycle/)-এর সমতুল্য। অনুরোধের বডি [আপডেট](#update)-এর সাথে মিলে যায়। যখন আপনি একটি পজ করা জার্নি সম্পাদনা করছেন এবং এটিকে `STATUS_RUNNING` অবস্থায় ফিরিয়ে আনতে চান তখন এটি ব্যবহার করুন।

## নাম পরিবর্তন করুন

`POST` `https://journey.pushwoosh.com/api/v3/journeygateway/{uuid}/rename`

শুধুমাত্র জার্নির শিরোনাম পরিবর্তন করে, এর পয়েন্ট বা সেটিংস স্পর্শ না করে।

| ফিল্ড | প্রয়োজনীয় | টাইপ | বিবরণ |
|---|---|---|---|
| `title` | হ্যাঁ | string | নতুন জার্নির নাম। |

##### অনুরোধের উদাহরণ

```bash title="একটি জার্নির নাম পরিবর্তন করুন"
curl -X POST https://journey.pushwoosh.com/api/v3/journeygateway/11111111-2222-3333-4444-555555555555/rename \
  -H "Authorization: Api YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "title": "Welcome series (Q3)" }'
```

## সম্পর্কিত

<CardGrid>
  <LinkCard title="জার্নি অবজেক্ট" href="/developer/api-reference/customer-journey-api/journey-object/" />
  <LinkCard title="লাইফসাইকেল" href="/developer/api-reference/customer-journey-api/lifecycle/" />
  <LinkCard title="API দ্বারা শুরু করুন" href="/developer/api-reference/customer-journey-api/start-by-api/" />
</CardGrid>