API nədir? Biznes sahibi üçün sadə izah və niyə müqavilədə yazılmalıdır

Onlayn mağazanızda sifariş düşür. Bir işçi həmin sifarişi əl ilə mühasibatlıq proqramına köçürür, başqa biri kuryer panelinə yazır, üçüncüsü isə müştəriyə SMS göndərmək üçün ayrıca sistemə keçir. Üç sistem, üç dəfə əl işi — və hər addımda ayrıca səhv ehtimalı.
Təchizatçı ilə görüşdə kimsə "bunu API ilə bağlaya bilərik" deyəndə, çoxu sahib başını tərpədir, amma nə vəd olunduğunu dəqiq bilmir. Nəticədə ya lazım olmayan işə pul gedir, ya da əslində lazım olan şey — sistemlərin bir-biri ilə avtomatik danışması — heç vaxt baş tutmur.
API sözünün arxasında nə dayanır — sadə tərif
API — Application Programming Interface — mürəkkəb səslənir, amma iş prinsipi restoran ofisiantına bənzəyir. Mətbəx (bir sistem) və müştəri masası (başqa sistem) birbaşa danışmır; ofisiant sifarişi müəyyən formada götürür, mətbəxə aparır, hazır olanda da eyni qaydada geri gətirir. API də belədir: bir proqram başqasından məlumat istəyir, sabit bir formada cavab alır, özü şərh etmək məcburiyyətində qalmır.
Bunu bilmək texniki maraq üçün deyil, sözün əsl mənasında pul qərarı üçün lazımdır. Kimsə "inteqrasiya" sözünü işlədəndə, bu, "iki sistem arasında adam yerinə API işləyəcək" demək ola bilər — ya da sadəcə "hər ay bir nəfər fayl ixrac edib əl ilə köçürəcək" demək ola bilər. İkisi də "inteqrasiya" adlanır, amma biri bir dəfəlik qurulan işdir, digəri isə aylıq maaş xərci. Fərqi ayırmaq üçün üç sual kifayətdir: hansı məlumat gedir, hansı istiqamətdə, avtomatik yoxsa əllə? Bu suallar bu həftə növbəti təchizatçı zəngində soruşula bilər — cavab "əllə" olsa, söhbətdə "inteqrasiya" sözü təkrarlanmasın.
Eyni məlumatı üç yerə yazmaq — itki harada gizlənir
Ən çox rast gəlinən mənzərə budur: sayt sifarişi qeyd edir, sonra həmin sifariş 1C-yə əl ilə köçürülür, kuryer sisteminə ayrıca yazılır, SMS-i isə kimsə üçüncü paneldən göndərməyi yadda saxlamalıdır. Hər köçürmə — bir neçə dəqiqə iş vaxtı və ayrıca bir səhv ehtimalı. Sifariş sayı azkən bu görünməz qalır. On-iyirmi sifariş bir gündə bu işə ayrılan saat sayını artırır, üstəlik səhv nisbəti də bir yerdə deyil, hər köçürmə nöqtəsində ayrıca yaranır.
Əsl itki isə vaxtdan da bahadır: telefon nömrəsi səhv köçürülüb müştəriyə SMS getmirsə, o, sifarişinin taleyini bilmir və növbəti dəfə başqa yerdən alır. Bunu hiss etmək üçün mühasibat hesabatı deyil, sadə bir müşahidə kifayətdir — bu həftə komandaya sadə bir sual verin: bir sifariş neçə fərqli sistemə əl ilə yazılır? Rəqəm ikidən çoxdursa, artıq problem var, sadəcə hələ hesablanmayıb.
Hər sistemin API-si yoxdur — almazdan əvvəl necə yoxlamaq olar
Yeni bir sistem — ödəniş provayderi, kuryer xidməti, mühasibatlıq proqramı — seçəndə satıcı demək olar hər zaman "əlbəttə, inteqrasiya olunur" deyir. Amma bu cümlə tək başına heç nə sübut etmir. Bəzi sistemlərin həqiqətən sənədləşdirilmiş API-si var — yəni başqa proqramlar üçün açıq, təsvir olunmuş bir qapı. Bəzilərinin isə yoxdur, və "inteqrasiya" sözü sadəcə "bizim işçi sizin işçinizlə koordinasiya edəcək" demək olur.
Bunun fərqini almazdan əvvəl yoxlamaq bir dəqiqəlik işdir: satıcıdan API sənədinin linkini istəyin. Varsa, göndərəcək — istəmirsə də, texniki komandası bir neçə dəqiqəyə tapıb göstərə bilər. Link yoxdursa və ya "onu ayrıca müzakirə edərik" cavabı gəlirsə, bu, özü-özlüyündə cavabdır: həmin sistem sizi növbəti illərdə əl işinə bağlayacaq, "inteqrasiya" isə kağız üzərində qalacaq. Bu yoxlamanı indi seçəcəyiniz hər hansı yeni sistemə — imzadan əvvəl — tətbiq edin. API-nin olmaması mütləq həmin sistemi rədd etmək demək deyil — uzun müddətdir işlədiyiniz köhnə, yerli bir mühasibat proqramında bu, tez-tez rast gəlinən haldır. Amma bu halda qiymətə əl işi üçün ayrılan vaxt da daxil edilməlidir, çünki gizli xərc sadəcə gecikir, yox olmur.
Webhook: sistem niyə "özü yazır" — və niyə etibarlı olur
Real inteqrasiya ilə həftəlik fayl ixracı arasındakı fərqi başqa cür görmək olar: sorğu uğursuz olanda nə baş verir. Adi əl işi sxemində kimsə unudur, tətildə olur, xəstələnir — o zaman heç kim məlumatı köçürmür və bunu heç kim bilmir, tez ki müştəri şikayət etsin. Real bir API-webhook bağlantısında isə bu fərqlidir: bir sistem digərinə məlumat göndərəndə, qarşı tərəf müvəqqəti əlçatmaz olsa belə, sorğu itmir — sistem onu bir az sonra yenidən göndərir, nəticə eyni qalır.
Bu, kiçik detal kimi görünür, amma real dəyər məhz burdadır: avtomatlaşdırma yalnız "adətən işləyəndə" deyil, bir server bir dəqiqəliyə cavab vermədiyi anda da işləməlidir. Növbəti dəfə kimsə "inteqrasiya qurmuşuq" desə, sadə bir sual kifayətdir: sorğu uğursuz olanda sistem nə edir? Cavab "yenidən göndərir" deyilsə, əlinizdəki, çox güman ki, avtomatlaşdırma deyil, gizlədilmiş əl işidir.
Müqavilədə API bəndi olmalıdır — bu sahiblik məsələsidir
Tutaq ki, inteqrasiya real qurulub, hər şey işləyir. Buradan sonrakı sual texniki deyil, hüquqidir: qurulan bağlantının açarları, girişləri və sənədləşməsi kimə məxsusdur? Çoxu müqavilədə bu bənd sadəcə yoxdur, çünki kimsə "əlbəttə, sizin olacaq" deyib şifahi razılaşır. Amma təchizatçı dəyişəndə, müqavilə bitəndə və ya sadəcə əməkdaşlıq soyuyanda, "şifahi əlbəttə" heç nəyə çevrilmir — yeni komanda hər şeyi sıfırdan araşdırmalı olur, ya da köhnə təchizatçıdan asılı qalır.
Bu, texniki mövzu deyil, sahiblik mövzusudur: API açarları, hesablar və inteqrasiyanın necə işlədiyini göstərən sənəd kimin adına qeydiyyatdan keçib, kimin əlində saxlanılır. Bu həftə edə biləcəyiniz konkret addım budur: hazırda işlədiyiniz təchizatçı müqaviləsini açın və orada bu bəndin olub-olmadığına baxın. Yoxdursa, növbəti yenilənmədə əlavə etdirin — imzadan əvvəl, imzadan sonra yox. Təchizatçı bu bəndi əlavə etməkdən imtina edirsə, bu da özlüyündə cavabdır: niyyət sizi asılı saxlamaqdırsa, bunu sözlə yox, məhz bu imtina ilə göstərir.
API-nin olub-olmaması texniki sual deyil — sistemin, işiniz bitəndə, sizə, yoxsa təchizatçıya məxsus qalacağını həll edən sualdır.
Saytınız, ödəniş provayderiniz, kuryer xidmətiniz və 1C sisteminiz hələ də bir-biri ilə əl işi ilə "danışırsa", bunu dəyişmək böyük layihə deyil — konkret bir bağlantıdır. Sistemlərinizi API ilə bir-birinə bağlayan işimiz məhz bunun üçündür: hansı sistemin real API verdiyini biz yoxlayırıq, açarlar və hesablar sizin adınıza qalır, işin əhatə dairəsi imzadan əvvəl yazılı razılaşdırılır.