Cari Hesap Oluşturma
Yeni cari hesap kaydı oluşturma.
Endpoint
POST /kolaybi/v1/associates
Parametreler
| Parametre | Tip | Zorunlu | Açıklama |
|---|---|---|---|
name | string | Evet | Cari adı (min 2 karakter) |
surname | string | Evet | Cari soyadı (min 2 karakter) |
identity_no | string | Evet | TCKN/VKN numarası (10-11 hane) |
is_corporate | boolean | Hayır | Tüzel için true, bireysel için false |
associate_type | AssociateType | Hayır | Cari tipi (varsayılan: customer) |
tax_office | string | Hayır | Vergi dairesi (VKN için zorunlu) |
website | string | Hayır | Cari web sitesi |
code | string | Hayır | Özel cari kodu |
tags | array | Hayır | Etiket ID listesi (tags[0], tags[1]) |
phone | string | Hayır | Telefon numarası |
email | string | Hayır | E-posta adresi |
addresses[address] | string | Hayır | Adres bilgisi |
addresses[city] | string | Hayır | Şehir adı |
addresses[district] | string | Hayır | İlçe adı |
addresses[country] | string | Hayır | Ülke adı |
addresses[address_type] | AddressType | Hayır | Adres tipi (varsayılan: invoice) |
addresses[is_abroad] | boolean | Hayır | Yurt dışı adres (true/false) |
addresses[building_name] | string | Hayır | Bina adı (is_abroad true olduğunda) |
addresses[number] | number | Hayır | Bina numarası (is_abroad true olduğunda) |
addresses[postal_code] | string | Hayır | Posta kodu (is_abroad true olduğunda) |
addresses[street] | string | Hayır | Sokak (is_abroad true olduğunda) |
Örnekler
- cURL
- JavaScript
- PHP
- Python
- C#
# Temel cari hesap oluşturma
curl -X POST "https://ofis-sandbox-api.kolaybi.com/kolaybi/v1/associates" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Channel: YOUR_CHANNEL" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "name=Ahmet&surname=Yılmaz&identity_no=12345678901"
# Detaylı cari hesap oluşturma
curl -X POST "https://ofis-sandbox-api.kolaybi.com/kolaybi/v1/associates" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Channel: YOUR_CHANNEL" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "name=Ahmet&surname=Yılmaz&identity_no=12345678901&is_corporate=false&associate_type=customer&code=CAR-001&website=https://ahmetticaret.com&tags[0]=3&phone=+905123456789&email=ahmet@example.com&addresses[address]=Test Mahallesi&addresses[city]=Istanbul&addresses[district]=Kadikoy&addresses[address_type]=invoice"
async function createAssociate(data) {
const formData = new URLSearchParams(data);
const response = await fetch(
"https://ofis-sandbox-api.kolaybi.com/kolaybi/v1/associates",
{
method: "POST",
headers: {
Authorization: `Bearer ${accessToken}`,
Channel: channel,
"Content-Type": "application/x-www-form-urlencoded",
},
body: formData,
}
);
return await response.json();
}
// Temel kullanım
const associate = await createAssociate({
name: "Ahmet",
surname: "Yılmaz",
identity_no: "12345678901",
});
// Detaylı kullanım
const detailedAssociate = await createAssociate({
name: "Ahmet",
surname: "Yılmaz",
identity_no: "12345678901",
is_corporate: false,
associate_type: "customer",
code: "CAR-001",
website: "https://ahmetticaret.com",
"tags[0]": 3,
phone: "+905123456789",
email: "ahmet@example.com",
"addresses[address]": "Test Mahallesi",
"addresses[city]": "Istanbul",
"addresses[district]": "Kadikoy",
"addresses[address_type]": "invoice"
});
function createAssociate($data) {
$url = 'https://ofis-sandbox-api.kolaybi.com/kolaybi/v1/associates';
$ch = curl_init();
curl_setopt_array($ch, [
CURLOPT_URL => $url,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => http_build_query($data),
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . $accessToken,
'Channel: ' . $channel,
'Content-Type: application/x-www-form-urlencoded'
],
CURLOPT_RETURNTRANSFER => true
]);
$response = curl_exec($ch);
curl_close($ch);
return json_decode($response, true);
}
// Temel kullanım
$associate = createAssociate([
'name' => 'Ahmet',
'surname' => 'Yılmaz',
'identity_no' => '12345678901'
]);
// Detaylı kullanım
$detailedAssociate = createAssociate([
'name' => 'Ahmet',
'surname' => 'Yılmaz',
'identity_no' => '12345678901',
'is_corporate' => false,
'associate_type' => 'customer',
'code' => 'CAR-001',
'website' => 'https://ahmetticaret.com',
'tags[0]' => 3,
'phone' => '+905123456789',
'email' => 'ahmet@example.com',
'addresses[address]' => 'Test Mahallesi',
'addresses[city]' => 'Istanbul',
'addresses[district]' => 'Kadikoy',
'addresses[address_type]' => 'invoice'
]);
import requests
def create_associate(data):
url = "https://ofis-sandbox-api.kolaybi.com/kolaybi/v1/associates"
headers = {
"Authorization": f"Bearer {access_token}",
"Channel": channel,
"Content-Type": "application/x-www-form-urlencoded"
}
response = requests.post(url, headers=headers, data=data)
return response.json()
# Temel kullanım
associate = create_associate({
"name": "Ahmet",
"surname": "Yılmaz",
"identity_no": "12345678901"
})
# Detaylı kullanım
detailed_associate = create_associate({
"name": "Ahmet",
"surname": "Yılmaz",
"identity_no": "12345678901",
"is_corporate": False,
"associate_type": "customer",
"code": "CAR-001",
"website": "https://ahmetticaret.com",
"tags[0]": 3,
"phone": "+905123456789",
"email": "ahmet@example.com",
"addresses[address]": "Test Mahallesi",
"addresses[city]": "Istanbul",
"addresses[district]": "Kadikoy",
"addresses[address_type]": "invoice"
})
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Threading.Tasks;
using Newtonsoft.Json;
async Task<dynamic> CreateAssociateAsync(Dictionary<string, string> data)
{
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://ofis-sandbox-api.kolaybi.com/kolaybi/v1/associates")
{
Content = new FormUrlEncodedContent(data)
};
request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
request.Headers.Add("Channel", channel);
var response = await client.SendAsync(request);
var content = await response.Content.ReadAsStringAsync();
return JsonConvert.DeserializeObject<dynamic>(content);
}
// Temel kullanım
var associate = await CreateAssociateAsync(new Dictionary<string, string>
{
{ "name", "Ahmet" },
{ "surname", "Yılmaz" },
{ "identity_no", "12345678901" }
});
// Detaylı kullanım
var detailedAssociate = await CreateAssociateAsync(new Dictionary<string, string>
{
{ "name", "Ahmet" },
{ "surname", "Yılmaz" },
{ "identity_no", "12345678901" },
{ "is_corporate", "false" },
{ "associate_type", "customer" },
{ "code", "CAR-001" },
{ "website", "https://ahmetticaret.com" },
{ "tags[0]", "3" },
{ "phone", "+905123456789" },
{ "email", "ahmet@example.com" },
{ "addresses[address]", "Test Mahallesi" },
{ "addresses[city]", "Istanbul" },
{ "addresses[district]", "Kadikoy" },
{ "addresses[address_type]", "invoice" }
});
Yanıt
- Başarılı Yanıt
{
"data": {
"id": 1,
"name": "Ahmet",
"surname": "Yılmaz",
"code": "CAR001",
"identity_no": "12345678901",
"tax_office": "Kadıköy VD",
"associate_type": "customer",
"phone": "+905123456789",
"email": "ahmet@example.com",
"country": "Türkiye",
"tags": [
{
"id": 3,
"name": "e-ticaret"
}
],
"address": [
{
"id": 1,
"address": "Test Mahallesi",
"city": "Istanbul",
"district": "Kadikoy",
"coutry_name": "Türkiye",
"postal_code": "34710",
"address_type": "invoice",
"is_abroad": false
}
],
"balances": [
{
"currency": "try",
"balance": 0,
"tantamount": 0
}
]
}
}
Yanıt Alanları
| Alan | Tip | Açıklama |
|---|---|---|
id | integer | Oluşturulan cari ID |
name | string | Cari adı |
surname | string | Cari soyadı |
code | string | Oluşturulan cari kodu |
identity_no | string | TCKN/VKN |
tax_office | string | Vergi dairesi |
associate_type | string | Cari tipi |
phone | string | Telefon |
email | string | E-posta |
country | string | Cari ülke bilgisi |
tags | array | Etiket listesi |
address | array | Adres kayıtları |
balances | array | Para birimi bazlı bakiye listesi |
Etiket Alanları (tags)
| Alan | Tip | Açıklama |
|---|---|---|
id | integer | Etiket ID değeri |
name | string | Etiket adı |
description | string | Etiket açıklaması (varsa) |
Adres Alanları (address[])
| Alan | Tip | Açıklama |
|---|---|---|
id | integer | Adrese ait ID |
address | string | Adres satırı |
country_name | string | Ülke adı |
postal_code | string | Posta kodu |
is_abroad | boolean | Yurt dışı adres bilgisi |
building_name | string | Bina adı |
number | number | Bina numarası |
street | string | Sokak |
address_type | string | Adres tipi (invoice, delivery vb.) |
city | string | Şehir |
district | string | İlçe |
Bakiye Alanları (balances[])
| Alan | Tip | Açıklama |
|---|---|---|
currency | string | Para birimi |
balance | number | Carinin para birimine göre bakiyesi |
tantamount | number | Şirket para birimindeki karşılığı |