> ## Documentation Index
> Fetch the complete documentation index at: https://docs.swipelux.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Quickstart

> एक sandbox customer बनाएँ, capability सक्षम करें, और pay-in, payout, या issued bank account flow चलाएँ।

एक customer बनाएँ, एक पुन: उपयोग करने योग्य wallet तैयार करें, और आवश्यक sandbox flow चलाएँ।

## 1. Sandbox कॉन्फ़िगर करें

अपने backend से एक sandbox API key का उपयोग करें:

```bash theme={null}
export API_BASE='https://platform.swipelux.com'
export SWIPELUX_SANDBOX_API_KEY='replace-with-your-sandbox-key'
```

Key साझा API host पर sandbox environment का चयन करती है।

## 2. एक customer बनाएँ

[`POST /v3/customers`](/api-reference/customers/post-v3-customers) के साथ एक individual customer बनाएँ:

```bash theme={null}
curl --request POST \
  "${API_BASE}/v3/customers" \
  --header "X-API-Key: ${SWIPELUX_SANDBOX_API_KEY}" \
  --header "Idempotency-Key: quickstart-customer-001" \
  --header "Content-Type: application/json" \
  --data '{"type":"individual","externalId":"quickstart-customer-001"}'
```

`data.id` को `CUSTOMER_ID` के रूप में संग्रहीत करें।

## 3. Outcome चुनें

* **Pay-in:** USD प्राप्त करें और customer के issued wallet में USDC settle करें।
* **Payout:** Customer के issued wallet से customer-owned bank account में USDC भेजें।
* **Issued bank account:** एक ACH/USD account जारी करें जो customer के issued wallet में settle होता है।

Third-party payout के लिए, [Recipients](/hi/integration/recipients) या [Send funds](/hi/integration/send-funds) का पालन करें।

## 4. एक eligible capability खोजें

समर्थित capabilities को [`GET /v3/customers/{customerId}/capabilities/supported`](/api-reference/capabilities/get-v3-customers-by-customer-id-capabilities-supported) के साथ सूचीबद्ध करें:

```bash theme={null}
curl --request GET \
  "${API_BASE}/v3/customers/${CUSTOMER_ID}/capabilities/supported" \
  --header "X-API-Key: ${SWIPELUX_SANDBOX_API_KEY}"
```

एक response entry चुनें जिसमें `availability` `available` या `beta` पर सेट हो, `eligibility.eligible` `true` पर सेट हो, आवश्यक `directions` और `method`, और मेल खाता `accountType` हो। Pay-in destination, payout source, या bank-account settlement account के रूप में customer के issued wallet का उपयोग करें; इस payout path के लिए `destinationId` के रूप में customer-owned account का उपयोग करें। यदि `institutions` लौटाए जाते हैं, तो केवल एक लौटाए गए institution choice का उपयोग करें। Entry के `id` को `CAPABILITY_ID` के रूप में संग्रहीत करें; एक universal capability ID को hardcode न करें।

## 5. Capability का अनुरोध करें

चुनी गई capability का अनुरोध [`POST /v3/customers/{customerId}/capabilities/{capabilityId}`](/api-reference/capabilities/post-v3-customers-by-customer-id-capabilities-by-capability-id) के साथ करें:

```bash theme={null}
curl --request POST \
  "${API_BASE}/v3/customers/${CUSTOMER_ID}/capabilities/${CAPABILITY_ID}" \
  --header "X-API-Key: ${SWIPELUX_SANDBOX_API_KEY}" \
  --header "Idempotency-Key: quickstart-capability-001" \
  --header "Content-Type: application/json" \
  --data '{}'
```

`data.status` को `CAPABILITY_STATUS` और `data.openTaskIds` को `TASK_IDS` के रूप में संग्रहीत करें।

## 6. Sandbox में onboarding पूरा करें

यदि `TASK_IDS` खाली नहीं है, तो [Capabilities और tasks](/hi/integration/onboarding/capabilities-and-requirements) के माध्यम से प्रत्येक वर्तमान आवश्यकता पूरी करें।

इस walkthrough के लिए, capability को [`POST /v3/sandbox/customers/{customerId}/capabilities/{capabilityId}/status`](/api-reference/sandbox/post-v3-sandbox-customers-by-customer-id-capabilities-by-capability-id-status) के साथ `ready` पर सेट करें:

