Abacus Web API

Acenta ve operatör uygulamalarınızdan Abacus'e alış/satış faturalarını ve fişlerini aktarmak için kullanılan REST servisi. Token ile korunur, JSON ve XML gövdeleri destekler.

Genel Bakış

Nasıl çalışır?

Abacus Web API; acenta ve operatör yazılımlarının muhasebe hesap tanımlarını okumasını ve alış/satış faturalarını, tahsilat/ödeme fişlerini Abacus'e aktarmasını sağlar. Tüm istekler bir Bearer token ile yetkilendirilir.

Temel adres{{baseUrl}} — kurulumunuza özel adres
Kimlik doğrulamaOAuth (Microsoft.Owin) — Bearer token
Veri biçimiJSON veya XML (fatura aktarımı ikisini de kabul eder)
Karakter setiUTF-8
i

Entegrasyona başlamadan önce Abacus ekibinden kullanıcı adı, parola ve bağlantı (connection) bilgilerinizi ve temel adresinizi edinin.

Kimlik Doğrulama

Token alma

/token uç noktasına kullanıcı bilgilerinizle POST göndererek erişim token'ı alırsınız. Dönen access_token'ı sonraki tüm isteklerin Authorization başlığında kullanın.

# İstek — gövde (form)
POST {{baseUrl}}/token

username=PRGRUSER&password=PRGPASWORD&grant_type=password&connection=PRGCONNECTION
// Yanıt
{
  "access_token": "4ZVKa96Egt0Ep1MkQUXVKb9NrDsvMfAtS245AN4dL1hi...",
  "token_type": "bearer",
  "expires_in": 86399
}

Sonraki isteklerde:

GET {{baseUrl}}/api/values/getintaccounts
Authorization: Bearer ACCESS_TOKEN
!

Token süre sınırlıdır (expires_in saniye ≈ 1 gün). Süre dolduğunda /token üzerinden yeniden token alın.

Referans Veriler

Muhasebe Tanımları

Fatura aktarmadan önce hesap kodu, kullanıcı, döviz ve masraf merkezi tanımlarını okuyup eşleştirme (çaprazlama) yapın. Eşleştirmede genellikle Code alanı kullanılır.

MetotUç NoktaAçıklama
GET/api/values/getintaccountsMuhasebe hesap kodları (çaprazlama için Code).
GET/api/values/GeinttusersMuhasebe kullanıcıları.
GET/api/values/getintcurrenciesDöviz cinsleri (USD, EUR, TRY…).
GET/api/values/getcostaccountsMasraf merkezleri.
GET/api/values/InsertCard?code1=&code2=&code3=&accountname=Yeni hesap kodu açar; yanıttaki Code yeni açılan koddur.
POST/api/values/UpdateAccCardDetaylı cari/hesap kartı oluşturma (adres, vergi, e-fatura bilgileri).
// GET /api/values/getintaccounts — örnek yanıt
[
  { "Id": 338, "Code": "120.08.235", "Name": "YAZ TUR" },
  { "Id": 689, "Code": "100.01.001", "Name": "MUHASEBE TL KASA" }
]
Ana Entegrasyon

Fatura / Fiş Aktarımı

Tüm alış/satış faturaları ve tahsilat/ödeme fişleri tek uç noktaya gönderilir. İşlem türü, gövdedeki DocType ve IsSlip alanlarıyla belirlenir. Gövde JSON ya da XML olabilir.

MetotUç NoktaAçıklama
POST/api/values/updateintegrationFatura/fiş aktarır. Yanıttaki id muhasebe fiş numarasıdır — saklayın.
GET/api/values/integrationreturn?SlipNo=900Aktarılan fişi geri alır (SlipNo = önceki id).

Örnek — Satış faturası (JSON)

POST {{baseUrl}}/api/values/updateintegration
Authorization: Bearer ACCESS_TOKEN

{
  "Tarih": "2025-01-17",
  "CariKod": "120.01.024",
  "EvrakNo": "123456789",
  "Kur": 3.45,
  "DovizCinsiString": "USD",
  "DocType": 1,
  "IsSlip": 0,
  "Kaynak": "Sejour",
  "KayitEdenString": "Sejour",
  "EACustName": "Zeytindalı yazılım",
  "EAEmail": "ornek@firma.com",
  "EAIdNo": "9300199600",
  "Detay": [
    {
      "HesapKod": "600.01.002",
      "DovizCinsiString": "USD",
      "DovizTutar": 109.8,
      "Kdv": 10,
      "Kur": 29.5481,
      "ResNo": "PX061022",
      "ResServiceName": "ADORA GOLF HOTEL",
      "ResGuestName": "ALİ VELİ",
      "GirisTarihi": "2017-01-11",
      "CikisTarihi": "2017-01-12"
    }
  ]
}

