curl --request PUT \
--url https://dev.noyax.com/services/noyax_api/api/v1/finance/bank-transfers/{bankTransferId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-CompanyID: <x-companyid>' \
--header 'X-UserID: <x-userid>' \
--data '
{
"TransferType": 1,
"VoucherNumber": "Next",
"Date": "2026-09-24T14:06:00",
"BankAccountCode": "TEST POS",
"Description": "<string>",
"SharingCode": "<string>",
"Lines": [
{
"CustomerCode": "C-0001",
"Amount": 500,
"ExchangeRate": 1,
"Description": "<string>",
"CustomerAmount": 123,
"CustomerCurrencyCode": "<string>",
"CustomerExchangeRate": 123
}
]
}
'using RestSharp;
var options = new RestClientOptions("https://dev.noyax.com/services/noyax_api/api/v1/finance/bank-transfers/{bankTransferId}");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("X-UserID", "<x-userid>");
request.AddHeader("X-CompanyID", "<x-companyid>");
request.AddHeader("Authorization", "Bearer <token>");
request.AddJsonBody("{\n \"TransferType\": 1,\n \"VoucherNumber\": \"Next\",\n \"Date\": \"2026-09-24T14:06:00\",\n \"BankAccountCode\": \"TEST POS\",\n \"Description\": \"<string>\",\n \"SharingCode\": \"<string>\",\n \"Lines\": [\n {\n \"CustomerCode\": \"C-0001\",\n \"Amount\": 500,\n \"ExchangeRate\": 1,\n \"Description\": \"<string>\",\n \"CustomerAmount\": 123,\n \"CustomerCurrencyCode\": \"<string>\",\n \"CustomerExchangeRate\": 123\n }\n ]\n}", false);
var response = await client.PutAsync(request);
Console.WriteLine("{0}", response.Content);
const options = {
method: 'PUT',
headers: {
'X-UserID': '<x-userid>',
'X-CompanyID': '<x-companyid>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
TransferType: 1,
VoucherNumber: 'Next',
Date: '2026-09-24T14:06:00',
BankAccountCode: 'TEST POS',
Description: '<string>',
SharingCode: '<string>',
Lines: [
{
CustomerCode: 'C-0001',
Amount: 500,
ExchangeRate: 1,
Description: '<string>',
CustomerAmount: 123,
CustomerCurrencyCode: '<string>',
CustomerExchangeRate: 123
}
]
})
};
fetch('https://dev.noyax.com/services/noyax_api/api/v1/finance/bank-transfers/{bankTransferId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://dev.noyax.com/services/noyax_api/api/v1/finance/bank-transfers/{bankTransferId}"
payload = {
"TransferType": 1,
"VoucherNumber": "Next",
"Date": "2026-09-24T14:06:00",
"BankAccountCode": "TEST POS",
"Description": "<string>",
"SharingCode": "<string>",
"Lines": [
{
"CustomerCode": "C-0001",
"Amount": 500,
"ExchangeRate": 1,
"Description": "<string>",
"CustomerAmount": 123,
"CustomerCurrencyCode": "<string>",
"CustomerExchangeRate": 123
}
]
}
headers = {
"X-UserID": "<x-userid>",
"X-CompanyID": "<x-companyid>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text){
"Success": true,
"ResultCode": "0000",
"Data": {
"Id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"TransferType": 1,
"VoucherNumber": "5466CACC0016",
"Date": "2023-11-07T05:31:56Z",
"BankAccountCode": "TEST POS",
"BankAccountId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"CurrencyCode": "<string>",
"CurrencyId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"ExchangeRate": 123,
"Amount": 123,
"Description": "<string>",
"SharingCode": "<string>",
"SharingCodeId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"IsPosted": true,
"CreateDate": "2023-11-07T05:31:56Z",
"ModifyDate": "2023-11-07T05:31:56Z",
"Lines": [
{
"CustomerName": "<string>",
"CustomerId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"CustomerCurrencyId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"CustomerCode": "C-0001",
"Amount": 500,
"ExchangeRate": 1,
"Description": "<string>",
"CustomerAmount": 123,
"CustomerCurrencyCode": "<string>",
"CustomerExchangeRate": 123
}
]
},
"Message": "<string>"
}{
"Success": false,
"ResultCode": "8109",
"Message": "The bank voucher has been posted to accounting and can no longer be updated.",
"Errors": [
{
"Code": "8109",
"Message": "The bank voucher has been posted to accounting and can no longer be updated."
}
]
}{
"Success": false,
"ResultCode": "0102",
"Message": "Token has expired. Obtain a new token using the refresh token.",
"Errors": [
{
"Code": "0102",
"Message": "Token has expired. Obtain a new token using the refresh token."
}
]
}{
"Success": false,
"ResultCode": "0110",
"Message": "You do not have permission for this operation.",
"Errors": [
{
"Code": "0110",
"Message": "You do not have permission for this operation."
}
]
}{
"Success": false,
"ResultCode": "8100",
"Message": "Bank transfer not found.",
"Errors": [
{
"Code": "8100",
"Message": "Bank transfer not found."
}
]
}{
"Success": false,
"ResultCode": "0120",
"Message": "Daily request limit (10000) exceeded.",
"Errors": [
{
"Code": "0120",
"Message": "Daily request limit (10000) exceeded."
}
]
}Banka havale fişini güncelle
Fişin tüm alanlarını ve satırlarını değiştirir.
curl --request PUT \
--url https://dev.noyax.com/services/noyax_api/api/v1/finance/bank-transfers/{bankTransferId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-CompanyID: <x-companyid>' \
--header 'X-UserID: <x-userid>' \
--data '
{
"TransferType": 1,
"VoucherNumber": "Next",
"Date": "2026-09-24T14:06:00",
"BankAccountCode": "TEST POS",
"Description": "<string>",
"SharingCode": "<string>",
"Lines": [
{
"CustomerCode": "C-0001",
"Amount": 500,
"ExchangeRate": 1,
"Description": "<string>",
"CustomerAmount": 123,
"CustomerCurrencyCode": "<string>",
"CustomerExchangeRate": 123
}
]
}
'using RestSharp;
var options = new RestClientOptions("https://dev.noyax.com/services/noyax_api/api/v1/finance/bank-transfers/{bankTransferId}");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("X-UserID", "<x-userid>");
request.AddHeader("X-CompanyID", "<x-companyid>");
request.AddHeader("Authorization", "Bearer <token>");
request.AddJsonBody("{\n \"TransferType\": 1,\n \"VoucherNumber\": \"Next\",\n \"Date\": \"2026-09-24T14:06:00\",\n \"BankAccountCode\": \"TEST POS\",\n \"Description\": \"<string>\",\n \"SharingCode\": \"<string>\",\n \"Lines\": [\n {\n \"CustomerCode\": \"C-0001\",\n \"Amount\": 500,\n \"ExchangeRate\": 1,\n \"Description\": \"<string>\",\n \"CustomerAmount\": 123,\n \"CustomerCurrencyCode\": \"<string>\",\n \"CustomerExchangeRate\": 123\n }\n ]\n}", false);
var response = await client.PutAsync(request);
Console.WriteLine("{0}", response.Content);
const options = {
method: 'PUT',
headers: {
'X-UserID': '<x-userid>',
'X-CompanyID': '<x-companyid>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
TransferType: 1,
VoucherNumber: 'Next',
Date: '2026-09-24T14:06:00',
BankAccountCode: 'TEST POS',
Description: '<string>',
SharingCode: '<string>',
Lines: [
{
CustomerCode: 'C-0001',
Amount: 500,
ExchangeRate: 1,
Description: '<string>',
CustomerAmount: 123,
CustomerCurrencyCode: '<string>',
CustomerExchangeRate: 123
}
]
})
};
fetch('https://dev.noyax.com/services/noyax_api/api/v1/finance/bank-transfers/{bankTransferId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://dev.noyax.com/services/noyax_api/api/v1/finance/bank-transfers/{bankTransferId}"
payload = {
"TransferType": 1,
"VoucherNumber": "Next",
"Date": "2026-09-24T14:06:00",
"BankAccountCode": "TEST POS",
"Description": "<string>",
"SharingCode": "<string>",
"Lines": [
{
"CustomerCode": "C-0001",
"Amount": 500,
"ExchangeRate": 1,
"Description": "<string>",
"CustomerAmount": 123,
"CustomerCurrencyCode": "<string>",
"CustomerExchangeRate": 123
}
]
}
headers = {
"X-UserID": "<x-userid>",
"X-CompanyID": "<x-companyid>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text){
"Success": true,
"ResultCode": "0000",
"Data": {
"Id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"TransferType": 1,
"VoucherNumber": "5466CACC0016",
"Date": "2023-11-07T05:31:56Z",
"BankAccountCode": "TEST POS",
"BankAccountId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"CurrencyCode": "<string>",
"CurrencyId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"ExchangeRate": 123,
"Amount": 123,
"Description": "<string>",
"SharingCode": "<string>",
"SharingCodeId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"IsPosted": true,
"CreateDate": "2023-11-07T05:31:56Z",
"ModifyDate": "2023-11-07T05:31:56Z",
"Lines": [
{
"CustomerName": "<string>",
"CustomerId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"CustomerCurrencyId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"CustomerCode": "C-0001",
"Amount": 500,
"ExchangeRate": 1,
"Description": "<string>",
"CustomerAmount": 123,
"CustomerCurrencyCode": "<string>",
"CustomerExchangeRate": 123
}
]
},
"Message": "<string>"
}{
"Success": false,
"ResultCode": "8109",
"Message": "The bank voucher has been posted to accounting and can no longer be updated.",
"Errors": [
{
"Code": "8109",
"Message": "The bank voucher has been posted to accounting and can no longer be updated."
}
]
}{
"Success": false,
"ResultCode": "0102",
"Message": "Token has expired. Obtain a new token using the refresh token.",
"Errors": [
{
"Code": "0102",
"Message": "Token has expired. Obtain a new token using the refresh token."
}
]
}{
"Success": false,
"ResultCode": "0110",
"Message": "You do not have permission for this operation.",
"Errors": [
{
"Code": "0110",
"Message": "You do not have permission for this operation."
}
]
}{
"Success": false,
"ResultCode": "8100",
"Message": "Bank transfer not found.",
"Errors": [
{
"Code": "8100",
"Message": "Bank transfer not found."
}
]
}{
"Success": false,
"ResultCode": "0120",
"Message": "Daily request limit (10000) exceeded.",
"Errors": [
{
"Code": "0120",
"Message": "Daily request limit (10000) exceeded."
}
]
}PATCH yalnızca gönderdiğiniz alanları değiştirir.
TransferType değiştirilemez, VoucherNumber "Next" olamaz. Muhasebeleşmiş bir fiş güncellenemez. Satırların güncellemedeki kimliği ve kapatılmış hareket kilidi için genel bakış sayfasına bakın.
Hata kodları
Bu endpoint’in dönebileceği kodlar. Her endpoint için geçerli olan genel hatalar (kimlik doğrulama, yetki, istek header’ları, günlük limit) burada tekrarlanmaz.| Kod | HTTP | Anlamı |
|---|---|---|
0002 | 400 | İstek gövdesi okunamadı (bozuk JSON, alan tipi uyumsuz) |
0003 | 400 | Alan azami uzunluğu aşıyor (mesajda alan adı ve sınır yazar) |
0580 | 400 | Metinle verilen değer (kod ya da ad) birden fazla kayıtla eşleşiyor; hangisi olduğunu ayırt edecek bilgiyi ekleyin (ör. ilçe için City, il için Country) |
8100 | 404 | Banka havale fişi bulunamadı |
8101 | 400 | TransferType 1 (gelen) ya da 2 (giden) olmalı |
8102 | 400 | VoucherNumber zorunlu |
8103 | 400 | VoucherNumber şirkette (banka fişi tipleri arasında) kullanılıyor |
8104 | 400 | VoucherNumber güncellemede “Next” olamaz |
8105 | 400 | Date zorunlu |
8106 | 400 | BankAccountCode zorunlu |
8107 | 400 | BankAccountCode bulunamadı |
8108 | 400 | En az bir satır zorunlu |
8109 | 400 | Fiş muhasebeleştiği için güncellenemez ya da silinemez |
8110 | 400 | SharingCode kullanıcının paylaşım kodlarından biri değil |
8111 | 400 | TransferType fiş oluşturulduktan sonra değiştirilemez |
8200 | 400 | Satırda CustomerCode zorunlu |
8201 | 400 | Satırda cari bulunamadı |
8202 | 400 | Satırda Amount 0’dan büyük olmalı |
8203 | 400 | Satırda ExchangeRate (ya da CustomerExchangeRate) zorunlu ve 0’dan büyük olmalı |
8204 | 400 | Satırda CustomerCurrencyCode bulunamadı |
8205 | 400 | Satırda CustomerAmount x CustomerExchangeRate, Amount x ExchangeRate’e eşit değil |
8206 | 400 | Satırda CustomerAmount ve CustomerCurrencyCode birlikte gönderilmeli |
8207 | 400 | Satırın cari hareketi kapatılmış, işlem iptal edildi |
8208 | 400 | Satırın cari hareketi için ödeme planı oluşturulmuş, işlem iptal edildi |
Yetkilendirmeler
Access token obtained from the Noyax auth service with your API key.
Başlıklar
İsteğin adına yapıldığı Noyax kullanıcısının ID'si. Oluşturulan, güncellenen ve silinen kayıtların denetim alanlarına yazılır.
x >= 1Şirketin ID'si. Kullanıcı bu şirkete tanımlı olmalıdır. Bütün okuma ve yazma işlemleri bu şirketle sınırlıdır.
x >= 1Muhasebe döneminin ID'si. Cari endpoint'lerinde isteğe bağlıdır; gönderilirse oluşturulan kayıtlara yazılır.
x >= 1Yol Parametreleri
Banka havale fişi ID'si.
Gövde
Zorunlu. 1: Gelen havale (Gelen EFT/Havale), 2: Giden havale (Giden EFT/Havale). Fiş oluşturulduktan sonra değiştirilemez.
1
Zorunlu. Fiş numarası, şirkette tüm banka fişleri arasında benzersiz. Oluştururken "Next" gönderirseniz şirketin banka fişi numara serisinden üretilir. En fazla 20 karakter.
"Next"
Zorunlu. Fiş tarihi. Saat de gönderilirse fiş saati olarak yazılır, gönderilmezse o anki saat kullanılır.
"2026-09-24T14:06:00"
Zorunlu. Banka hesabı adı (GET /api/v1/finance/bank-accounts'tan Name). Fişteki bütün satırlar bu hesaba yazılır.
"TEST POS"
Açıklama. En fazla 1000 karakter.
Fişi kimlerin görebileceğini sınırlayan paylaşım kodu. Boşsa herkes görür; doluysa kullanıcının paylaşım kodlarından biri olmalıdır.
Zorunlu, en az bir satır.
Show child attributes
Show child attributes
Yanıt
OK
İşlemin başarılı olup olmadığı.
true
Başarıda "0000". Hatada ilk hatanın kodu; hataların tamamı Errors içinde listelenir.
"0000"
Response data. Null when Success is false.
Show child attributes
Show child attributes
Success false olduğunda hata mesajı. Bütün hataların mesajları tek metinde birleştirilir.