```bash theme={null}
curl --request POST \
  "${API_BASE}/v3/sandbox/customers/${CUSTOMER_ID}/capabilities/${CAPABILITY_ID}/status" \
  --header "X-API-Key: ${SWIPELUX_SANDBOX_API_KEY}" \
  --header "Content-Type: application/json" \
  --data '{"status":"ready"}'
```

यह test control production onboarding नहीं है। [`GET /v3/customers/{customerId}/capabilities/{capabilityId}`](/api-reference/capabilities/get-v3-customers-by-customer-id-capabilities-by-capability-id) के साथ पुन: प्राप्त करें:

```bash theme={null}
curl --request GET \
  "${API_BASE}/v3/customers/${CUSTOMER_ID}/capabilities/${CAPABILITY_ID}" \
  --header "X-API-Key: ${SWIPELUX_SANDBOX_API_KEY}"
```

`data.status` और `data.openTaskIds` से `CAPABILITY_STATUS` और `TASK_IDS` को refresh करें। केवल तब जारी रखें जब `CAPABILITY_STATUS` `ready` हो।

## 7. चयनित flow बनाएँ

Base पर एक issued USDC wallet [`POST /v3/customers/{customerId}/accounts`](/api-reference/accounts/post-v3-customers-by-customer-id-accounts) के साथ बनाएँ:

```bash theme={null}
curl --request POST \
  "${API_BASE}/v3/customers/${CUSTOMER_ID}/accounts" \
  --header "X-API-Key: ${SWIPELUX_SANDBOX_API_KEY}" \
  --header "Idempotency-Key: quickstart-flow-wallet-001" \
  --header "Content-Type: application/json" \
  --data '{"origin":"issued","type":"wallet","currency":"USDC","network":"base"}'
```

`data.id` को `FLOW_WALLET_ID`, `data.status` को `FLOW_WALLET_STATUS`, और `data.openTaskIds` को `FLOW_WALLET_TASK_IDS` के रूप में संग्रहीत करें। यदि `FLOW_WALLET_TASK_IDS` खाली नहीं है, तो [Capabilities और tasks](/hi/integration/onboarding/capabilities-and-requirements) के माध्यम से वर्तमान tasks पूरे करें।

Wallet को [`GET /v3/customers/{customerId}/accounts/{accountId}`](/api-reference/accounts/get-v3-customers-by-customer-id-accounts-by-account-id) के साथ पुन: प्राप्त करें:

```bash theme={null}
curl --request GET \
  "${API_BASE}/v3/customers/${CUSTOMER_ID}/accounts/${FLOW_WALLET_ID}" \
  --header "X-API-Key: ${SWIPELUX_SANDBOX_API_KEY}"
```

`data.status` और `data.openTaskIds` से `FLOW_WALLET_STATUS` और `FLOW_WALLET_TASK_IDS` को refresh करें। केवल तब जारी रखें जब `FLOW_WALLET_STATUS` `ready` हो।

