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

# Çekim (Manuel)

> Bu API, manuel bir çekim işlemi talebi oluşturmak için kullanılır.

## Kimlik Doğrulama

<ParamField header="signatureToken" type="string" required>
  API kimlik doğrulaması için bir JWT token gereklidir.
  Boş bir dize kullanarak <a href="/tr/authentication/generate-jwt-token">JWT Token Oluşturma</a> bölümünde açıklandığı gibi bir JWT token oluşturun.
</ParamField>

## Başlıklar (Headers)

<ParamField header="Content-Type" type="string" required>
  `application/json` olarak ayarlanmalıdır.
</ParamField>

## İstek Gövdesi

<ParamField body="currency" type="string" required>
  Varlık para birimi kimliği.
</ParamField>

<ParamField body="amount" type="string" required>
  İşlem için miktarı belirtin.
</ParamField>

<ParamField body="address" type="string" required>
  Fonların gönderileceği harici adres.
</ParamField>

<ParamField body="orderId" type="string" required>
  İsteğinize orderId parametresini referans olarak ekleyin.
</ParamField>

<RequestExample>
  ```bash cURL theme={null}
  curl --request POST \
    --url https://doc-api.oppiwallet.com/api/v1/manualWithdraw \
    --header 'signatureToken: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...' \
    --header 'Content-Type: application/json' \
    --data '{
      "currency": "6698aec7f188ae24c673da1c",
      "amount": "0.01",
      "orderId": "ORDER_1"
    }'
  ```

  ```javascript JavaScript theme={null}
  const axios = require('axios');

  let data = JSON.stringify({
    "currency": "6698aec7f188ae24c673da1c",
    "amount": "0.01",
    "orderId": "ORDER_1"
  });

  let config = {
    method: 'post',
    maxBodyLength: Infinity,
    url: 'https://doc-api.oppiwallet.com/api/v1/manualWithdraw',
    headers: { 
      'signatureToken': 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...',
      'Content-Type': 'application/json'
    },
    data: data
  };

  axios.request(config)
    .then((response) => {
      console.log(JSON.stringify(response.data));
    })
    .catch((error) => {
      console.log(error);
    });
  ```

  ```python Python theme={null}
  import requests

  url = "https://doc-api.oppiwallet.com/api/v1/manualWithdraw"

  headers = {
      "signatureToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
      "Content-Type": "application/json"
  }

  data = {
      "currency": "6698aec7f188ae24c673da1c",
      "amount": "0.01",
      "orderId": "ORDER_1"
  }

  response = requests.post(url, headers=headers, json=data)
  print(response.json())
  ```

  ```go Go theme={null}
  package main

  import (
      "bytes"
      "encoding/json"
      "fmt"
      "net/http"
      "io/ioutil"
  )

  func main() {
      url := "https://doc-api.oppiwallet.com/api/v1/manualWithdraw"

      data := map[string]string{
          "currency": "6698aec7f188ae24c673da1c",
          "amount":   "0.01",
          "orderId":  "ORDER_1",
      }

      jsonData, _ := json.Marshal(data)

      req, _ := http.NewRequest("POST", url, bytes.NewBuffer(jsonData))
      req.Header.Add("signatureToken", "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...")
      req.Header.Add("Content-Type", "application/json")

      res, _ := http.DefaultClient.Do(req)
      defer res.Body.Close()
      body, _ := ioutil.ReadAll(res.Body)

      fmt.Println(string(body))
  }
  ```

  ```php PHP theme={null}
  <?php
  $curl = curl_init();

  $data = [
      "currency" => "6698aec7f188ae24c673da1c",
      "amount" => "0.01",
      "orderId" => "ORDER_1"
  ];

  curl_setopt_array($curl, [
    CURLOPT_URL => "https://doc-api.oppiwallet.com/api/v1/manualWithdraw",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => "POST",
    CURLOPT_HTTPHEADER => [
      "signatureToken: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
      "Content-Type: application/json"
    ],
    CURLOPT_POSTFIELDS => json_encode($data),
  ]);

  $response = curl_exec($curl);
  $err = curl_error($curl);

  curl_close($curl);

  if ($err) {
    echo "cURL Error #:" . $err;
  } else {
    echo $response;
  }
  ?>
  ```
</RequestExample>

## Yanıt

Başarılı bir istek üzerine başarı mesajı döndürür.

<ResponseField name="message" type="string" required>
  Çekim talebi için başarı mesajı.
</ResponseField>

<ResponseField name="transactionId" type="string" required>
  İşlem için benzersiz tanımlayıcı.
</ResponseField>

<ResponseExample>
  ```json 200 OK theme={null}
  {
    "message": "Para çekme talebiniz başarıyla gönderildi.",
    "transactionId": "0866f8-4a53-4579-9274-351ec868a627"
  }
  ```

  ```json 400 Bad Request theme={null}
  {
    "message": "Hata mesajı"
  }
  ```

  ```json 422 Unprocessable Entity theme={null}
  {
    "message": "Para çekme işleminiz başarısız oldu.",
    "transactionId": "0866f8-4a53-4579-9274-351ec868a627"
  }
  ```
</ResponseExample>
