> ## 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.

# Testování v sandboxu

> Řiďte výsledky capabilities, úkolů, peněženek a převodů při sestavování své integrace.

Sandbox používá stejný API host jako produkce. Sandbox API klíč vybírá testovací prostředí, kde pomocníci simulují výsledky bez přesunu skutečných prostředků.

Uchovávejte klíč na svém backendu. Sandbox pomocníci nenahrazují produkční compliance ani onboarding.

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

## Test připravenosti capability

Po požadavku na capability nastavte její sandbox stav pomocí [`POST /v3/sandbox/customers/{customerId}/capabilities/{capabilityId}/status`](/api-reference/sandbox/post-v3-sandbox-customers-by-customer-id-capabilities-by-capability-id-status):

```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"}'
```

Po použití pomocníka znovu načtěte capability. Zacházejte s jejím aktuálním `status` a `openTaskIds` jako s výsledkem, který musí váš produkt zpracovat.

## Test otevřeného úkolu

Vytvořte úkol v rozsahu capability pomocí [`POST /v3/sandbox/tasks`](/api-reference/sandbox/post-v3-sandbox-tasks):

```bash theme={null}
curl --request POST \
  "${API_BASE}/v3/sandbox/tasks" \
  --header "X-API-Key: ${SWIPELUX_SANDBOX_API_KEY}" \
  --header "Content-Type: application/json" \
  --data @- <<JSON
{
  "scope": {
    "type": "capability",
    "customerId": "${CUSTOMER_ID}",
    "capabilityId": "${CAPABILITY_ID}"
  },
  "items": [
    {
      "type": "explanation",
      "request": "Explain the source of funds."
    }
  ]
}
JSON
```

Uložte `data.id` jako `TASK_ID`, `data.revision` jako `TASK_REVISION` a aktuální `data.requirements[0].id` jako `REQUIREMENT_ID`. Odešlete odpověď přes [`POST /v3/customers/{customerId}/tasks/{taskId}/submissions`](/api-reference/task-submissions/create-customer-task-submission):

```bash theme={null}
curl --request POST \
  "${API_BASE}/v3/customers/${CUSTOMER_ID}/tasks/${TASK_ID}/submissions" \
  --header "X-API-Key: ${SWIPELUX_SANDBOX_API_KEY}" \
  --header "Idempotency-Key: sandbox-task-submission-001" \
  --header "Content-Type: application/json" \
  --data @- <<JSON
{
  "taskRevision": ${TASK_REVISION},
  "answers": [
    {
      "requirementId": "${REQUIREMENT_ID}",
      "answer": {
        "type": "text",
        "value": "Sandbox requirement completed."
      }
    }
  ]
}
JSON
```

Poté aktuální odeslání přijměte nebo zamítněte pomocí [`POST /v3/sandbox/tasks/{taskId}/review`](/api-reference/sandbox/post-v3-sandbox-tasks-by-task-id-review):

```bash theme={null}
curl --request POST \
  "${API_BASE}/v3/sandbox/tasks/${TASK_ID}/review" \
  --header "X-API-Key: ${SWIPELUX_SANDBOX_API_KEY}" \
  --header "Content-Type: application/json" \
  --data '{"outcome":"accepted"}'
```

Pro produkční vzor dokončování úkolů použijte [Capabilities a úkoly](/cs/integration/onboarding/capabilities-and-requirements).

## Naplnění sandboxové peněženky

Připište prostředky vydané peněžence pomocí [`POST /v3/sandbox/accounts/{accountId}/topup`](/api-reference/sandbox/post-v3-sandbox-accounts-by-account-id-topup):

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

Uložte vrácené `data.id` jako `TRANSFER_ID`, když chcete zkontrolovat simulovaný financovací převod.

## Dokončení nebo selhání převodu

Nastavte výsledek pomocí [`POST /v3/sandbox/transfers/{transferId}/state`](/api-reference/sandbox/post-v3-sandbox-transfers-by-transfer-id-state):

<Tabs>
  <Tab title="Dokončit">
    ```bash theme={null}
    curl --request POST \
      "${API_BASE}/v3/sandbox/transfers/${TRANSFER_ID}/state" \
      --header "X-API-Key: ${SWIPELUX_SANDBOX_API_KEY}" \
      --header "Content-Type: application/json" \
      --data '{"state":"completed"}'
    ```
  </Tab>

  <Tab title="Selhat">
    ```bash theme={null}
    curl --request POST \
      "${API_BASE}/v3/sandbox/transfers/${TRANSFER_ID}/state" \
      --header "X-API-Key: ${SWIPELUX_SANDBOX_API_KEY}" \
      --header "Content-Type: application/json" \
      --data @- <<'JSON'
    {
      "state": "failed",
      "stateDetail": {
        "code": "sandbox_review",
        "message": "Sandbox transfer failed."
      }
    }
    JSON
    ```
  </Tab>
</Tabs>

Dále spusťte tok [příchozí platby](/cs/integration/receive-funds), [výplaty](/cs/integration/send-funds) nebo [vydaného bankovního účtu](/cs/integration/issue-bank-account) v sandboxu.


## Related topics

- [Autentizace](/cs/integration/authentication.md)
- [Rychlý start](/cs/integration/quickstart.md)
- [Webhooky](/cs/integration/webhooks.md)
- [Uvedení do provozu](/cs/integration/go-live.md)