Örnek — Satış faturası (XML)

<?xml version="1.0" encoding="UTF-8"?>
<Icmal>
  <Tarih>2017-01-17</Tarih>
  <CariKod>120.01.024</CariKod>
  <EvrakNo>SGB2017000000066</EvrakNo>
  <Kur>3,45</Kur>
  <DovizCinsiString>USD</DovizCinsiString>
  <DocType>1</DocType>
  <IsSlip>0</IsSlip>
  <Kaynak>Sejour</Kaynak>
  <KayitEdenString>Sejour</KayitEdenString>
  <Detay>
    <HesapKod>600.01.002</HesapKod>
    <DovizCinsiString>USD</DovizCinsiString>
    <DovizTutar>109,8</DovizTutar>
    <Kdv>0</Kdv>
    <Kur>3,45</Kur>
  </Detay>
</Icmal>

Yanıt

{
  "id": 2500,
  "error": "",
  "GuidId": "05b34756-cbf2-472f-b223-a379c56f5059"
}
i

id: Muhasebe fiş numarasıdır; geri alma işlemi için saklayın. error: Boş/null ise aktarım başarılı, dolu ise hata mesajıdır.

Belge Türleri

DocType & IsSlip

Gönderdiğiniz belgenin türü bu iki alanla belirlenir:

İşlemDocTypeIsSlip
Satış Faturası10
Satış İade Faturası20
Alış Faturası30
Alış İade Faturası40
Tahsilat Fişi31
Ödeme Fişi11
Sorgulama

Sorgulama & Önizleme

MetotUç NoktaAçıklama
POST/api/values/GetInvoiceReportXGönderilmiş faturaların raporu (tarih ve evrak no aralığı).
PUT/api/values/GetSlipListXFiş listesi (GuidId + voucher aralığı).
GET/api/default/GetInvoiceHtml?eguideid=Faturanın HTML önizlemesi.
GET/api/default/GetInvoiceByte?eguideid=Faturanın PDF (byte) önizlemesi.
// POST /api/values/GetInvoiceReportX — gövde
{
  "DateBegin": "2024-01-01T00:00:00",
  "DateEnd": "2024-12-31T00:00:00",
  "VoucherNoBegin": 1,
  "VoucherNoEnd": 100
}
Veri Modelleri

Icmal & Detay alanları

Fatura aktarımında kullanılan Icmal (fatura başlığı) ve Detay (satırlar) modellerinin alanları. ✅ zorunlu alanları gösterir.

Icmal (fatura başlığı) alanları
AlanAçıklamaTipZorunlu
TarihFatura tarihiDateTime
CariKodFinans üst hesap kodustring
KurDöviz kuru (örn. 36.5544 veya 0)decimal
DovizCinsiStringDöviz cinsi (USD, EUR…)string
DocType1:Satış, 2:Satış iade, 3:Alış, 4:Alış iadebyte
IsSlip1:Fiş, 0:Faturabyte
KaynakKaynak (Sejour, biziclick, tourvisio)string
KayitEdenStringKaydeden kullanıcı adıstring
DetayFatura detay satırlarıList
EvrakNo / EvrakSeriEvrak numarası / seristring
AciklamaFatura açıklamasıstring
IsEInvE-Fatura mı?bool?
EACustNameAlıcı unvanıstring
EAAddressAlıcı adresistring
EAEmailAlıcı e-postastring
EAIdNoAlıcı VKN/TCKNstring
EATaxOfficeAlıcı vergi dairesistring
TicketNoBilet numarasıstring
AttachmentsEkli dosya adı/yolustring
Detay (satır) alanları
AlanAçıklamaTipZorunlu
HesapKodFinans hesap kodustring
DovizTutarDöviz tutarı (satır toplamı)decimal
KdvKDV oranıint
KurDöviz kurudecimal
Aciklama1 / Aciklama2Satır açıklamasıstring
GirisTarihi / CikisTarihiRezervasyon giriş/çıkış tarihiDateTime?
ResNoRezervasyon numarasıstring
ResInfoRezervasyon pax bilgisistring
ResServiceNameServis adı (örn. otel adı)string
ResGuestNameMisafir adıstring
ResCountryMisafir ülkesistring
MasrafMerkezi / MasrafMerkeziIdMasraf merkezistring / int?
TLTutarTL cinsinden tutardecimal?
F1…F6Özel alanlar (müşteri adı, voucher, oda tipi…)string

Entegrasyona başlayalım

Kullanıcı, parola ve bağlantı bilgilerinizi alın; koleksiyondaki hazır isteklerle uç noktaları hemen deneyin.