e-Fatura Listeleme
Gönderilen şirket idsi ve fatura yönüne bağlı olarak ilgili şirkete ait faturaları görüntülemek için kullanılır.
Endpoint
GET /kolaybi/v1/e_document/invoices
Parametreler
| Parametre | Tip | Zorunlu | Açıklama |
|---|---|---|---|
company_id | integer | Evet | Şirkete ait ID değeri |
direction | string | Evet | Gönderim şekli |
document_id | integer | Hayır | Fatura numarası |
min_issue_date | string | Hayır | Minimum fatura tarihi (YYYY-MM-DD) |
max_issue_date | string | Hayır | Maksimum fatura tarihi (YYYY-MM-DD) |
min_total_amount | number | Hayır | Minimum toplam tutar |
max_total_amount | number | Hayır | Maksimum toplam tutar |
party_name | string | Hayır | Alıcı/Satıcı ünvanı |
Örnekler
- cURL
- JavaScript
- PHP
- Python
- C#
# Temel kullanım
curl -X GET "https://ofis-sandbox-api.kolaybi.com/kolaybi/v1/e_document/invoices?company_id=5&direction=outbound" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Channel: YOUR_CHANNEL"
# Filtreleme ile kullanım
curl -X GET "https://ofis-sandbox-api.kolaybi.com/kolaybi/v1/e_document/invoices?company_id=5&direction=outbound&min_issue_date=2024-01-01&max_issue_date=2024-12-31&min_total_amount=100&party_name=KolayBi" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Channel: YOUR_CHANNEL"
async function listEDocumentInvoices(companyId, direction, filters = {}) {
const params = new URLSearchParams({
company_id: companyId,
direction: direction,
});
// Opsiyonel filtreler
if (filters.document_id) params.append('document_id', filters.document_id);
if (filters.min_issue_date) params.append('min_issue_date', filters.min_issue_date);
if (filters.max_issue_date) params.append('max_issue_date', filters.max_issue_date);
if (filters.min_total_amount) params.append('min_total_amount', filters.min_total_amount);
if (filters.max_total_amount) params.append('max_total_amount', filters.max_total_amount);
if (filters.party_name) params.append('party_name', filters.party_name);
const response = await fetch(
`https://ofis-sandbox-api.kolaybi.com/kolaybi/v1/e_document/invoices?${params}`,
{
headers: {
Authorization: `Bearer ${accessToken}`,
Channel: channel,
},
}
);
return await response.json();
}
// Temel kullanım
const invoices = await listEDocumentInvoices(5, "outbound");
// Filtreleme ile kullanım
const filteredInvoices = await listEDocumentInvoices(5, "outbound", {
min_issue_date: "2024-01-01",
max_issue_date: "2024-12-31",
min_total_amount: 100,
party_name: "KolayBi"
});
function listEDocumentInvoices($companyId, $direction, $filters = []) {
$params = [
'company_id' => $companyId,
'direction' => $direction
];
// Opsiyonel filtreler
if (isset($filters['document_id'])) $params['document_id'] = $filters['document_id'];
if (isset($filters['min_issue_date'])) $params['min_issue_date'] = $filters['min_issue_date'];
if (isset($filters['max_issue_date'])) $params['max_issue_date'] = $filters['max_issue_date'];
if (isset($filters['min_total_amount'])) $params['min_total_amount'] = $filters['min_total_amount'];
if (isset($filters['max_total_amount'])) $params['max_total_amount'] = $filters['max_total_amount'];
if (isset($filters['party_name'])) $params['party_name'] = $filters['party_name'];
$url = 'https://ofis-sandbox-api.kolaybi.com/kolaybi/v1/e_document/invoices?' .
http_build_query($params);
$ch = curl_init();
curl_setopt_array($ch, [
CURLOPT_URL => $url,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . $accessToken,
'Channel: ' . $channel
],
CURLOPT_RETURNTRANSFER => true
]);
$response = curl_exec($ch);
curl_close($ch);
return json_decode($response, true);
}
// Temel kullanım
$invoices = listEDocumentInvoices(5, 'outbound');
// Filtreleme ile kullanım
$filteredInvoices = listEDocumentInvoices(5, 'outbound', [
'min_issue_date' => '2024-01-01',
'max_issue_date' => '2024-12-31',
'min_total_amount' => 100,
'party_name' => 'KolayBi'
]);
import requests
def list_e_document_invoices(company_id, direction, filters=None):
url = 'https://ofis-sandbox-api.kolaybi.com/kolaybi/v1/e_document/invoices'
params = {
'company_id': company_id,
'direction': direction
}
# Opsiyonel filtreler
if filters:
if 'document_id' in filters:
params['document_id'] = filters['document_id']
if 'min_issue_date' in filters:
params['min_issue_date'] = filters['min_issue_date']
if 'max_issue_date' in filters:
params['max_issue_date'] = filters['max_issue_date']
if 'min_total_amount' in filters:
params['min_total_amount'] = filters['min_total_amount']
if 'max_total_amount' in filters:
params['max_total_amount'] = filters['max_total_amount']
if 'party_name' in filters:
params['party_name'] = filters['party_name']
headers = {
'Authorization': f'Bearer {access_token}',
'Channel': channel
}
response = requests.get(url, params=params, headers=headers)
return response.json()
# Temel kullanım
invoices = list_e_document_invoices(5, 'outbound')
# Filtreleme ile kullanım
filtered_invoices = list_e_document_invoices(5, 'outbound', {
'min_issue_date': '2024-01-01',
'max_issue_date': '2024-12-31',
'min_total_amount': 100,
'party_name': 'KolayBi'
})
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Threading.Tasks;
using Newtonsoft.Json;
using System.Web;
async Task<dynamic> ListEDocumentInvoicesAsync(int companyId, string direction, Dictionary<string, object> filters = null)
{
using var client = new HttpClient();
var queryParams = new List<string>
{
$"company_id={companyId}",
$"direction={Uri.EscapeDataString(direction)}"
};
// Opsiyonel filtreler
if (filters != null)
{
if (filters.ContainsKey("document_id"))
queryParams.Add($"document_id={filters["document_id"]}");
if (filters.ContainsKey("min_issue_date"))
queryParams.Add($"min_issue_date={Uri.EscapeDataString(filters["min_issue_date"].ToString())}");
if (filters.ContainsKey("max_issue_date"))
queryParams.Add($"max_issue_date={Uri.EscapeDataString(filters["max_issue_date"].ToString())}");
if (filters.ContainsKey("min_total_amount"))
queryParams.Add($"min_total_amount={filters["min_total_amount"]}");
if (filters.ContainsKey("max_total_amount"))
queryParams.Add($"max_total_amount={filters["max_total_amount"]}");
if (filters.ContainsKey("party_name"))
queryParams.Add($"party_name={Uri.EscapeDataString(filters["party_name"].ToString())}");
}
var url = $"https://ofis-sandbox-api.kolaybi.com/kolaybi/v1/e_document/invoices?{string.Join("&", queryParams)}";
var request = new HttpRequestMessage(HttpMethod.Get, url);
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 invoices = await ListEDocumentInvoicesAsync(5, "outbound");
// Filtreleme ile kullanım
var filteredInvoices = await ListEDocumentInvoicesAsync(5, "outbound", new Dictionary<string, object>
{
{ "min_issue_date", "2024-01-01" },
{ "max_issue_date", "2024-12-31" },
{ "min_total_amount", 100 },
{ "party_name", "KolayBi" }
});
Yanıt
{
"data": [
{
"document_id": 18,
"uuid": "f46d5a8d-7726-4b37-bba4-973c7ab50a5b",
"no": "HDB2021000008464",
"status": "sent_to_receiver",
"scenario": "EARSIVFATURA",
"type": "SATIS",
"direction": "outbound",
"exchange_grand_total": 20,
"exchange_grand_currency": "try",
"grand_total": 20,
"grand_currency": "try"
}
]
}
Yanıt Alanları
| Alan | Tip | Açıklama |
|---|---|---|
document_id | integer | Fatura ID değeri |
uuid | string | Fatura UUID (ETTN) |
no | string | Seri numarası |
status | string | E-Fatura durumu |
scenario | string | Fatura senaryosu |
type | string | Fatura tipi |
direction | string | Gönderim şekli |
exchange_grand_total | number | Yerel tutar |
exchange_grand_currency | string | Yerel para birimi |
grand_total | number | Toplam tutar |
grand_currency | string | Fatura para birimi |