<Tabs>
  <Tab title="Pay-in">
    [`POST /v3/quotes`](/api-reference/money-movement/post-v3-quotes) के साथ USD-to-USDC quote बनाएँ:

    ```bash theme={null}
    curl --request POST \
      "${API_BASE}/v3/quotes" \
      --header "X-API-Key: ${SWIPELUX_SANDBOX_API_KEY}" \
      --header "Idempotency-Key: quickstart-payin-quote-001" \
      --header "Content-Type: application/json" \
      --data @- <<JSON
    {"customerId":"${CUSTOMER_ID}","capabilityId":"${CAPABILITY_ID}","in":{"amount":"150.00","currency":"USD"},"destinationId":"${FLOW_WALLET_ID}","out":{"currency":"USDC"}}
    JSON
    ```

    `data.id` को `QUOTE_ID` के रूप में संग्रहीत करें, फिर उसे [`POST /v3/transfers`](/api-reference/money-movement/post-v3-transfers) के साथ execute करें:

    ```bash theme={null}
    curl --request POST \
      "${API_BASE}/v3/transfers" \
      --header "X-API-Key: ${SWIPELUX_SANDBOX_API_KEY}" \
      --header "Idempotency-Key: quickstart-payin-transfer-001" \
      --header "Content-Type: application/json" \
      --data @- <<JSON
    {"quoteId":"${QUOTE_ID}"}
    JSON
    ```

    `data.id` को `TRANSFER_ID` के रूप में संग्रहीत करें। Instructions को [`GET /v3/transfers/{transferId}/instructions`](/api-reference/money-movement/get-v3-transfers-by-transfer-id-instructions) के साथ प्राप्त करें:

    ```bash theme={null}
    curl --request GET \
      "${API_BASE}/v3/transfers/${TRANSFER_ID}/instructions" \
      --header "X-API-Key: ${SWIPELUX_SANDBOX_API_KEY}"
    ```

    Response में `data.transferId` और `data.instructions` होते हैं। `data.transferId` को `TRANSFER_ID` और `data.instructions` को `FUNDING_INSTRUCTIONS` के रूप में संग्रहीत करें।
  </Tab>

  <Tab title="Payout">
    Ready wallet को [`POST /v3/sandbox/accounts/{accountId}/topup`](/api-reference/sandbox/post-v3-sandbox-accounts-by-account-id-topup) के साथ fund करें:

    ```bash theme={null}
    curl --request POST \
      "${API_BASE}/v3/sandbox/accounts/${FLOW_WALLET_ID}/topup" \
      --header "X-API-Key: ${SWIPELUX_SANDBOX_API_KEY}" \
      --header "Content-Type: application/json" \
      --data '{"amount":"250.00","currency":"USDC"}'
    ```

    [`POST /v3/customers/{customerId}/accounts`](/api-reference/accounts/post-v3-customers-by-customer-id-accounts) के साथ एक customer-owned ACH account बनाएँ:

    ```bash theme={null}
    curl --request POST \
      "${API_BASE}/v3/customers/${CUSTOMER_ID}/accounts" \
      --header "X-API-Key: ${SWIPELUX_SANDBOX_API_KEY}" \
      --header "Idempotency-Key: quickstart-payout-account-001" \
      --header "Content-Type: application/json" \
      --data @- <<'JSON'
    {"origin":"external","type":"bank","methods":["ach"],"country":"US","currency":"USD","details":{"routingNumber":"021000021","accountNumber":"123456789","accountType":"checking","bankName":"Example Bank","accountHolderName":"Amina Diallo"}}
    JSON
    ```

    `data.id` को `PAYOUT_ACCOUNT_ID`, `data.status` को `PAYOUT_ACCOUNT_STATUS`, और `data.openTaskIds` को `PAYOUT_ACCOUNT_TASK_IDS` के रूप में संग्रहीत करें। यदि `PAYOUT_ACCOUNT_TASK_IDS` खाली नहीं है, तो [Capabilities और tasks](/hi/integration/onboarding/capabilities-and-requirements) के माध्यम से वर्तमान tasks पूरे करें।

    इसे [`GET /v3/customers/{customerId}/accounts/{accountId}`](/api-reference/accounts/get-v3-customers-by-customer-id-accounts-by-account-id) के साथ पुन: प्राप्त करें:

    ```bash theme={null}
    curl --request GET \
      "${API_BASE}/v3/customers/${CUSTOMER_ID}/accounts/${PAYOUT_ACCOUNT_ID}" \
      --header "X-API-Key: ${SWIPELUX_SANDBOX_API_KEY}"
    ```

    `data.status` और `data.openTaskIds` से `PAYOUT_ACCOUNT_STATUS` और `PAYOUT_ACCOUNT_TASK_IDS` को refresh करें। केवल तब जारी रखें जब `PAYOUT_ACCOUNT_STATUS` `ready` हो, फिर [`POST /v3/quotes`](/api-reference/money-movement/post-v3-quotes) के साथ quote बनाएँ:

    ```bash theme={null}
    curl --request POST \
      "${API_BASE}/v3/quotes" \
      --header "X-API-Key: ${SWIPELUX_SANDBOX_API_KEY}" \
      --header "Idempotency-Key: quickstart-payout-quote-001" \
      --header "Content-Type: application/json" \
      --data @- <<JSON
    {"customerId":"${CUSTOMER_ID}","capabilityId":"${CAPABILITY_ID}","in":{"amount":"150.00","currency":"USDC","accountId":"${FLOW_WALLET_ID}"},"destinationId":"${PAYOUT_ACCOUNT_ID}","out":{"currency":"USD"}}
    JSON
    ```

    `data.id` को `QUOTE_ID` के रूप में संग्रहीत करें, इसे [`POST /v3/transfers`](/api-reference/money-movement/post-v3-transfers) के साथ execute करें, और लौटाए गए `data.id` को `TRANSFER_ID` के रूप में संग्रहीत करें:

    ```bash theme={null}
    curl --request POST \
      "${API_BASE}/v3/transfers" \
      --header "X-API-Key: ${SWIPELUX_SANDBOX_API_KEY}" \
      --header "Idempotency-Key: quickstart-payout-transfer-001" \
      --header "Content-Type: application/json" \
      --data @- <<JSON
    {"quoteId":"${QUOTE_ID}"}
    JSON
    ```
  </Tab>

  <Tab title="Issued bank account">
    Ready wallet पर settle होने वाला एक ACH/USD account [`POST /v3/customers/{customerId}/accounts`](/api-reference/accounts/post-v3-customers-by-customer-id-accounts) के साथ बनाएँ:

    ```bash theme={null}
    curl --request POST \
      "${API_BASE}/v3/customers/${CUSTOMER_ID}/accounts" \
      --header "X-API-Key: ${SWIPELUX_SANDBOX_API_KEY}" \
      --header "Idempotency-Key: quickstart-bank-account-001" \
      --header "Content-Type: application/json" \
      --data @- <<JSON
    {"origin":"issued","type":"bank","method":"ach","country":"US","currency":"USD","settlement":{"accountId":"${FLOW_WALLET_ID}"}}
    JSON
    ```

    `data.id` को `BANK_ACCOUNT_ID` के रूप में संग्रहीत करें, फिर [`GET /v3/customers/{customerId}/accounts/{accountId}`](/api-reference/accounts/get-v3-customers-by-customer-id-accounts-by-account-id) के साथ provisioning पढ़ें:

    ```bash theme={null}
    curl --request GET \
      "${API_BASE}/v3/customers/${CUSTOMER_ID}/accounts/${BANK_ACCOUNT_ID}" \
      --header "X-API-Key: ${SWIPELUX_SANDBOX_API_KEY}"
    ```

    `data.status` को `BANK_ACCOUNT_STATUS`, `data.details` को `BANK_ACCOUNT_DETAILS`, और `data.openTaskIds` को `BANK_ACCOUNT_TASK_IDS` के रूप में संग्रहीत करें। किसी भी वर्तमान tasks को पूरा करें, फिर account को तब तक फिर से पढ़ें जब तक इसकी status उपयोग की अनुमति नहीं देती और `data.details` मौजूद नहीं है।

    Bank details तुरंत मौजूद नहीं हो सकतीं। शाखा तब पूरी होती है जब आप `BANK_ACCOUNT_DETAILS` में लौटाए गए सटीक पुन: उपयोग करने योग्य bank details प्रस्तुत कर सकते हैं। जब account अभी भी provisioning में हो तब placeholder coordinates कभी न बनाएँ या दिखाएँ।
  </Tab>
</Tabs>

Pay-ins और payouts के लिए, [`GET /v3/transfers/{transferId}`](/api-reference/money-movement/get-v3-transfers-by-transfer-id) के साथ `TRANSFER_ID` की निगरानी करें:

```bash theme={null}
curl --request GET \
  "${API_BASE}/v3/transfers/${TRANSFER_ID}" \
  --header "X-API-Key: ${SWIPELUX_SANDBOX_API_KEY}"
```

<CardGroup cols={3}>
  <Card title="Pay-in" icon="arrow-down-to-line" href="/hi/integration/receive-funds">पूर्ण pay-in flow बनाएँ।</Card>
  <Card title="Payout" icon="arrow-up-from-line" href="/hi/integration/send-funds">Production payout handling बनाएँ।</Card>
  <Card title="Issued bank account" icon="building-columns" href="/hi/integration/issue-bank-account">Provisioning और details संभालें।</Card>
</CardGroup>

आगे, [webhooks](/hi/integration/webhooks) जोड़ें। ऊपर दिया गया प्रत्येक request पहले से ही अपने पूर्ण API Reference schema और status page से जुड़ा है।


## Related topics

- [Integration अवलोकन](/hi/integration/overview.md)
- [API reference](/hi/api-reference/introduction.md)
- [Authentication](/hi/integration/authentication.md)
