API анықтамасы
Сервер API есептік жазбаларды, шот-фактураларды, қауіпсіз төлемді, мәртебелерді және webhook-тарды қолдайды. OpenAPI маршруттарды, өрістерді және қателерді сипаттайды. Төлемді бастау конфигурацияланған шлюзді, мақұлданған сатушыны және қолдау көрсетілетін шот-фактура шарттарын талап етеді.
Осы бетте
Базалық URL және формат#
The base URL is https://kevmi.one. Request and response bodies use JSON. Money values are integer minor units. Account and support dates are Unix timestamps in milliseconds.
API жауаптары Cache-Control: no-store қолданады. Жария /openapi.json бес минут бойы кэштелуі мүмкін. Cookie немесе құпияларды URL-ге орналастырмаңыз.
curl 'https://kevmi.one/api/config'
curl 'https://kevmi.one/openapi.json'Сұраныс авторизациясы#
Веб-есептік жазба HttpOnly сеанс cookie пайдаланады. GET /api/auth/me ағымдағы пайдаланушыны және csrfToken қайтарады. Өзгертулер X-CSRF-Token және сол шығу тегі бар сұранысты талап етеді.
Аумақты Kevmi сатушы кілттері /api/v1/payments, /api/v1/payment-links және /api/v1/events авторизациялайды. Олар есептік жазба параметрлері немесе әкімшілік маршруттар үшін сеанс cookie ауыстырмайды.
const me = await fetch('/api/auth/me').then(r => r.json());
if (!me.authenticated) throw new Error('Sign in required');
const response = await fetch('/api/account/settings', {
method: 'PATCH',
headers: { 'Content-Type': 'application/json', 'X-CSRF-Token': me.csrfToken },
body: JSON.stringify({ vatPayer: 'merchant' })
});
if (!response.ok) throw new Error('Settings were not saved');
const updated = await response.json();Endpoint топтары#
GET /api/config сервер конфигурациясының бар екенін хабарлайды. GET /api/checkout/{token} таңдалған әдіс үшін invoice.availability қайтарады, соның ішінде сатушының мақұлдауы және сақталған шарттар. Бұл тексерулер провайдер қосылымын немесе төлем табысын анықтамайды: нәтиже тексерілген шлюз операциясынан алынады.
| Топ | Мақсат |
|---|---|
| Конфигурация және денсаулық | Жария қызмет және сақтау дайындығы |
| Аутентификация | Telegram шақыртулары және сеанстары |
| Есептік жазба | Параметрлер және жеке сатушы қосымшасы |
| /api/v1/payments | Аумақты сервер шот-фактурасын құру және оқу; төлемді бастамайды |
| /api/v1/events | Сервер оқиғалар журналы events:read рұқсатымен |
| Интеграциялар | Сеанспен аутентификацияланған кілт және webhook endpoint әкімшілендіру |
| Қосымшалар және модерация | Меншікті жіберулер, мәртебе бақылау және бөлек модератор рұқсаттары |
| Төлем беті | Жария шот-фактура, шифрланған карта сұранысы, нақты операция, банк коды, мәртебе және өзара есеп айырысу |
| Шлюз кіруі | Қол қойылған v3 хабарландырулары және аутентификацияланған операцияны тексеру |
| Қолдау және хабарландырулар | Сұрақтар, жеке сұраныстар, оқиғалар және оқу күйі |
| Telegram | Тексерілген бот webhook |
| Қолдау көрсетілмейтін ақша маршруттары | Ескірген тікелей /api/payments және /api/payouts төлем немесе төлем төлеуді жасамайды |
Жария білім сұранысы#
Жауап mode, answer, sources, knowledgeVersion және needsHuman қамтиды. Берілген Origin қосымша шығу тегімен сәйкес келуі тиіс. Сервер жағындағы құжаттама агенті Origin-ды алып тастай алады.
curl 'https://kevmi.one/api/support/ask' \
-H 'Content-Type: application/json' \
--data '{"question":"Who pays VAT?","locale":"en"}'Қателер және шектеулер#
Қате машинамен оқылатын кодты және хабарламаны қамтиды. Белгісіз сұраныс өрістері қабылданбайды. Стандартты JSON денелері 16 384 байтқа мүмкіндік береді; /api/support/ask және Telegram webhook 65 536 байтқа мүмкіндік береді.
429 жылдамдық шегі көрсетеді. 503 қолжетімсіз интеграцияны көрсетуі мүмкін, бірақ бас тартылған төлемді емес. error.code-ды оқыңыз және қаржылық мәртебені тек HTTP мәртебесі бойынша өзгертпеңіз.
Бірнеше дүкен және бір АҚШ доллары базалық бағасы#
Жиынтық аналитика мен операциялар үшін Барлық дүкендерді таңдаңыз немесе жеке жазбалары үшін дүкенді таңдаңыз. Әр дүкеннің жеке storeId, атауы, ҚҚС әдепкі мәні, шоттары, API кілттері, вебхук нүктелері, оқиғалар тарихы және веб-сайт қосымшасы бар. Хабарландырулар мен қолдау билеттері тіркелгіге тиесілі. Тіркелгі 100 дүкенге дейін құра алады. Бар жазбалар оның бірінші дүкенінде қалады.
Жаңа жұмыс кеңістігі шоттары pricingMode="universal" және АҚШ доллары базалық бағасын пайдаланады. Any карта, alipay, sbp және криптоны қамтиды; сатушы ішкі жиынтықты таңдай алады. Карталар мен Alipay АҚШ долларымен есептейді. SBP Ресей Банкінің АҚШ доллары/рубль анықтамалық бағамын пайдаланып рубльмен есептейді. Крипто айқын шот ережесі бойынша USDT-мен есептейді: 1 АҚШ доллары = 1 USDT. Бұл шот айырбастау ережесі, нарықтық USDT котировкасы емес. Шлюз таңдалған монетаның бағамын, нақты аударым сомасын және нұсқауларды аударымға дейін береді.
Анықтамалық бағам және екі сома да құру кезінде мұздатылады. Рубльге айырбастауды қамтитын шоттар 24 сағат ішінде мерзімі аяқталады. Егер анықтамалық бағамды алу мүмкін болмаса, құру FX_UNAVAILABLE қатесімен сәтсіз аяқталады; ойдан шығарылған немесе ескірген қосалқы бағам пайдаланылмайды. Меншік иесінің жауабындағы amountMinor және quotes АҚШ доллары бухгалтерлік валютасын пайдаланады. quotes[method].settlement туынды валютадағы төлем котировкасын қамтиды. Қоғамдық төлем беті таңдалған төлем валютасын currency өрісінде, бастапқы бағаны baseAmountMinor/baseCurrency өрістерінде және анықтамалық бағамды fx өрісінде көрсетеді. Төлем жіберілгеннен кейін оның әдісін өзгерту мүмкін емес; шотта бір шлюз операциясы болады.
Мақсатты дүкен ішінде API кілтін жасаңыз және серверіңізден Authorization: Bearer <key> жіберіңіз. Оның дүкенге байланыстыруы өзгермейді; X-Kevmi-Store оған басқа дүкенге қолжетімділік бере алмайды. Браузер сеанстары X-Kevmi-Store: <storeId> таңдайды; оны алып тастағанда бірінші дүкен таңдалады. all мәні тек GET /api/account/dashboard және GET /api/payment-links сұраулары арқылы қабылданады. Өзгертулер таңдалған дүкенді, Origin және X-CSRF-Token талап етеді. Тіркелгі идентификаторлары мен дүкен идентификаторлары әртүрлі идентификаторлар болып табылады.
Үйлесімділік үшін pricingMode="universal" жоқ API сұраулары қолма-қол баға белгілеуді және бастапқы валюта шектеулерін сақтайды. Бар шоттар ешқашан қайта есептелмейді. Аналитикадағы расталған түбіртектер тексерілген төлемдерден сақталған шот шығындарын шегергендегі соманы көрсетеді; олар шығарылатын баланс емес. Мұрагерлік шот валюталары бөлек қалады, ал төлемдер қолдау қызметімен келісіледі. Тапсырысты тек payment.fulfillmentReady=true және payment.status="succeeded" сервер API, оқиғалар тарихы немесе қол қойылған вебхук арқылы тексергеннен кейін орындаңыз.
{
"pricingMode": "universal",
"title": "Order 1042",
"amountMinor": 1000,
"currency": "USD",
"methods": [
"card",
"alipay",
"sbp",
"crypto"
],
"vatCustomerPercent": 100,
"feeCustomerPercent": 0
}API нүктелері #
Оның өрістерін, авторизациясын және жауаптарын көру үшін endpoint ашыңыз. Бұл схемалар қоғамдық URL мекенжайында қолжетімді OpenAPI құжатымен бірдей.
Service
Қоғамдық қызмет мәртебесі.
GET/api/config
Ағымдағы интеграция дайындығы
Жауаптар
200Құпияларсыз конфигурация.
telegramobjectміндеттіsupportobjectміндеттіgatewayobjectміндеттіcapabilitiesobjectміндетті503Интеграция немесе сақтау қолжетімсіз, оқиға өңделуде немесе қызмет қолжетімсіз.
errorobjectміндеттіGET/api/health
API және D1 кесте мәртебесі
not_configured мәртебесі=ok бола алады: қоғамдық беттер мен іздеу ДБ-сыз жұмыс істей алады. Конфигурацияланған ДБ қолжетімсіз кестелермен 503/degraded қайтарады. Бұл жауап Telegram немесе модель желі қосылымын тексермейді.
Жауаптар
200Сақтау дайын немесе not_configured.
telegramobjectміндеттіsupportobjectміндеттіgatewayobjectміндеттіcapabilitiesobjectміндеттіstatusok | degradedміндеттіstorageready | not_configured | unavailableміндетті503D1 қолжетімсіз немесе күтпеген қызмет қатесі орын алды.
Нұсқа 1
telegramobjectміндеттіsupportobjectміндеттіgatewayobjectміндеттіcapabilitiesobjectміндеттіstatusok | degradedміндеттіstorageready | not_configured | unavailableміндеттіНұсқа 2
errorobjectміндеттіGET/openapi.json
Қоғамдық машинада оқылатын келісімшарт
Тек оқуға арналған. Құпиялар, сеанстар, пайдаланушы жазбалары немесе операциялық төлем провайдері келісімшарты жоқ.
Жауаптар
200Бұл OpenAPI 3.1 құжаты.
object
POST/api/jobs/dispatch
Тиісті жеткізу және өтінім жұмыстарын іске қосу
Сервер жоспарлаушысының кіру нүктесі. JOBS_SECRET қажет, браузер сессиясы немесе сатушы кілті емес. Жұмыс идентификаторларын немесе ерікті шығыс URL мекенжайларын қабылдамайды.
Жауаптар
200Фондық контекстсіз аяқталды.
object
202Фондық орындау контексінде қабылданды.
acceptedtrueміндетті401Жарамды сеанс жоқ; webhook үшін — жарамсыз құпия сөз.
errorobjectміндетті503Интеграция немесе сақтау қолжетімсіз, оқиға өңделуде немесе қызмет қолжетімсіз.
errorobjectміндеттіAuth
Тіркелу және кіру тексерілген Telegram ағынын бөліседі.
GET/api/auth/me
Ағымдағы сеанс және CSRF
Жауаптар
200authenticated=false жарамды сеанс жоқ кезде.
Нұсқа 1
authenticatedfalseміндеттіНұсқа 2
authenticatedtrueміндеттіuserobjectміндеттіcsrfTokenstringміндеттіexpiresAtintegerміндеттіUnix уақыт белгісі миллисекундта, UTC.
503Интеграция немесе сақтау қолжетімсіз, оқиға өңделуде немесе қызмет қолжетімсіз.
errorobjectміндеттіPOST/api/auth/telegram/start
Кіруді немесе тіркелуді бастау
300 секундтық челлендж және HttpOnly браузер дәлелдеме cookie-ін жасайды; хэштелген мекенжайға минутына ең көбі алты рет бастауға болады. Алты таңбалы кодты сайтта және жеке бот чатында салыстырыңыз.
Заголовоктар мен параметрлер
OriginheaderміндеттіAPP_ORIGIN-ге дәл сәйкес келуі керек. Sec-Fetch-Site: cross-site қабылданбайды. Сервер CORS қолжетімділігін қамтамасыз етпейді.
JSON денесі
Жауаптар
201Кіру сұрауы жасалды; дәлелдеме cookie оны бастапқы браузерге байланыстырады.
challengeIdstringміндеттіcodestringміндеттіexpiresAtintegerміндеттіUnix уақыт белгісі миллисекундта, UTC.
telegramUrlstringміндетті400Жарамсыз JSON, белгісіз өріс немесе жарамсыз мән.
errorobjectміндетті403Origin, CSRF немесе браузер байланыстыруды тексеру сәтсіз аяқталды.
errorobjectміндетті413Дене 16,384 байттан асады; шектеу /api/support/ask және Telegram webhook үшін 65,536 байт.
errorobjectміндетті415Content-Type: application/json қажет.
errorobjectміндетті429Жылдамдық шектеуі асып кетті.
errorobjectміндетті503Интеграция немесе сақтау қолжетімсіз, оқиға өңделуде немесе қызмет қолжетімсіз.
errorobjectміндеттіPOST/api/auth/telegram/complete
Тексерілген кіруді аяқтау
Бастаудан алынған дәлелдеме cookie және сол браузер қажет. Күту күйінде 202 қайтарылады. Бот растауынан кейін сұрау бір 24 сағаттық сеанс шығарады. Челленджге минутына 90-ға дейін тексеру. Клиент жіберген Telegram ID қабылданбайды.
Заголовоктар мен параметрлер
OriginheaderміндеттіAPP_ORIGIN-ге дәл сәйкес келуі керек. Sec-Fetch-Site: cross-site қабылданбайды. Сервер CORS қолжетімділігін қамтамасыз етпейді.
JSON денесі
challengeIdstringміндеттіЖауаптар
200Аккаунт жасалды немесе жаңартылды және сеанс шығарылды.
status"authenticated"міндеттіuserobjectміндеттіcsrfTokenstringміндеттіexpiresAtintegerміндеттіUnix уақыт белгісі миллисекундта, UTC.
202Telegram-да растауды күтуде.
status"pending"міндетті400Жарамсыз JSON, белгісіз өріс немесе жарамсыз мән.
errorobjectміндетті403Origin, CSRF немесе браузер байланыстыруды тексеру сәтсіз аяқталды.
errorobjectміндетті409Кіру сұрауы пайдаланылған немесе жойылған, сәйкестік расталмаған немесе қолдау сұрауы қайшы келеді.
errorobjectміндетті410Бес минуттық кіру сұрауының мерзімі өтіп кетті.
errorobjectміндетті413Дене 16,384 байттан асады; шектеу /api/support/ask және Telegram webhook үшін 65,536 байт.
errorobjectміндетті415Content-Type: application/json қажет.
errorobjectміндетті429Жылдамдық шектеуі асып кетті.
errorobjectміндетті503Интеграция немесе сақтау қолжетімсіз, оқиға өңделуде немесе қызмет қолжетімсіз.
errorobjectміндеттіPOST/api/auth/logout
Ағымдағы сеансты аяқтау
Дене қажет емес және оқылмайды. Боттың /logout пәрмені барлық аккаунт сеанстарын бөлек аяқтайды.
Заголовоктар мен параметрлер
OriginheaderміндеттіAPP_ORIGIN-ге дәл сәйкес келуі керек. Sec-Fetch-Site: cross-site қабылданбайды. Сервер CORS қолжетімділігін қамтамасыз етпейді.
X-CSRF-TokenheaderміндеттіАғымдағы сеанс токені GET /api/auth/me немесе сәтті кіру аяқталуынан.
Жауаптар
200Сеанс жойылды және cookie тазартылды.
loggedOuttrueміндетті401Жарамды сеанс жоқ; webhook үшін — жарамсыз құпия сөз.
errorobjectміндетті403Origin, CSRF немесе браузер байланыстыруды тексеру сәтсіз аяқталды.
errorobjectміндетті503Интеграция немесе сақтау қолжетімсіз, оқиға өңделуде немесе қызмет қолжетімсіз.
errorobjectміндеттіAccount
Тек ағымдағы пайдаланушыға арналған параметрлер.
GET/api/account/settings
Ағымдағы пайдаланушы параметрлері
Заголовоктар мен параметрлер
X-Kevmi-StoreheaderБраузер сеансы үшін меншікті дүкенді таңдаңыз. Бірінші дүкенді пайдалану үшін алып тастаңыз. API кілттері бұл тақырыпты елемейді және әрқашан өздерінің өзгермейтін дүкен байланыстыруын пайдаланады. all мәні тек оқуға арналған және оны тек бақылау тақтасы мен шоттар тізімі нүктелері қолдайды.
Жауаптар
200Ағымдағы пайдаланушы профилінің қоғамдық өрістері.
userobjectміндетті401Жарамды сеанс жоқ; webhook үшін — жарамсыз құпия сөз.
errorobjectміндетті503Интеграция немесе сақтау қолжетімсіз, оқиға өңделуде немесе қызмет қолжетімсіз.
errorobjectміндеттіPATCH/api/account/settings
Дүкен атауын, ҚҚС төлеушісін немесе хабарландыруларды өзгерту
Барлық өрістер міндетті емес: ішінара жаңарту. vatPayer сақтау қаржылық операция жасамайды. Төлемдер мен төлемдерді шығару қосқыштары қалауларды басқарады, шлюз қолжетімділігін емес.
Заголовоктар мен параметрлер
OriginheaderміндеттіAPP_ORIGIN-ге дәл сәйкес келуі керек. Sec-Fetch-Site: cross-site қабылданбайды. Сервер CORS қолжетімділігін қамтамасыз етпейді.
X-CSRF-TokenheaderміндеттіАғымдағы сеанс токені GET /api/auth/me немесе сәтті кіру аяқталуынан.
X-Kevmi-StoreheaderБраузер сеансы үшін меншікті дүкенді таңдаңыз. Бірінші дүкенді пайдалану үшін алып тастаңыз. API кілттері бұл тақырыпты елемейді және әрқашан өздерінің өзгермейтін дүкен байланыстыруын пайдаланады. all мәні тек оқуға арналған және оны тек бақылау тақтасы мен шоттар тізімі нүктелері қолдайды.
JSON денесі
storeNamestringҚоршаған бос орындар қырқылады. Қырқудан кейінгі ұзындық: 1–80 таңба. Қойындылар мен жол үзілімдерінен басқа басқару таңбаларына тыйым салынады.
vatPayercustomer | merchantnotificationsobjectЖауаптар
200Профиль жаңартылды.
userobjectміндетті400Жарамсыз JSON, белгісіз өріс немесе жарамсыз мән.
errorobjectміндетті401Жарамды сеанс жоқ; webhook үшін — жарамсыз құпия сөз.
errorobjectміндетті403Origin, CSRF немесе браузер байланыстыруды тексеру сәтсіз аяқталды.
errorobjectміндетті413Дене 16,384 байттан асады; шектеу /api/support/ask және Telegram webhook үшін 65,536 байт.
errorobjectміндетті415Content-Type: application/json қажет.
errorobjectміндетті503Интеграция немесе сақтау қолжетімсіз, оқиға өңделуде немесе қызмет қолжетімсіз.
errorobjectміндеттіGET/api/stores
Ағымдағы тіркелгіге тиесілі барлық дүкендерді тізімдеу
Жауаптар
200Дүкен идентификаторлары тіркелгі идентификаторларынан ерекшеленеді. Ешқандай құпия ашылмайды.
storesarray<object>міндеттіdefaultStoreIdstringміндетті401Жарамды сеанс жоқ; webhook үшін — жарамсыз құпия сөз.
errorobjectміндетті503Интеграция немесе сақтау қолжетімсіз, оқиға өңделуде немесе қызмет қолжетімсіз.
errorobjectміндеттіPOST/api/stores
Бөлек дүкен құру
Тіркелгіге 100 дүкенге дейін және тіркелгіге сағатына 10 құру. Жаңа дүкен төлем бастау үшін өзінің веб-сайтының мақұлдауын қажет етеді.
Заголовоктар мен параметрлер
OriginheaderміндеттіAPP_ORIGIN-ге дәл сәйкес келуі керек. Sec-Fetch-Site: cross-site қабылданбайды. Сервер CORS қолжетімділігін қамтамасыз етпейді.
X-CSRF-TokenheaderміндеттіАғымдағы сеанс токені GET /api/auth/me немесе сәтті кіру аяқталуынан.
JSON денесі
namestringміндеттіЖауаптар
201Құрылды.
storeobjectміндетті400Жарамсыз JSON, белгісіз өріс немесе жарамсыз мән.
errorobjectміндетті401Жарамды сеанс жоқ; webhook үшін — жарамсыз құпия сөз.
errorobjectміндетті403Origin, CSRF немесе браузер байланыстыруды тексеру сәтсіз аяқталды.
errorobjectміндетті409Кіру сұрауы пайдаланылған немесе жойылған, сәйкестік расталмаған немесе қолдау сұрауы қайшы келеді.
errorobjectміндетті429Жылдамдық шектеуі асып кетті.
errorobjectміндетті503Интеграция немесе сақтау қолжетімсіз, оқиға өңделуде немесе қызмет қолжетімсіз.
errorobjectміндеттіPATCH/api/stores/{id}
Меншікті дүкеннің атауын өзгерту немесе оның ҚҚС әдепкі мәнін өзгерту
Заголовоктар мен параметрлер
idpathміндеттіOriginheaderміндеттіAPP_ORIGIN-ге дәл сәйкес келуі керек. Sec-Fetch-Site: cross-site қабылданбайды. Сервер CORS қолжетімділігін қамтамасыз етпейді.
X-CSRF-TokenheaderміндеттіАғымдағы сеанс токені GET /api/auth/me немесе сәтті кіру аяқталуынан.
JSON денесі
namestringvatPayercustomer | merchantЖауаптар
200Бар шот котировкалары өзгеріссіз қалады.
storeobjectміндетті400Жарамсыз JSON, белгісіз өріс немесе жарамсыз мән.
errorobjectміндетті401Жарамды сеанс жоқ; webhook үшін — жарамсыз құпия сөз.
errorobjectміндетті403Origin, CSRF немесе браузер байланыстыруды тексеру сәтсіз аяқталды.
errorobjectміндетті404Жазба жоқ, қоғамдық токен жарамсыз немесе сұралған жазба басқа пайдаланушыға тиесілі.
errorobjectміндетті503Интеграция немесе сақтау қолжетімсіз, оқиға өңделуде немесе қызмет қолжетімсіз.
errorobjectміндеттіGET/api/account/dashboard
Бір дүкен немесе барлық меншікті дүкендер үшін расталған түбіртектерді оқу
Таза түбіртектер шығарылатын баланс емес. Мұрагерлік валюталар бөлек қалады. Жиынтықтар әрқашанғы кезең үшін; күнделікті/әдіс бойынша бөлулер сұралған UTC кезеңін пайдаланады.
Заголовоктар мен параметрлер
X-Kevmi-StoreheaderБраузер сеансы үшін меншікті дүкенді таңдаңыз. Бірінші дүкенді пайдалану үшін алып тастаңыз. API кілттері бұл тақырыпты елемейді және әрқашан өздерінің өзгермейтін дүкен байланыстыруын пайдаланады. all мәні тек оқуға арналған және оны тек бақылау тақтасы мен шоттар тізімі нүктелері қолдайды.
daysqueryЖауаптар
200Тек оқуға арналған бухгалтерлік қорытынды.
storeIdstring | nullміндеттіstoresarray<object>міндеттіtotalsarray<object>міндеттіdailyarray<object>міндеттіmethodsarray<object>міндеттіdays7 | 30міндеттіfromintegerміндеттіUnix уақыт белгісі миллисекундта, UTC.
generatedAtintegerміндеттіUnix уақыт белгісі миллисекундта, UTC.
accountingBasis"verified_receipts"міндеттіwithdrawableBalancenullміндеттіpayoutCreationAvailablefalseміндетті400Жарамсыз JSON, белгісіз өріс немесе жарамсыз мән.
errorobjectміндетті401Жарамды сеанс жоқ; webhook үшін — жарамсыз құпия сөз.
errorobjectміндетті404Жазба жоқ, қоғамдық токен жарамсыз немесе сұралған жазба басқа пайдаланушыға тиесілі.
errorobjectміндетті503Интеграция немесе сақтау қолжетімсіз, оқиға өңделуде немесе қызмет қолжетімсіз.
errorobjectміндеттіPayment links
Ағымдағы дүкенге арналған сервер шот-фактуралары. Баға, валюта, ҚҚС төлеушісі, сатушы аты және есептеу өзгермейді.
GET/api/payment-links
Меншікті төлем сілтемелерін тізімдеу
createdAt DESC, id DESC бойынша сұрыпталған. Қоғамдық сілтемелер құрылғылар бойынша жұмыс істейді; тізімдеу есептік жазбаны қажет етеді.
Заголовоктар мен параметрлер
limitquerycursorqueryАлдыңғы жауаптан nextCursor. Сервис base64 JSON [createdAt,id] пайдаланады; оны URLSearchParams арқылы өзгеріссіз беріңіз.
X-Kevmi-StoreheaderБраузер сеансы үшін меншікті дүкенді таңдаңыз. Бірінші дүкенді пайдалану үшін алып тастаңыз. API кілттері бұл тақырыпты елемейді және әрқашан өздерінің өзгермейтін дүкен байланыстыруын пайдаланады. all мәні тек оқуға арналған және оны тек бақылау тақтасы мен шоттар тізімі нүктелері қолдайды.
Жауаптар
200Меншікті төлем сілтемелерінің беті.
linksarray<object>міндеттіnextCursorstring | nullміндеттіМөлдір емес келесі бет курсоры. URL кодталған сұраныс параметрі ретінде беріңіз; null соңын белгілейді.
400Жарамсыз JSON, белгісіз өріс немесе жарамсыз мән.
errorobjectміндетті401Жарамды сеанс жоқ; webhook үшін — жарамсыз құпия сөз.
errorobjectміндетті503Интеграция немесе сақтау қолжетімсіз, оқиға өңделуде немесе қызмет қолжетімсіз.
errorobjectміндеттіPOST/api/payment-links
Өзгермейтін шарттармен шот-фактура жасау
Өзгермейтін шот-фактура жасап, бірден checkoutUrl алыңыз; бұл сатып алушыны ақы алмайды. USD: карта/Alipay; RUB: SBP; USDT: крипто. USD крипто үйлесімділік үшін қабылданады, бірақ USDT шот-фактурасынсыз төлене алмайды. Комиссия және ҚҚС тұтынушы үлестері 0-ден 100-ге дейінгі тәуелсіз бүтін сандар; ағымдағы тірі карта/Alipay ҚҚС тұтынушы=100 және комиссия тұтынушы=0 қолдайды. Тұтынушы жалпы сомасы ешқашан үнсіз өзгертілмейді. Соңғы веб-қосымша жаңа тірі төлем алдында мақұлдануы керек. Шот-фактура жасау және оның саудагер оқиғасы атомдық түрде жасалады.
Заголовоктар мен параметрлер
OriginheaderміндеттіAPP_ORIGIN-ге дәл сәйкес келуі керек. Sec-Fetch-Site: cross-site қабылданбайды. Сервер CORS қолжетімділігін қамтамасыз етпейді.
X-CSRF-TokenheaderміндеттіАғымдағы сеанс токені GET /api/auth/me немесе сәтті кіру аяқталуынан.
Idempotency-KeyheaderміндеттіӘр логикалық сұранысқа бір кілт. Бірдей канондық кіріспен қайталау түпнұсқа жазбаны қайтарады; бірдей кілтпен басқа кіріс 409 қайтарады.
X-Kevmi-StoreheaderБраузер сеансы үшін меншікті дүкенді таңдаңыз. Бірінші дүкенді пайдалану үшін алып тастаңыз. API кілттері бұл тақырыпты елемейді және әрқашан өздерінің өзгермейтін дүкен байланыстыруын пайдаланады. all мәні тек оқуға арналған және оны тек бақылау тақтасы мен шоттар тізімі нүктелері қолдайды.
JSON денесі
Валюта USD
titlestringміндеттіАйналасындағы бос орындар кесіледі. Кесілгеннен кейінгі ұзақтық: 1–120 таңба. Қойындылар мен жол тасымалдарынан басқа басқару таңбаларына тыйым салынады.
descriptionstringНеобязательно; пустая строка допустима. До 500 символов после обрезки.
amountMinorintegerміндеттіТехникалық бүтін сан шекарасы, коммерциялық провайдер шектеуі емес. Теріс сатушы кредиті қабылданбайды.
vatPayercustomer | merchantЕсли опущено, сохраняется текущее правило магазина.
expiresAtintegerБолашақ уақыт, құрылғаннан кейін көп дегенде 90 күн. Әдепкі — жеті күн. Шот сәтінде сақталады.
currency"USD"міндеттіmethodsarray<card | alipay | crypto>міндеттіЖаңа USD шоты картаны және Alipay-ды қолдайды. USD крипто шоттары тек үйлесімділік үшін қабылданады және тірі сатып алу кезінде crypto_requires_usdt қайтарады; крипто үшін USDT пайдаланыңыз.
vatCustomerPercentintegerКлиент үлесі, тұтас пайыз ретінде. 0 — сатушы бәрін жабады; 100 — клиент бәрін жабады. Әдепкі: дүкеннің ескі ҚҚС қалауы.
feeCustomerPercentintegerКлиент үлесі, тұтас пайыз ретінде. 0 — сатушы бәрін жабады; 100 — клиент бәрін жабады.
orderIdstringВидимый покупателю номер заказа.
metadataobjectЖеке сатушы метадеректері. JSON сериализациясынан кейін көп дегенде 3000 UTF-8 байт. Жария сатып алуда ешқашан көрсетілмейді.
pricingMode"native"Мұрагерлік валютаға байланысты баға белгілеу. Бар интеграциялармен үйлесімділік үшін алып тастаңыз.
Валюта RUB
titlestringміндеттіАйналасындағы бос орындар кесіледі. Кесілгеннен кейінгі ұзақтық: 1–120 таңба. Қойындылар мен жол тасымалдарынан басқа басқару таңбаларына тыйым салынады.
descriptionstringНеобязательно; пустая строка допустима. До 500 символов после обрезки.
amountMinorintegerміндеттіТехникалық бүтін сан шекарасы, коммерциялық провайдер шектеуі емес. Теріс сатушы кредиті қабылданбайды.
vatPayercustomer | merchantЕсли опущено, сохраняется текущее правило магазина.
expiresAtintegerБолашақ уақыт, құрылғаннан кейін көп дегенде 90 күн. Әдепкі — жеті күн. Шот сәтінде сақталады.
currency"RUB"міндеттіmethodsarray<"sbp">міндеттіvatCustomerPercentintegerКлиент үлесі, тұтас пайыз ретінде. 0 — сатушы бәрін жабады; 100 — клиент бәрін жабады. Әдепкі: дүкеннің ескі ҚҚС қалауы.
feeCustomerPercentintegerКлиент үлесі, тұтас пайыз ретінде. 0 — сатушы бәрін жабады; 100 — клиент бәрін жабады.
orderIdstringВидимый покупателю номер заказа.
metadataobjectЖеке сатушы метадеректері. JSON сериализациясынан кейін көп дегенде 3000 UTF-8 байт. Жария сатып алуда ешқашан көрсетілмейді.
pricingMode"native"Мұрагерлік валютаға байланысты баға белгілеу. Бар интеграциялармен үйлесімділік үшін алып тастаңыз.
Валюта USDT
titlestringміндеттіАйналасындағы бос орындар кесіледі. Кесілгеннен кейінгі ұзақтық: 1–120 таңба. Қойындылар мен жол тасымалдарынан басқа басқару таңбаларына тыйым салынады.
descriptionstringНеобязательно; пустая строка допустима. До 500 символов после обрезки.
amountMinorintegerміндеттіТехникалық бүтін сан шекарасы, коммерциялық провайдер шектеуі емес. Теріс сатушы кредиті қабылданбайды.
vatPayercustomer | merchantЕсли опущено, сохраняется текущее правило магазина.
expiresAtintegerБолашақ уақыт, құрылғаннан кейін көп дегенде 90 күн. Әдепкі — жеті күн. Шот сәтінде сақталады.
currency"USDT"міндеттіmethodsarray<"crypto">міндеттіvatCustomerPercentintegerКлиент үлесі, тұтас пайыз ретінде. 0 — сатушы бәрін жабады; 100 — клиент бәрін жабады. Әдепкі: дүкеннің ескі ҚҚС қалауы.
feeCustomerPercentintegerКлиент үлесі, тұтас пайыз ретінде. 0 — сатушы бәрін жабады; 100 — клиент бәрін жабады.
orderIdstringВидимый покупателю номер заказа.
metadataobjectЖеке сатушы метадеректері. JSON сериализациясынан кейін көп дегенде 3000 UTF-8 байт. Жария сатып алуда ешқашан көрсетілмейді.
pricingMode"native"Мұрагерлік валютаға байланысты баға белгілеу. Бар интеграциялармен үйлесімділік үшін алып тастаңыз.
Нұсқа 4
titlestringміндеттіАйналасындағы бос орындар кесіледі. Кесілгеннен кейінгі ұзақтық: 1–120 таңба. Қойындылар мен жол тасымалдарынан басқа басқару таңбаларына тыйым салынады.
descriptionstringНеобязательно; пустая строка допустима. До 500 символов после обрезки.
amountMinorintegerміндеттіТехникалық бүтін сан шекарасы, коммерциялық провайдер шектеуі емес. Теріс сатушы кредиті қабылданбайды.
vatPayercustomer | merchantЕсли опущено, сохраняется текущее правило магазина.
expiresAtintegerБолашақ уақыт, құрылғаннан кейін көп дегенде 90 күн. Әдепкі — жеті күн. Шот сәтінде сақталады.
currencyUSD | RUB | USDTміндеттіКіріс бірлігі. Рубль сақталған анықтамалық бағам бойынша АҚШ долларына айырбасталады; USDT айқын 1:1 шот ережесін пайдаланады. Сақталған шоттың базалық валютасы - АҚШ доллары.
methodsarray<card | alipay | sbp | crypto>міндеттіvatCustomerPercentintegerКлиент үлесі, тұтас пайыз ретінде. 0 — сатушы бәрін жабады; 100 — клиент бәрін жабады. Әдепкі: дүкеннің ескі ҚҚС қалауы.
feeCustomerPercentintegerКлиент үлесі, тұтас пайыз ретінде. 0 — сатушы бәрін жабады; 100 — клиент бәрін жабады.
orderIdstringВидимый покупателю номер заказа.
metadataobjectЖеке сатушы метадеректері. JSON сериализациясынан кейін көп дегенде 3000 UTF-8 байт. Жария сатып алуда ешқашан көрсетілмейді.
pricingMode"universal"міндеттіЖауаптар
200Идемпотентті қайталау; replayed=true.
linkobjectміндеттіreplayedbooleanміндеттіcheckoutUrlstringміндеттіПлатёжная ссылка доступна сразу; опрос не требуется.
201Шот-фактура жасалды; replayed=false.
linkobjectміндеттіreplayedbooleanміндеттіcheckoutUrlstringміндеттіПлатёжная ссылка доступна сразу; опрос не требуется.
400Жарамсыз JSON, белгісіз өріс немесе жарамсыз мән.
errorobjectміндетті401Жарамды сеанс жоқ; webhook үшін — жарамсыз құпия сөз.
errorobjectміндетті403Origin, CSRF немесе браузер байланыстыруды тексеру сәтсіз аяқталды.
errorobjectміндетті409Кіру сұрауы пайдаланылған немесе жойылған, сәйкестік расталмаған немесе қолдау сұрауы қайшы келеді.
errorobjectміндетті413Дене 16,384 байттан асады; шектеу /api/support/ask және Telegram webhook үшін 65,536 байт.
errorobjectміндетті415Content-Type: application/json қажет.
errorobjectміндетті429Жылдамдық шектеуі асып кетті.
errorobjectміндетті503Интеграция немесе сақтау қолжетімсіз, оқиға өңделуде немесе қызмет қолжетімсіз.
errorobjectміндеттіGET/api/payment-links/{id}
Меншікті сілтеме және сақталған есептеу
Заголовоктар мен параметрлер
idpathміндеттіМеншікті сілтеме идентификаторы, қоғамдық токен емес.
X-Kevmi-StoreheaderБраузер сеансы үшін меншікті дүкенді таңдаңыз. Бірінші дүкенді пайдалану үшін алып тастаңыз. API кілттері бұл тақырыпты елемейді және әрқашан өздерінің өзгермейтін дүкен байланыстыруын пайдаланады. all мәні тек оқуға арналған және оны тек бақылау тақтасы мен шоттар тізімі нүктелері қолдайды.
Жауаптар
200Басқа пайдаланушының ID-сі де, жоқ ID де 404 қайтарады.
linkobjectміндеттіcheckoutUrlstringКүй жаңарту жауаптарына қосылады; ішкі сілтеме әрқашан өзінің checkoutUrl мәнін қамтиды.
401Жарамды сеанс жоқ; webhook үшін — жарамсыз құпия сөз.
errorobjectміндетті404Жазба жоқ, қоғамдық токен жарамсыз немесе сұралған жазба басқа пайдаланушыға тиесілі.
errorobjectміндетті503Интеграция немесе сақтау қолжетімсіз, оқиға өңделуде немесе қызмет қолжетімсіз.
errorobjectміндеттіPATCH/api/payment-links/{id}
Сілтемені кідірту, жалғастыру немесе болдырмау
Тек status өзгертеді. Жаңарту және өзгермейтін шот-фактура updated оқиғасы атомдық түрде жасалады. Қатарлас өзгерістер нұсқа тексеруін пайдаланады; LINK_CHANGED кезінде жаңартып, қайта әрекеттеніңіз. cancelled – терминалдық, мерзім ешқашан ұзартылмайды, ал баға, әдістер, шығын үлестері мен сипаттама қатып қалады. Сақталған күйді қайталау ағымдағы шот-фактураны қайтарады.
Заголовоктар мен параметрлер
idpathміндеттіМеншікті сілтеме идентификаторы, қоғамдық токен емес.
OriginheaderміндеттіAPP_ORIGIN-ге дәл сәйкес келуі керек. Sec-Fetch-Site: cross-site қабылданбайды. Сервер CORS қолжетімділігін қамтамасыз етпейді.
X-CSRF-TokenheaderміндеттіАғымдағы сеанс токені GET /api/auth/me немесе сәтті кіру аяқталуынан.
X-Kevmi-StoreheaderБраузер сеансы үшін меншікті дүкенді таңдаңыз. Бірінші дүкенді пайдалану үшін алып тастаңыз. API кілттері бұл тақырыпты елемейді және әрқашан өздерінің өзгермейтін дүкен байланыстыруын пайдаланады. all мәні тек оқуға арналған және оны тек бақылау тақтасы мен шоттар тізімі нүктелері қолдайды.
JSON денесі
statusactive | paused | cancelledміндеттіЖауаптар
200Меншікті сілтеменің ағымдағы күйі.
linkobjectміндеттіcheckoutUrlstringКүй жаңарту жауаптарына қосылады; ішкі сілтеме әрқашан өзінің checkoutUrl мәнін қамтиды.
400Жарамсыз JSON, белгісіз өріс немесе жарамсыз мән.
errorobjectміндетті401Жарамды сеанс жоқ; webhook үшін — жарамсыз құпия сөз.
errorobjectміндетті403Origin, CSRF немесе браузер байланыстыруды тексеру сәтсіз аяқталды.
errorobjectміндетті404Жазба жоқ, қоғамдық токен жарамсыз немесе сұралған жазба басқа пайдаланушыға тиесілі.
errorobjectміндетті409Кіру сұрауы пайдаланылған немесе жойылған, сәйкестік расталмаған немесе қолдау сұрауы қайшы келеді.
errorobjectміндетті413Дене 16,384 байттан асады; шектеу /api/support/ask және Telegram webhook үшін 65,536 байт.
errorobjectміндетті415Content-Type: application/json қажет.
errorobjectміндетті503Интеграция немесе сақтау қолжетімсіз, оқиға өңделуде немесе қызмет қолжетімсіз.
errorobjectміндеттіCheckout
Шот-фактураны тіркелгісіз оқу. Төлем қолжетімділігі бөлек тексеріледі.
GET/api/checkout/{token}
Тұтынушы үшін қоғамдық шот-фактура мәліметтері
Өзгермейтін қоғамдық шот-фактура бағасын және оның сақталған төлем суретін оқыңыз. method шот-фактураның құрамында болуы керек. Есептік жазба қажет емес. Иелік сәйкестендіруді, жеке метадеректерді немесе саудагер түсімдерін ашпайды. Токен тек осы checkout-қа қолжетімділік береді. availability конфигурацияны, бөлуді, техникалық шектеулерді және саудагер мақұлдауын көрсетеді; төлем растауы бөлек.
Заголовоктар мен параметрлер
tokenpathміндеттіCheckout URL-ден кездейсоқ қоғамдық идентификатор. Тек осы шот-фактураға оқу қолжетімділігін береді.
methodqueryШот-фактураның сақталған әдістерінде болуы керек.
Жауаптар
200Қоғамдық шот-фактура және бар төлем, егер жіберілген болса.
invoiceobjectміндеттіpaymentoneOfміндетті400Жарамсыз JSON, белгісіз өріс немесе жарамсыз мән.
errorobjectміндетті404Жазба жоқ, қоғамдық токен жарамсыз немесе сұралған жазба басқа пайдаланушыға тиесілі.
errorobjectміндетті429Жылдамдық шектеуі асып кетті.
errorobjectміндетті503Интеграция немесе сақтау қолжетімсіз, оқиға өңделуде немесе қызмет қолжетімсіз.
errorobjectміндеттіPOST/api/checkout/{token}/pay
Шот-фактура төлемін бастау немесе қалпына келтіру
Бір шығу тегі сатып алушы операциясы; тіркелгі немесе CSRF токен қажет емес. Сервер шлюзге жіберу алдында бір операцияны және тұрақты идемпотенттік кілтті сақтайды. Қайталау сол операцияны қалпына келтіреді; жоғалған жауап мәртебе арқылы шешілуі керек. Төлем әдісі жіберуден кейін бұғатталады. Карта деректері жаңа төлем ниетімен браузерде шифрлануы керек. SBP/крипто сақталған клиент жалпы сомасын жібереді; карта/Alipay қолдау көрсетілген өзгермейтін салық конфигурациясын пайдаланады. Жаңа төлемдер мақұлданған сатушы өтінімін талап етеді. Бар жіберілген төлемдер шот-фактура мерзімі аяқталғаннан, үзілістен немесе мақұлдау өзгерістерінен кейін қалпына келтірілуі мүмкін. /v2 немесе хостинг-карта бағыты пайдаланылмайды.
Заголовоктар мен параметрлер
tokenpathміндеттіCheckout URL-ден кездейсоқ қоғамдық идентификатор. Тек осы шот-фактураға оқу қолжетімділігін береді.
OriginheaderміндеттіAPP_ORIGIN-ге дәл сәйкес келуі керек. Sec-Fetch-Site: cross-site қабылданбайды. Сервер CORS қолжетімділігін қамтамасыз етпейді.
JSON денесі
Нұсқа 1
method"card"міндеттіsealedobjectміндеттіНұсқа 2
method"alipay"міндеттіnamestringміндеттіcountry"CN"міндеттіemailstringНұсқа 3
method"sbp"міндеттіНұсқа 4
method"crypto"міндеттіpayerCurrencystringміндеттіnetworkstringміндеттіЖауаптар
200Бар операция қалпына келтірілді; екінші төлем жоқ.
paymentoneOfміндеттіreplayedboolean202Операция жіберілді; аяқталу асинхронды.
paymentoneOfміндеттіreplayedboolean400Жарамсыз JSON, белгісіз өріс немесе жарамсыз мән.
errorobjectміндетті403Origin, CSRF немесе браузер байланыстыруды тексеру сәтсіз аяқталды.
errorobjectміндетті404Жазба жоқ, қоғамдық токен жарамсыз немесе сұралған жазба басқа пайдаланушыға тиесілі.
errorobjectміндетті409Кіру сұрауы пайдаланылған немесе жойылған, сәйкестік расталмаған немесе қолдау сұрауы қайшы келеді.
errorobjectміндетті410Шлюз шифрлау ниеті немесе банк шақыртуы мерзімі аяқталды. Сол операция үшін жаңа ниет алыңыз; алмастырушы төлем жасамаңыз.
errorobjectміндетті413Дене 16,384 байттан асады; шектеу /api/support/ask және Telegram webhook үшін 65,536 байт.
errorobjectміндетті415Content-Type: application/json қажет.
errorobjectміндетті429Жылдамдық шектеуі асып кетті.
errorobjectміндетті502Шлюз жауабы қолжетімсіз, қате пішімделген немесе тексерілмейтін. Кез келген қайталау әрекетінен бұрын бар төлем мәртебесін оқыңыз.
errorobjectміндетті503Интеграция немесе сақтау қолжетімсіз, оқиға өңделуде немесе қызмет қолжетімсіз.
errorobjectміндеттіGET/api/checkout/{token}/status
Бірдей төлемді оқу және жаңарту
Есептік жазба қажет емес. Бар операцияны аутентификацияланған шлюз көлігі арқылы жаңартады, сервер жағында шектеумен. Жаңа төлем жасалмайды. Ештеңе жіберілмесе null қайтарады. fulfillmentReady true болғанда ғана тапсырысты растаңыз.
Заголовоктар мен параметрлер
tokenpathміндеттіCheckout URL-ден кездейсоқ қоғамдық идентификатор. Тек осы шот-фактураға оқу қолжетімділігін береді.
Жауаптар
200Ағымдағы тазартылған төлем күйі.
paymentoneOfміндеттіreplayedboolean400Жарамсыз JSON, белгісіз өріс немесе жарамсыз мән.
errorobjectміндетті404Жазба жоқ, қоғамдық токен жарамсыз немесе сұралған жазба басқа пайдаланушыға тиесілі.
errorobjectміндетті429Жылдамдық шектеуі асып кетті.
errorobjectміндетті502Шлюз жауабы қолжетімсіз, қате пішімделген немесе тексерілмейтін. Кез келген қайталау әрекетінен бұрын бар төлем мәртебесін оқыңыз.
errorobjectміндетті503Интеграция немесе сақтау қолжетімсіз, оқиға өңделуде немесе қызмет қолжетімсіз.
errorobjectміндеттіPOST/api/checkout/{token}/reconcile
Авторитетті күй келісімін сұрау
Бар операцияны оқиды және шлюзден оның провайдер күйін келісімін сұрайды. Төлем жасамайды. Әр шот-фактураға минутына көп дегенде 3 сұраныс. Шот-фактура енді белсенді болмаса да, бұрын жіберілген төлемдер үшін қолжетімді.
Заголовоктар мен параметрлер
tokenpathміндеттіCheckout URL-ден кездейсоқ қоғамдық идентификатор. Тек осы шот-фактураға оқу қолжетімділігін береді.
OriginheaderміндеттіAPP_ORIGIN-ге дәл сәйкес келуі керек. Sec-Fetch-Site: cross-site қабылданбайды. Сервер CORS қолжетімділігін қамтамасыз етпейді.
JSON денесі
Жауаптар
200Келісілген төлем немесе null.
paymentoneOfміндеттіreplayedboolean400Жарамсыз JSON, белгісіз өріс немесе жарамсыз мән.
errorobjectміндетті403Origin, CSRF немесе браузер байланыстыруды тексеру сәтсіз аяқталды.
errorobjectміндетті404Жазба жоқ, қоғамдық токен жарамсыз немесе сұралған жазба басқа пайдаланушыға тиесілі.
errorobjectміндетті409Кіру сұрауы пайдаланылған немесе жойылған, сәйкестік расталмаған немесе қолдау сұрауы қайшы келеді.
errorobjectміндетті410Шлюз шифрлау ниеті немесе банк шақыртуы мерзімі аяқталды. Сол операция үшін жаңа ниет алыңыз; алмастырушы төлем жасамаңыз.
errorobjectміндетті413Дене 16,384 байттан асады; шектеу /api/support/ask және Telegram webhook үшін 65,536 байт.
errorobjectміндетті415Content-Type: application/json қажет.
errorobjectміндетті429Жылдамдық шектеуі асып кетті.
errorobjectміндетті502Шлюз жауабы қолжетімсіз, қате пішімделген немесе тексерілмейтін. Кез келген қайталау әрекетінен бұрын бар төлем мәртебесін оқыңыз.
errorobjectміндетті503Интеграция немесе сақтау қолжетімсіз, оқиға өңделуде немесе қызмет қолжетімсіз.
errorobjectміндеттіPOST/api/checkout/{token}/card-intent
Шлюздің ашық кілтін және байланыстырылған шифрлау ниетін алу
Жеке кілт тек шлюзге тиесілі. Ниет бес минут ішінде жарамдылығын жоғалтады және сатушы тапсырысын, валютаны, базалық/жалпы сомаларды, операцияның идемпотенттілік кілтін және мақсатын байланыстырады. Төлем ниеттері белсенді шот-фактураны және мақұлданған сатушыны қажет етеді; код ниеттері бар, ағымдағы банк челленджін қажет етеді. PAN, CVV, банк коды немесе жеке JWK өрістері бұл нүкте арқылы қабылданбайды. Шифрланған ашық мәтін {intent,name,country,email?,card:{number,expiration,cvv,holder}} төлем үшін немесе {intent,code} код үшін. Ашық мәтін тек браузер ішінде JWE шифрлау алдында құрастырылады.
Заголовоктар мен параметрлер
tokenpathміндеттіCheckout URL-ден кездейсоқ қоғамдық идентификатор. Тек осы шот-фактураға оқу қолжетімділігін береді.
OriginheaderміндеттіAPP_ORIGIN-ге дәл сәйкес келуі керек. Sec-Fetch-Site: cross-site қабылданбайды. Сервер CORS қолжетімділігін қамтамасыз етпейді.
JSON денесі
purposepayment | codeЖауаптар
200Қысқа мерзімді ниет және тек ашық RSA кілті.
intentstringміндеттіintentIdstringміндеттіexpiresAtintegerміндеттіUnix уақыт белгісі миллисекундта, UTC.
keyobjectміндеттіalgorithm"RSA-OAEP-256"міндеттіencryption"A256GCM"міндеттіprotocol"kevmi-card-v1"міндетті400Жарамсыз JSON, белгісіз өріс немесе жарамсыз мән.
errorobjectміндетті403Origin, CSRF немесе браузер байланыстыруды тексеру сәтсіз аяқталды.
errorobjectміндетті404Жазба жоқ, қоғамдық токен жарамсыз немесе сұралған жазба басқа пайдаланушыға тиесілі.
errorobjectміндетті409Кіру сұрауы пайдаланылған немесе жойылған, сәйкестік расталмаған немесе қолдау сұрауы қайшы келеді.
errorobjectміндетті410Шлюз шифрлау ниеті немесе банк шақыртуы мерзімі аяқталды. Сол операция үшін жаңа ниет алыңыз; алмастырушы төлем жасамаңыз.
errorobjectміндетті413Дене 16,384 байттан асады; шектеу /api/support/ask және Telegram webhook үшін 65,536 байт.
errorobjectміндетті415Content-Type: application/json қажет.
errorobjectміндетті429Жылдамдық шектеуі асып кетті.
errorobjectміндетті502Шлюз жауабы қолжетімсіз, қате пішімделген немесе тексерілмейтін. Кез келген қайталау әрекетінен бұрын бар төлем мәртебесін оқыңыз.
errorobjectміндетті503Интеграция немесе сақтау қолжетімсіз, оқиға өңделуде немесе қызмет қолжетімсіз.
errorobjectміндеттіPOST/api/checkout/{token}/code
Ағымдағы банк челленджі үшін шифрланған кодты жіберу
Мақсат=код ниетін алыңыз және {intent,code} браузерде шифрлаңыз. Шлюз ағымдағы челленджді тексереді және жабық ниетті бір рет тұтынады. Kevmi ешқашан ашық мәтін кодын алмайды. Әр шот-фактураға минутына көп дегенде 5 жіберу; белгісіз жауаптан кейін күйді жаңартыңыз.
Заголовоктар мен параметрлер
tokenpathміндеттіCheckout URL-ден кездейсоқ қоғамдық идентификатор. Тек осы шот-фактураға оқу қолжетімділігін береді.
OriginheaderміндеттіAPP_ORIGIN-ге дәл сәйкес келуі керек. Sec-Fetch-Site: cross-site қабылданбайды. Сервер CORS қолжетімділігін қамтамасыз етпейді.
JSON денесі
sealedobjectміндеттіЖауаптар
202Код жіберілді; ағымдағы төлем күйі.
paymentoneOfміндеттіreplayedboolean400Жарамсыз JSON, белгісіз өріс немесе жарамсыз мән.
errorobjectміндетті403Origin, CSRF немесе браузер байланыстыруды тексеру сәтсіз аяқталды.
errorobjectміндетті404Жазба жоқ, қоғамдық токен жарамсыз немесе сұралған жазба басқа пайдаланушыға тиесілі.
errorobjectміндетті409Кіру сұрауы пайдаланылған немесе жойылған, сәйкестік расталмаған немесе қолдау сұрауы қайшы келеді.
errorobjectміндетті410Шлюз шифрлау ниеті немесе банк шақыртуы мерзімі аяқталды. Сол операция үшін жаңа ниет алыңыз; алмастырушы төлем жасамаңыз.
errorobjectміндетті413Дене 16,384 байттан асады; шектеу /api/support/ask және Telegram webhook үшін 65,536 байт.
errorobjectміндетті415Content-Type: application/json қажет.
errorobjectміндетті429Жылдамдық шектеуі асып кетті.
errorobjectміндетті502Шлюз жауабы қолжетімсіз, қате пішімделген немесе тексерілмейтін. Кез келген қайталау әрекетінен бұрын бар төлем мәртебесін оқыңыз.
errorobjectміндетті503Интеграция немесе сақтау қолжетімсіз, оқиға өңделуде немесе қызмет қолжетімсіз.
errorobjectміндеттіGET/api/checkout/{token}/crypto-services
Ағымдағы монета және желі каталогын оқу
Тек криптоға рұқсат ететін USDT шот-фактурасы үшін. Шот-фактура USDT-де номинацияланған; шлюз таңдалған төлеуші монетасын бағалайды. USD USDT-ге тең деп ешқашан болжамаңыз немесе аударым сомасын қалқымалы нүктелі санға айналдырмаңыз. Әр шот-фактураға минутына көп дегенде 10 каталог оқу.
Заголовоктар мен параметрлер
tokenpathміндеттіCheckout URL-ден кездейсоқ қоғамдық идентификатор. Тек осы шот-фактураға оқу қолжетімділігін береді.
Жауаптар
200Шлюз ұсынған каталог, ағымдағы қолжетімділік және аударым шектеулерімен.
servicesarray<object>міндеттіfetchedAtintegerміндеттіUnix уақыт белгісі миллисекундта, UTC.
400Жарамсыз JSON, белгісіз өріс немесе жарамсыз мән.
errorobjectміндетті404Жазба жоқ, қоғамдық токен жарамсыз немесе сұралған жазба басқа пайдаланушыға тиесілі.
errorobjectміндетті429Жылдамдық шектеуі асып кетті.
errorobjectміндетті502Шлюз жауабы қолжетімсіз, қате пішімделген немесе тексерілмейтін. Кез келген қайталау әрекетінен бұрын бар төлем мәртебесін оқыңыз.
errorobjectміндетті503Интеграция немесе сақтау қолжетімсіз, оқиға өңделуде немесе қызмет қолжетімсіз.
errorobjectміндеттіSupport
Қоғамдық білім қоры және ағымдағы пайдаланушының қолдау сұраулары.
POST/api/support/ask
Толық қоғамдық білім қорынан жауап
Сеанссыз немесе CSRF-сіз қоғамдық сұрақ. Берілген Origin APP_ORIGIN сәйкес келуі керек; агенттер оны қалдыра алады. AI режимінде сервер барлық жарияланған мақалаларды, фактілерді, бет каталогын және мүмкіндік дайындығын жібереді. Қосымша тарих пен pageContext – сенімсіз сұрақ контексті. Модель есептік жазбаларға, ақшаға, жеке сұраныстарға немесе құралдарға қол жеткізе алмайды. D1 арқылы шектеу – хэштелген мекенжай бойынша минутына 12 сұрақ. AI D1, жарамды провайдер конфигурациясын және квотаны қажет етеді: әдепкі бойынша сағатына жүйе бойынша 60 генерация. Конфигурация дайындығы сыртқы API қолжетімділігін дәлелдемейді. Провайдер қателері, квота таусылуы немесе жарамсыз шығару aiUnavailable=true және HTTP 200 арқылы іздеуге қайтарылады. Генерация конфигурациясынсыз кәдімгі іздеу қайтарылады.
Заголовоктар мен параметрлер
OriginheaderAPP_ORIGIN-ге дәл сәйкес келуі керек. Sec-Fetch-Site: cross-site қабылданбайды. Сервер CORS қолжетімділігін қамтамасыз етпейді.
JSON денесі
questionstringміндеттіҚоршаған бос орындар қырқылады. Қырқудан кейінгі ұзындық: 2–2,000 таңба. Қойындылар мен жол үзілімдерінен басқа басқару таңбаларына тыйым салынады.
localeru | en | es | de | fr | pt | tr | kkЖауап тілі. Көрсетілмесе, қолдау көрсетілетін Accept-Language қалаулары пайдаланылады; әйтпесе ағылшын тілі. Құжаттама әр қолдау көрсетілетін интерфейс тілінде қолжетімді.
historyarray<oneOf>Соңғы үш сұрақ-жауап жұбына дейін. Қосымша. Сенімсіз контекст, провайдердің жүйе рөлі хабарламалары емес.
pageContextstringҚырқудан кейінгі қысқа бөлім белгісі, 1–80 таңба. Әріптерге, цифрларға, бос орындарға және ·.,—–-(): рұқсат етіледі. Жол үзілімдері, URL мекенжайлары, сұраныс параметрлері және HTML тыйым салынады. Токендерді немесе құпияларды қоспаңыз.
Жауаптар
200Жауап немесе тексерілген мақала сілтемелері бар сәйкес құжаттама.
Нұсқа 1
mode"search"міндеттіanswerstringміндеттіsourcesarray<object>міндеттіknowledgeVersionstring | nullміндеттіneedsHumanbooleanміндеттіaiUnavailabletrueНұсқа 2
mode"ai"міндеттіanswerstringміндеттіТек қарапайым мәтін; URL мекенжайлары және HTML қабылданбайды. Сілтемелер тек дереккөздерде қайтарылады.
sourcesarray<object>міндеттіknowledgeVersionstringміндеттіneedsHumanbooleanміндетті400Жарамсыз JSON, белгісіз өріс немесе жарамсыз мән.
errorobjectміндетті403Origin, CSRF немесе браузер байланыстыруды тексеру сәтсіз аяқталды.
errorobjectміндетті413Дене 16,384 байттан асады; шектеу /api/support/ask және Telegram webhook үшін 65,536 байт.
errorobjectміндетті415Content-Type: application/json қажет.
errorobjectміндетті429Жылдамдық шектеуі асып кетті.
errorobjectміндетті503Интеграция немесе сақтау қолжетімсіз, оқиға өңделуде немесе қызмет қолжетімсіз.
errorobjectміндеттіGET/api/support/tickets
Соңғы 30 меншікті қолдау сұранысы
Жауаптар
200Жаңасы бірінші createdAt бойынша; соңғы 30 жазбаны қайтарады.
ticketsarray<object>міндетті401Жарамды сеанс жоқ; webhook үшін — жарамсыз құпия сөз.
errorobjectміндетті503Интеграция немесе сақтау қолжетімсіз, оқиға өңделуде немесе қызмет қолжетімсіз.
errorobjectміндеттіPOST/api/support/tickets
Қолдау сұранысын сақтау
Пайдаланушыға сағатына алты сұранысқа дейін, веб-сайт пен бот арасында бөліседі. Сақтау есептік жазба жазбасын жасайды. Оның сілтемесін күй туралы сұрау үшін сақтаңыз.
Заголовоктар мен параметрлер
OriginheaderміндеттіAPP_ORIGIN-ге дәл сәйкес келуі керек. Sec-Fetch-Site: cross-site қабылданбайды. Сервер CORS қолжетімділігін қамтамасыз етпейді.
X-CSRF-TokenheaderміндеттіАғымдағы сеанс токені GET /api/auth/me немесе сәтті кіру аяқталуынан.
JSON денесі
subjectstringміндеттіАйналасындағы бос орындар кесіледі. Кесілгеннен кейінгі ұзақтық: 1–120 таңба. Қойындылар мен жол тасымалдарынан басқа басқару таңбаларына тыйым салынады.
messagestringміндеттіАйналасындағы бос орындар кесіледі. Кесілгеннен кейінгі ұзақтық: 5–4,000 таңба. Қойындылар мен жол тасымалдарынан басқа басқару таңбаларына тыйым салынады.
Жауаптар
201Қолдау сұранысы сақталды.
ticketobjectміндетті400Жарамсыз JSON, белгісіз өріс немесе жарамсыз мән.
errorobjectміндетті401Жарамды сеанс жоқ; webhook үшін — жарамсыз құпия сөз.
errorobjectміндетті403Origin, CSRF немесе браузер байланыстыруды тексеру сәтсіз аяқталды.
errorobjectміндетті409Кіру сұрауы пайдаланылған немесе жойылған, сәйкестік расталмаған немесе қолдау сұрауы қайшы келеді.
errorobjectміндетті413Дене 16,384 байттан асады; шектеу /api/support/ask және Telegram webhook үшін 65,536 байт.
errorobjectміндетті415Content-Type: application/json қажет.
errorobjectміндетті429Жылдамдық шектеуі асып кетті.
errorobjectміндетті503Интеграция немесе сақтау қолжетімсіз, оқиға өңделуде немесе қызмет қолжетімсіз.
errorobjectміндеттіGET/api/support/tickets/{id}
Меншікті қолдау сұранысын оқу
Заголовоктар мен параметрлер
idpathміндеттіМеншікті қолдау сұранысының идентификаторы.
Жауаптар
200Басқа пайдаланушының сұранысы да, жоқ сұраныс та 404 қайтарады.
ticketobjectміндетті401Жарамды сеанс жоқ; webhook үшін — жарамсыз құпия сөз.
errorobjectміндетті404Жазба жоқ, қоғамдық токен жарамсыз немесе сұралған жазба басқа пайдаланушыға тиесілі.
errorobjectміндетті503Интеграция немесе сақтау қолжетімсіз, оқиға өңделуде немесе қызмет қолжетімсіз.
errorobjectміндеттіPATCH/api/support/tickets/{id}
Меншікті қолдау сұранысын жабу
Жалғыз рұқсат етілген өзгеріс – status=closed. Бұл API сұраныстарды қайта ашпайды, хабарламаларды өңдемейді немесе оператор жауаптарын жібермейді.
Заголовоктар мен параметрлер
idpathміндеттіМеншікті қолдау сұранысының идентификаторы.
OriginheaderміндеттіAPP_ORIGIN-ге дәл сәйкес келуі керек. Sec-Fetch-Site: cross-site қабылданбайды. Сервер CORS қолжетімділігін қамтамасыз етпейді.
X-CSRF-TokenheaderміндеттіАғымдағы сеанс токені GET /api/auth/me немесе сәтті кіру аяқталуынан.
JSON денесі
status"closed"міндеттіЖауаптар
200Қолдау сұранысы жабылды.
closedtrueміндетті400Жарамсыз JSON, белгісіз өріс немесе жарамсыз мән.
errorobjectміндетті401Жарамды сеанс жоқ; webhook үшін — жарамсыз құпия сөз.
errorobjectміндетті403Origin, CSRF немесе браузер байланыстыруды тексеру сәтсіз аяқталды.
errorobjectміндетті404Жазба жоқ, қоғамдық токен жарамсыз немесе сұралған жазба басқа пайдаланушыға тиесілі.
errorobjectміндетті413Дене 16,384 байттан асады; шектеу /api/support/ask және Telegram webhook үшін 65,536 байт.
errorobjectміндетті415Content-Type: application/json қажет.
errorobjectміндетті503Интеграция немесе сақтау қолжетімсіз, оқиға өңделуде немесе қызмет қолжетімсіз.
errorobjectміндеттіNotifications
Аккаунт оқиғалар орталығы, сайттың оқу күйі және тәуелсіз Telegram жеткізу мәртебесі.
GET/api/notifications
Меншікті хабарландырулар беті
30 жазбаға дейін, createdAt DESC содан кейін id DESC бойынша сұрыпталған. Тізімдеу readAt өзгертпейді немесе жеткізуді іске қоспайды. unreadCount – ағымдағы пайдаланушының беттер бойынша жалпы оқылмаған саны. Иелік өрістері, Telegram ID және құпиялар алынып тасталады.
Заголовоктар мен параметрлер
unreadquery1 тек оқылмағандарды таңдайды; 0 немесе қалдырылған мән барлық оқиғаларды таңдайды.
cursorqueryАлдыңғы жауаптан nextCursor. URLSearchParams арқылы өзгеріссіз беріңіз; формат createdAt:id, createdAt миллисекундтағы қауіпсіз бүтін сан.
Жауаптар
200Тәуелсіз оқу және жеткізу күйлері бар оқиғалар.
notificationsarray<object>міндеттіunreadCountintegerміндеттіnextCursorstring | nullміндеттіКелесі бет курсоры; қосымша жазбалар жоқ болса null.
400Жарамсыз JSON, белгісіз өріс немесе жарамсыз мән.
errorobjectміндетті401Жарамды сеанс жоқ; webhook үшін — жарамсыз құпия сөз.
errorobjectміндетті503Интеграция немесе сақтау қолжетімсіз, оқиға өңделуде немесе қызмет қолжетімсіз.
errorobjectміндеттіPATCH/api/notifications/read
Меншікті хабарландыруларды оқылған деп белгілеу
ids немесе all:true before бірге қабылдайды. before – соңғы байқалған оқиға уақыты және сервер уақытынан аспауы керек. Жаңа оқиғалар оқылмаған күйінде қалады. Сұраныс идемпотентті: бар readAt мәндері өзгермейді. Басқа пайдаланушылардың және жоқ ID-лер өзгертілмейді де ашылмайды. Telegram күйі мен sentAt өзгеріссіз қалады.
Заголовоктар мен параметрлер
OriginheaderміндеттіAPP_ORIGIN-ге дәл сәйкес келуі керек. Sec-Fetch-Site: cross-site қабылданбайды. Сервер CORS қолжетімділігін қамтамасыз етпейді.
X-CSRF-TokenheaderміндеттіАғымдағы сеанс токені GET /api/auth/me немесе сәтті кіру аяқталуынан.
JSON денесі
Нұсқа 1
idsarray<string>міндеттіҚайталауларға рұқсат етіледі және бір рет есептеледі.
Нұсқа 2
alltrueміндеттіbeforeintegerміндеттіСоңғы көрсетілген оқиғаның createdAt. Сервер сонымен қатар before <= Date.now() талап етеді.
Жауаптар
200Жаңадан оқылған оқиғалар саны, операция уақыты және ағымдағы оқылмаған саны.
updatedintegerміндеттіreadAtintegerміндеттіUnix уақыт белгісі миллисекундта, UTC.
unreadCountintegerміндетті400Жарамсыз JSON, белгісіз өріс немесе жарамсыз мән.
errorobjectміндетті401Жарамды сеанс жоқ; webhook үшін — жарамсыз құпия сөз.
errorobjectміндетті403Origin, CSRF немесе браузер байланыстыруды тексеру сәтсіз аяқталды.
errorobjectміндетті413Дене 16,384 байттан асады; шектеу /api/support/ask және Telegram webhook үшін 65,536 байт.
errorobjectміндетті415Content-Type: application/json қажет.
errorobjectміндетті503Интеграция немесе сақтау қолжетімсіз, оқиға өңделуде немесе қызмет қолжетімсіз.
errorobjectміндеттіPOST/api/notifications/test
Есептік жазбаның Telegram-ына сынақ хабарландыруын жіберу
Хабарламаны кезекке қояды және жеткізуге тырысады. Пайдаланушыға сағатына көп дегенде үш рет. Сынақ төлем хабарландыруы емес және балансты өзгертпейді. HTTP 202 жеткізуді растамайды; хабарландырулар тізімін тексеріңіз.
Заголовоктар мен параметрлер
OriginheaderміндеттіAPP_ORIGIN-ге дәл сәйкес келуі керек. Sec-Fetch-Site: cross-site қабылданбайды. Сервер CORS қолжетімділігін қамтамасыз етпейді.
X-CSRF-TokenheaderміндеттіАғымдағы сеанс токені GET /api/auth/me немесе сәтті кіру аяқталуынан.
JSON денесі
Жауаптар
202Кезекке қою нәтижесі.
queuedbooleanміндеттіidstring | null400Жарамсыз JSON, белгісіз өріс немесе жарамсыз мән.
errorobjectміндетті401Жарамды сеанс жоқ; webhook үшін — жарамсыз құпия сөз.
errorobjectміндетті403Origin, CSRF немесе браузер байланыстыруды тексеру сәтсіз аяқталды.
errorobjectміндетті413Дене 16,384 байттан асады; шектеу /api/support/ask және Telegram webhook үшін 65,536 байт.
errorobjectміндетті415Content-Type: application/json қажет.
errorobjectміндетті429Жылдамдық шектеуі асып кетті.
errorobjectміндетті503Интеграция немесе сақтау қолжетімсіз, оқиға өңделуде немесе қызмет қолжетімсіз.
errorobjectміндеттіTelegram
Бот webhook; төлем webhook емес.
POST/api/telegram/webhook
Telegram Bot API оқиғасын қабылдау
Тек Telegram құпия тақырыпасын қажет етеді, сеанссыз, CSRF-сіз немесе Origin-сіз. Қосымша Update өрістеріне рұқсат етіледі. message және callback_query өңдейді; жеке әрекеттер расталған жіберушінің жеке чатын қажет етеді. Басқа жаңартулар өткізіп жіберіледі. update_id қайталанудан қорғалған; аяқталмаған жаңарту қайта әрекеттену үшін 503 қайтарады. Бұл төлем провайдерінің вебхукі емес.
JSON денесі
update_idintegerміндеттіmessageobjectTelegram Message: өңдеуші message_id, text, from және chat пайдаланады.
callback_queryobjectTelegram CallbackQuery: обработчик использует id, from, data и message.chat.
Жауаптар
200Өңделді, өткізіп жіберілді немесе бұрын өңделді.
oktrueміндетті400Жарамсыз JSON, белгісіз өріс немесе жарамсыз мән.
errorobjectміндетті401Жарамды сеанс жоқ; webhook үшін — жарамсыз құпия сөз.
errorobjectміндетті413Дене 16,384 байттан асады; шектеу /api/support/ask және Telegram webhook үшін 65,536 байт.
errorobjectміндетті415Content-Type: application/json қажет.
errorobjectміндетті429Жылдамдық шектеуі асып кетті.
errorobjectміндетті502Telegram сұранысы сәтсіз аяқталды.
errorobjectміндетті503Интеграция немесе сақтау қолжетімсіз, оқиға өңделуде немесе қызмет қолжетімсіз.
errorobjectміндеттіҚолдау көрсетілмейтін ақша маршруттары
Қолдау көрсетілмейтін ескірген ақша маршруттары және төлемдерді орындау. Қоғамдық төлем ағынының өзіндік құжатталған соңғы нүктелері бар.
POST/api/payments
Қаржы операциясы қолжетімсіз
503 GATEWAY_NOT_CONNECTED қайтарады. Қаржы операциялары қолжетімсіз. Дене өңделмейді және ешқандай шлюз сұранысы жасалмайды.
Жауаптар
503Қаржы операциялары қолжетімсіз.
errorobjectміндеттіPOST/api/payouts
Қаржы операциясы қолжетімсіз
503 GATEWAY_NOT_CONNECTED қайтарады. Қаржы операциялары қолжетімсіз. Дене өңделмейді және ешқандай шлюз сұранысы жасалмайды.
Жауаптар
503Қаржы операциялары қолжетімсіз.
errorobjectміндеттіMerchant API
Шектелген сервер-аралық шот-фактуралар және өзгермейтін оқиға тарихы.
GET/api/v1/payments
Меншікті төлем сілтемелерін тізімдеу
createdAt DESC, id DESC бойынша сұрыпталған. Қоғамдық сілтемелер құрылғылар бойынша жұмыс істейді; тізімдеу есептік жазбаны қажет етеді.
Заголовоктар мен параметрлер
limitquerycursorqueryАлдыңғы жауаптан nextCursor. Сервис base64 JSON [createdAt,id] пайдаланады; оны URLSearchParams арқылы өзгеріссіз беріңіз.
Жауаптар
200Меншікті төлем сілтемелерінің беті.
linksarray<object>міндеттіnextCursorstring | nullміндеттіМөлдір емес келесі бет курсоры. URL кодталған сұраныс параметрі ретінде беріңіз; null соңын белгілейді.
400Жарамсыз JSON, белгісіз өріс немесе жарамсыз мән.
errorobjectміндетті401Жарамды сеанс жоқ; webhook үшін — жарамсыз құпия сөз.
errorobjectміндетті503Интеграция немесе сақтау қолжетімсіз, оқиға өңделуде немесе қызмет қолжетімсіз.
errorobjectміндеттіPOST/api/v1/payments
Өзгермейтін шарттармен шот-фактура жасау
Өзгермейтін шот-фактура жасап, бірден checkoutUrl алыңыз; бұл сатып алушыны ақы алмайды. USD: карта/Alipay; RUB: SBP; USDT: крипто. USD крипто үйлесімділік үшін қабылданады, бірақ USDT шот-фактурасынсыз төлене алмайды. Комиссия және ҚҚС тұтынушы үлестері 0-ден 100-ге дейінгі тәуелсіз бүтін сандар; ағымдағы тірі карта/Alipay ҚҚС тұтынушы=100 және комиссия тұтынушы=0 қолдайды. Тұтынушы жалпы сомасы ешқашан үнсіз өзгертілмейді. Соңғы веб-қосымша жаңа тірі төлем алдында мақұлдануы керек. Шот-фактура жасау және оның саудагер оқиғасы атомдық түрде жасалады.
Заголовоктар мен параметрлер
Idempotency-KeyheaderміндеттіӘр логикалық сұранысқа бір кілт. Бірдей канондық кіріспен қайталау түпнұсқа жазбаны қайтарады; бірдей кілтпен басқа кіріс 409 қайтарады.
JSON денесі
Валюта USD
titlestringміндеттіАйналасындағы бос орындар кесіледі. Кесілгеннен кейінгі ұзақтық: 1–120 таңба. Қойындылар мен жол тасымалдарынан басқа басқару таңбаларына тыйым салынады.
descriptionstringНеобязательно; пустая строка допустима. До 500 символов после обрезки.
amountMinorintegerміндеттіТехникалық бүтін сан шекарасы, коммерциялық провайдер шектеуі емес. Теріс сатушы кредиті қабылданбайды.
vatPayercustomer | merchantЕсли опущено, сохраняется текущее правило магазина.
expiresAtintegerБолашақ уақыт, құрылғаннан кейін көп дегенде 90 күн. Әдепкі — жеті күн. Шот сәтінде сақталады.
currency"USD"міндеттіmethodsarray<card | alipay | crypto>міндеттіЖаңа USD шоты картаны және Alipay-ды қолдайды. USD крипто шоттары тек үйлесімділік үшін қабылданады және тірі сатып алу кезінде crypto_requires_usdt қайтарады; крипто үшін USDT пайдаланыңыз.
vatCustomerPercentintegerКлиент үлесі, тұтас пайыз ретінде. 0 — сатушы бәрін жабады; 100 — клиент бәрін жабады. Әдепкі: дүкеннің ескі ҚҚС қалауы.
feeCustomerPercentintegerКлиент үлесі, тұтас пайыз ретінде. 0 — сатушы бәрін жабады; 100 — клиент бәрін жабады.
orderIdstringВидимый покупателю номер заказа.
metadataobjectЖеке сатушы метадеректері. JSON сериализациясынан кейін көп дегенде 3000 UTF-8 байт. Жария сатып алуда ешқашан көрсетілмейді.
pricingMode"native"Мұрагерлік валютаға байланысты баға белгілеу. Бар интеграциялармен үйлесімділік үшін алып тастаңыз.
Валюта RUB
titlestringміндеттіАйналасындағы бос орындар кесіледі. Кесілгеннен кейінгі ұзақтық: 1–120 таңба. Қойындылар мен жол тасымалдарынан басқа басқару таңбаларына тыйым салынады.
descriptionstringНеобязательно; пустая строка допустима. До 500 символов после обрезки.
amountMinorintegerміндеттіТехникалық бүтін сан шекарасы, коммерциялық провайдер шектеуі емес. Теріс сатушы кредиті қабылданбайды.
vatPayercustomer | merchantЕсли опущено, сохраняется текущее правило магазина.
expiresAtintegerБолашақ уақыт, құрылғаннан кейін көп дегенде 90 күн. Әдепкі — жеті күн. Шот сәтінде сақталады.
currency"RUB"міндеттіmethodsarray<"sbp">міндеттіvatCustomerPercentintegerКлиент үлесі, тұтас пайыз ретінде. 0 — сатушы бәрін жабады; 100 — клиент бәрін жабады. Әдепкі: дүкеннің ескі ҚҚС қалауы.
feeCustomerPercentintegerКлиент үлесі, тұтас пайыз ретінде. 0 — сатушы бәрін жабады; 100 — клиент бәрін жабады.
orderIdstringВидимый покупателю номер заказа.
metadataobjectЖеке сатушы метадеректері. JSON сериализациясынан кейін көп дегенде 3000 UTF-8 байт. Жария сатып алуда ешқашан көрсетілмейді.
pricingMode"native"Мұрагерлік валютаға байланысты баға белгілеу. Бар интеграциялармен үйлесімділік үшін алып тастаңыз.
Валюта USDT
titlestringміндеттіАйналасындағы бос орындар кесіледі. Кесілгеннен кейінгі ұзақтық: 1–120 таңба. Қойындылар мен жол тасымалдарынан басқа басқару таңбаларына тыйым салынады.
descriptionstringНеобязательно; пустая строка допустима. До 500 символов после обрезки.
amountMinorintegerміндеттіТехникалық бүтін сан шекарасы, коммерциялық провайдер шектеуі емес. Теріс сатушы кредиті қабылданбайды.
vatPayercustomer | merchantЕсли опущено, сохраняется текущее правило магазина.
expiresAtintegerБолашақ уақыт, құрылғаннан кейін көп дегенде 90 күн. Әдепкі — жеті күн. Шот сәтінде сақталады.
currency"USDT"міндеттіmethodsarray<"crypto">міндеттіvatCustomerPercentintegerКлиент үлесі, тұтас пайыз ретінде. 0 — сатушы бәрін жабады; 100 — клиент бәрін жабады. Әдепкі: дүкеннің ескі ҚҚС қалауы.
feeCustomerPercentintegerКлиент үлесі, тұтас пайыз ретінде. 0 — сатушы бәрін жабады; 100 — клиент бәрін жабады.
orderIdstringВидимый покупателю номер заказа.
metadataobjectЖеке сатушы метадеректері. JSON сериализациясынан кейін көп дегенде 3000 UTF-8 байт. Жария сатып алуда ешқашан көрсетілмейді.
pricingMode"native"Мұрагерлік валютаға байланысты баға белгілеу. Бар интеграциялармен үйлесімділік үшін алып тастаңыз.
Нұсқа 4
titlestringміндеттіАйналасындағы бос орындар кесіледі. Кесілгеннен кейінгі ұзақтық: 1–120 таңба. Қойындылар мен жол тасымалдарынан басқа басқару таңбаларына тыйым салынады.
descriptionstringНеобязательно; пустая строка допустима. До 500 символов после обрезки.
amountMinorintegerміндеттіТехникалық бүтін сан шекарасы, коммерциялық провайдер шектеуі емес. Теріс сатушы кредиті қабылданбайды.
vatPayercustomer | merchantЕсли опущено, сохраняется текущее правило магазина.
expiresAtintegerБолашақ уақыт, құрылғаннан кейін көп дегенде 90 күн. Әдепкі — жеті күн. Шот сәтінде сақталады.
currencyUSD | RUB | USDTміндеттіКіріс бірлігі. Рубль сақталған анықтамалық бағам бойынша АҚШ долларына айырбасталады; USDT айқын 1:1 шот ережесін пайдаланады. Сақталған шоттың базалық валютасы - АҚШ доллары.
methodsarray<card | alipay | sbp | crypto>міндеттіvatCustomerPercentintegerКлиент үлесі, тұтас пайыз ретінде. 0 — сатушы бәрін жабады; 100 — клиент бәрін жабады. Әдепкі: дүкеннің ескі ҚҚС қалауы.
feeCustomerPercentintegerКлиент үлесі, тұтас пайыз ретінде. 0 — сатушы бәрін жабады; 100 — клиент бәрін жабады.
orderIdstringВидимый покупателю номер заказа.
metadataobjectЖеке сатушы метадеректері. JSON сериализациясынан кейін көп дегенде 3000 UTF-8 байт. Жария сатып алуда ешқашан көрсетілмейді.
pricingMode"universal"міндеттіЖауаптар
200Идемпотентті қайталау; replayed=true.
linkobjectміндеттіreplayedbooleanміндеттіcheckoutUrlstringміндеттіПлатёжная ссылка доступна сразу; опрос не требуется.
201Шот-фактура жасалды; replayed=false.
linkobjectміндеттіreplayedbooleanміндеттіcheckoutUrlstringміндеттіПлатёжная ссылка доступна сразу; опрос не требуется.
400Жарамсыз JSON, белгісіз өріс немесе жарамсыз мән.
errorobjectміндетті401Жарамды сеанс жоқ; webhook үшін — жарамсыз құпия сөз.
errorobjectміндетті403Origin, CSRF немесе браузер байланыстыруды тексеру сәтсіз аяқталды.
errorobjectміндетті409Кіру сұрауы пайдаланылған немесе жойылған, сәйкестік расталмаған немесе қолдау сұрауы қайшы келеді.
errorobjectміндетті413Дене 16,384 байттан асады; шектеу /api/support/ask және Telegram webhook үшін 65,536 байт.
errorobjectміндетті415Content-Type: application/json қажет.
errorobjectміндетті429Жылдамдық шектеуі асып кетті.
errorobjectміндетті503Интеграция немесе сақтау қолжетімсіз, оқиға өңделуде немесе қызмет қолжетімсіз.
errorobjectміндеттіGET/api/v1/payments/{id}
Меншікті сілтеме және сақталған есептеу
Заголовоктар мен параметрлер
idpathміндеттіМеншікті сілтеме идентификаторы, қоғамдық токен емес.
Жауаптар
200Басқа пайдаланушының ID-сі де, жоқ ID де 404 қайтарады.
linkobjectміндеттіcheckoutUrlstringКүй жаңарту жауаптарына қосылады; ішкі сілтеме әрқашан өзінің checkoutUrl мәнін қамтиды.
401Жарамды сеанс жоқ; webhook үшін — жарамсыз құпия сөз.
errorobjectміндетті404Жазба жоқ, қоғамдық токен жарамсыз немесе сұралған жазба басқа пайдаланушыға тиесілі.
errorobjectміндетті503Интеграция немесе сақтау қолжетімсіз, оқиға өңделуде немесе қызмет қолжетімсіз.
errorobjectміндеттіPATCH/api/v1/payments/{id}
Сілтемені кідірту, жалғастыру немесе болдырмау
Тек status өзгертеді. Жаңарту және өзгермейтін шот-фактура updated оқиғасы атомдық түрде жасалады. Қатарлас өзгерістер нұсқа тексеруін пайдаланады; LINK_CHANGED кезінде жаңартып, қайта әрекеттеніңіз. cancelled – терминалдық, мерзім ешқашан ұзартылмайды, ал баға, әдістер, шығын үлестері мен сипаттама қатып қалады. Сақталған күйді қайталау ағымдағы шот-фактураны қайтарады.
Заголовоктар мен параметрлер
idpathміндеттіМеншікті сілтеме идентификаторы, қоғамдық токен емес.
JSON денесі
statusactive | paused | cancelledміндеттіЖауаптар
200Меншікті сілтеменің ағымдағы күйі.
linkobjectміндеттіcheckoutUrlstringКүй жаңарту жауаптарына қосылады; ішкі сілтеме әрқашан өзінің checkoutUrl мәнін қамтиды.
400Жарамсыз JSON, белгісіз өріс немесе жарамсыз мән.
errorobjectміндетті401Жарамды сеанс жоқ; webhook үшін — жарамсыз құпия сөз.
errorobjectміндетті403Origin, CSRF немесе браузер байланыстыруды тексеру сәтсіз аяқталды.
errorobjectміндетті404Жазба жоқ, қоғамдық токен жарамсыз немесе сұралған жазба басқа пайдаланушыға тиесілі.
errorobjectміндетті409Кіру сұрауы пайдаланылған немесе жойылған, сәйкестік расталмаған немесе қолдау сұрауы қайшы келеді.
errorobjectміндетті413Дене 16,384 байттан асады; шектеу /api/support/ask және Telegram webhook үшін 65,536 байт.
errorobjectміндетті415Content-Type: application/json қажет.
errorobjectміндетті503Интеграция немесе сақтау қолжетімсіз, оқиға өңделуде немесе қызмет қолжетімсіз.
errorobjectміндеттіGET/api/v1/payment-links
Меншікті төлем сілтемелерін тізімдеу
createdAt DESC, id DESC бойынша сұрыпталған. Қоғамдық сілтемелер құрылғылар бойынша жұмыс істейді; тізімдеу есептік жазбаны қажет етеді.
Заголовоктар мен параметрлер
limitquerycursorqueryАлдыңғы жауаптан nextCursor. Сервис base64 JSON [createdAt,id] пайдаланады; оны URLSearchParams арқылы өзгеріссіз беріңіз.
Жауаптар
200Меншікті төлем сілтемелерінің беті.
linksarray<object>міндеттіnextCursorstring | nullміндеттіМөлдір емес келесі бет курсоры. URL кодталған сұраныс параметрі ретінде беріңіз; null соңын белгілейді.
400Жарамсыз JSON, белгісіз өріс немесе жарамсыз мән.
errorobjectміндетті401Жарамды сеанс жоқ; webhook үшін — жарамсыз құпия сөз.
errorobjectміндетті503Интеграция немесе сақтау қолжетімсіз, оқиға өңделуде немесе қызмет қолжетімсіз.
errorobjectміндеттіPOST/api/v1/payment-links
Өзгермейтін шарттармен шот-фактура жасау
Өзгермейтін шот-фактура жасап, бірден checkoutUrl алыңыз; бұл сатып алушыны ақы алмайды. USD: карта/Alipay; RUB: SBP; USDT: крипто. USD крипто үйлесімділік үшін қабылданады, бірақ USDT шот-фактурасынсыз төлене алмайды. Комиссия және ҚҚС тұтынушы үлестері 0-ден 100-ге дейінгі тәуелсіз бүтін сандар; ағымдағы тірі карта/Alipay ҚҚС тұтынушы=100 және комиссия тұтынушы=0 қолдайды. Тұтынушы жалпы сомасы ешқашан үнсіз өзгертілмейді. Соңғы веб-қосымша жаңа тірі төлем алдында мақұлдануы керек. Шот-фактура жасау және оның саудагер оқиғасы атомдық түрде жасалады.
Заголовоктар мен параметрлер
Idempotency-KeyheaderміндеттіӘр логикалық сұранысқа бір кілт. Бірдей канондық кіріспен қайталау түпнұсқа жазбаны қайтарады; бірдей кілтпен басқа кіріс 409 қайтарады.
JSON денесі
Валюта USD
titlestringміндеттіАйналасындағы бос орындар кесіледі. Кесілгеннен кейінгі ұзақтық: 1–120 таңба. Қойындылар мен жол тасымалдарынан басқа басқару таңбаларына тыйым салынады.
descriptionstringНеобязательно; пустая строка допустима. До 500 символов после обрезки.
amountMinorintegerміндеттіТехникалық бүтін сан шекарасы, коммерциялық провайдер шектеуі емес. Теріс сатушы кредиті қабылданбайды.
vatPayercustomer | merchantЕсли опущено, сохраняется текущее правило магазина.
expiresAtintegerБолашақ уақыт, құрылғаннан кейін көп дегенде 90 күн. Әдепкі — жеті күн. Шот сәтінде сақталады.
currency"USD"міндеттіmethodsarray<card | alipay | crypto>міндеттіЖаңа USD шоты картаны және Alipay-ды қолдайды. USD крипто шоттары тек үйлесімділік үшін қабылданады және тірі сатып алу кезінде crypto_requires_usdt қайтарады; крипто үшін USDT пайдаланыңыз.
vatCustomerPercentintegerКлиент үлесі, тұтас пайыз ретінде. 0 — сатушы бәрін жабады; 100 — клиент бәрін жабады. Әдепкі: дүкеннің ескі ҚҚС қалауы.
feeCustomerPercentintegerКлиент үлесі, тұтас пайыз ретінде. 0 — сатушы бәрін жабады; 100 — клиент бәрін жабады.
orderIdstringВидимый покупателю номер заказа.
metadataobjectЖеке сатушы метадеректері. JSON сериализациясынан кейін көп дегенде 3000 UTF-8 байт. Жария сатып алуда ешқашан көрсетілмейді.
pricingMode"native"Мұрагерлік валютаға байланысты баға белгілеу. Бар интеграциялармен үйлесімділік үшін алып тастаңыз.
Валюта RUB
titlestringміндеттіАйналасындағы бос орындар кесіледі. Кесілгеннен кейінгі ұзақтық: 1–120 таңба. Қойындылар мен жол тасымалдарынан басқа басқару таңбаларына тыйым салынады.
descriptionstringНеобязательно; пустая строка допустима. До 500 символов после обрезки.
amountMinorintegerміндеттіТехникалық бүтін сан шекарасы, коммерциялық провайдер шектеуі емес. Теріс сатушы кредиті қабылданбайды.
vatPayercustomer | merchantЕсли опущено, сохраняется текущее правило магазина.
expiresAtintegerБолашақ уақыт, құрылғаннан кейін көп дегенде 90 күн. Әдепкі — жеті күн. Шот сәтінде сақталады.
currency"RUB"міндеттіmethodsarray<"sbp">міндеттіvatCustomerPercentintegerКлиент үлесі, тұтас пайыз ретінде. 0 — сатушы бәрін жабады; 100 — клиент бәрін жабады. Әдепкі: дүкеннің ескі ҚҚС қалауы.
feeCustomerPercentintegerКлиент үлесі, тұтас пайыз ретінде. 0 — сатушы бәрін жабады; 100 — клиент бәрін жабады.
orderIdstringВидимый покупателю номер заказа.
metadataobjectЖеке сатушы метадеректері. JSON сериализациясынан кейін көп дегенде 3000 UTF-8 байт. Жария сатып алуда ешқашан көрсетілмейді.
pricingMode"native"Мұрагерлік валютаға байланысты баға белгілеу. Бар интеграциялармен үйлесімділік үшін алып тастаңыз.
Валюта USDT
titlestringміндеттіАйналасындағы бос орындар кесіледі. Кесілгеннен кейінгі ұзақтық: 1–120 таңба. Қойындылар мен жол тасымалдарынан басқа басқару таңбаларына тыйым салынады.
descriptionstringНеобязательно; пустая строка допустима. До 500 символов после обрезки.
amountMinorintegerміндеттіТехникалық бүтін сан шекарасы, коммерциялық провайдер шектеуі емес. Теріс сатушы кредиті қабылданбайды.
vatPayercustomer | merchantЕсли опущено, сохраняется текущее правило магазина.
expiresAtintegerБолашақ уақыт, құрылғаннан кейін көп дегенде 90 күн. Әдепкі — жеті күн. Шот сәтінде сақталады.
currency"USDT"міндеттіmethodsarray<"crypto">міндеттіvatCustomerPercentintegerКлиент үлесі, тұтас пайыз ретінде. 0 — сатушы бәрін жабады; 100 — клиент бәрін жабады. Әдепкі: дүкеннің ескі ҚҚС қалауы.
feeCustomerPercentintegerКлиент үлесі, тұтас пайыз ретінде. 0 — сатушы бәрін жабады; 100 — клиент бәрін жабады.
orderIdstringВидимый покупателю номер заказа.
metadataobjectЖеке сатушы метадеректері. JSON сериализациясынан кейін көп дегенде 3000 UTF-8 байт. Жария сатып алуда ешқашан көрсетілмейді.
pricingMode"native"Мұрагерлік валютаға байланысты баға белгілеу. Бар интеграциялармен үйлесімділік үшін алып тастаңыз.
Нұсқа 4
titlestringміндеттіАйналасындағы бос орындар кесіледі. Кесілгеннен кейінгі ұзақтық: 1–120 таңба. Қойындылар мен жол тасымалдарынан басқа басқару таңбаларына тыйым салынады.
descriptionstringНеобязательно; пустая строка допустима. До 500 символов после обрезки.
amountMinorintegerміндеттіТехникалық бүтін сан шекарасы, коммерциялық провайдер шектеуі емес. Теріс сатушы кредиті қабылданбайды.
vatPayercustomer | merchantЕсли опущено, сохраняется текущее правило магазина.
expiresAtintegerБолашақ уақыт, құрылғаннан кейін көп дегенде 90 күн. Әдепкі — жеті күн. Шот сәтінде сақталады.
currencyUSD | RUB | USDTміндеттіКіріс бірлігі. Рубль сақталған анықтамалық бағам бойынша АҚШ долларына айырбасталады; USDT айқын 1:1 шот ережесін пайдаланады. Сақталған шоттың базалық валютасы - АҚШ доллары.
methodsarray<card | alipay | sbp | crypto>міндеттіvatCustomerPercentintegerКлиент үлесі, тұтас пайыз ретінде. 0 — сатушы бәрін жабады; 100 — клиент бәрін жабады. Әдепкі: дүкеннің ескі ҚҚС қалауы.
feeCustomerPercentintegerКлиент үлесі, тұтас пайыз ретінде. 0 — сатушы бәрін жабады; 100 — клиент бәрін жабады.
orderIdstringВидимый покупателю номер заказа.
metadataobjectЖеке сатушы метадеректері. JSON сериализациясынан кейін көп дегенде 3000 UTF-8 байт. Жария сатып алуда ешқашан көрсетілмейді.
pricingMode"universal"міндеттіЖауаптар
200Идемпотентті қайталау; replayed=true.
linkobjectміндеттіreplayedbooleanміндеттіcheckoutUrlstringміндеттіПлатёжная ссылка доступна сразу; опрос не требуется.
201Шот-фактура жасалды; replayed=false.
linkobjectміндеттіreplayedbooleanміндеттіcheckoutUrlstringміндеттіПлатёжная ссылка доступна сразу; опрос не требуется.
400Жарамсыз JSON, белгісіз өріс немесе жарамсыз мән.
errorobjectміндетті401Жарамды сеанс жоқ; webhook үшін — жарамсыз құпия сөз.
errorobjectміндетті403Origin, CSRF немесе браузер байланыстыруды тексеру сәтсіз аяқталды.
errorobjectміндетті409Кіру сұрауы пайдаланылған немесе жойылған, сәйкестік расталмаған немесе қолдау сұрауы қайшы келеді.
errorobjectміндетті413Дене 16,384 байттан асады; шектеу /api/support/ask және Telegram webhook үшін 65,536 байт.
errorobjectміндетті415Content-Type: application/json қажет.
errorobjectміндетті429Жылдамдық шектеуі асып кетті.
errorobjectміндетті503Интеграция немесе сақтау қолжетімсіз, оқиға өңделуде немесе қызмет қолжетімсіз.
errorobjectміндеттіGET/api/v1/payment-links/{id}
Меншікті сілтеме және сақталған есептеу
Заголовоктар мен параметрлер
idpathміндеттіМеншікті сілтеме идентификаторы, қоғамдық токен емес.
Жауаптар
200Басқа пайдаланушының ID-сі де, жоқ ID де 404 қайтарады.
linkobjectміндеттіcheckoutUrlstringКүй жаңарту жауаптарына қосылады; ішкі сілтеме әрқашан өзінің checkoutUrl мәнін қамтиды.
401Жарамды сеанс жоқ; webhook үшін — жарамсыз құпия сөз.
errorobjectміндетті404Жазба жоқ, қоғамдық токен жарамсыз немесе сұралған жазба басқа пайдаланушыға тиесілі.
errorobjectміндетті503Интеграция немесе сақтау қолжетімсіз, оқиға өңделуде немесе қызмет қолжетімсіз.
errorobjectміндеттіPATCH/api/v1/payment-links/{id}
Сілтемені кідірту, жалғастыру немесе болдырмау
Тек status өзгертеді. Жаңарту және өзгермейтін шот-фактура updated оқиғасы атомдық түрде жасалады. Қатарлас өзгерістер нұсқа тексеруін пайдаланады; LINK_CHANGED кезінде жаңартып, қайта әрекеттеніңіз. cancelled – терминалдық, мерзім ешқашан ұзартылмайды, ал баға, әдістер, шығын үлестері мен сипаттама қатып қалады. Сақталған күйді қайталау ағымдағы шот-фактураны қайтарады.
Заголовоктар мен параметрлер
idpathміндеттіМеншікті сілтеме идентификаторы, қоғамдық токен емес.
JSON денесі
statusactive | paused | cancelledміндеттіЖауаптар
200Меншікті сілтеменің ағымдағы күйі.
linkobjectміндеттіcheckoutUrlstringКүй жаңарту жауаптарына қосылады; ішкі сілтеме әрқашан өзінің checkoutUrl мәнін қамтиды.
400Жарамсыз JSON, белгісіз өріс немесе жарамсыз мән.
errorobjectміндетті401Жарамды сеанс жоқ; webhook үшін — жарамсыз құпия сөз.
errorobjectміндетті403Origin, CSRF немесе браузер байланыстыруды тексеру сәтсіз аяқталды.
errorobjectміндетті404Жазба жоқ, қоғамдық токен жарамсыз немесе сұралған жазба басқа пайдаланушыға тиесілі.
errorobjectміндетті409Кіру сұрауы пайдаланылған немесе жойылған, сәйкестік расталмаған немесе қолдау сұрауы қайшы келеді.
errorobjectміндетті413Дене 16,384 байттан асады; шектеу /api/support/ask және Telegram webhook үшін 65,536 байт.
errorobjectміндетті415Content-Type: application/json қажет.
errorobjectміндетті503Интеграция немесе сақтау қолжетімсіз, оқиға өңделуде немесе қызмет қолжетімсіз.
errorobjectміндеттіGET/api/api-keys
Өз кілт метадеректерін тізімдеу
Заголовоктар мен параметрлер
X-Kevmi-StoreheaderБраузер сеансы үшін меншікті дүкенді таңдаңыз. Бірінші дүкенді пайдалану үшін алып тастаңыз. API кілттері бұл тақырыпты елемейді және әрқашан өздерінің өзгермейтін дүкен байланыстыруын пайдаланады. all мәні тек оқуға арналған және оны тек бақылау тақтасы мен шоттар тізімі нүктелері қолдайды.
Жауаптар
200Құпиялар мен құпия хэштер алынып тасталады.
keysarray<object>міндетті401Жарамды сеанс жоқ; webhook үшін — жарамсыз құпия сөз.
errorobjectміндетті503Интеграция немесе сақтау қолжетімсіз, оқиға өңделуде немесе қызмет қолжетімсіз.
errorobjectміндеттіPOST/api/api-keys
Шектелген кілт жасау; оның құпиясын бір рет көрсету
Ең көбі 10 белсенді кілт. Сағатына пайдаланушыға ең көбі 5 жасау. Кілттер мерзімі аяқталады, қайтарып алынуы мүмкін және минутына кілтке 90 API сұрауымен шектелген.
Заголовоктар мен параметрлер
OriginheaderміндеттіAPP_ORIGIN-ге дәл сәйкес келуі керек. Sec-Fetch-Site: cross-site қабылданбайды. Сервер CORS қолжетімділігін қамтамасыз етпейді.
X-CSRF-TokenheaderміндеттіАғымдағы сеанс токені GET /api/auth/me немесе сәтті кіру аяқталуынан.
X-Kevmi-StoreheaderБраузер сеансы үшін меншікті дүкенді таңдаңыз. Бірінші дүкенді пайдалану үшін алып тастаңыз. API кілттері бұл тақырыпты елемейді және әрқашан өздерінің өзгермейтін дүкен байланыстыруын пайдаланады. all мәні тек оқуға арналған және оны тек бақылау тақтасы мен шоттар тізімі нүктелері қолдайды.
JSON денесі
namestringміндеттіscopesarray<invoices:read | invoices:write | events:read>expiresInDaysintegerЖауаптар
201Құпияны серверіңізде қауіпсіз сақтаңыз.
keyobjectміндеттіsecretstringміндетті400Жарамсыз JSON, белгісіз өріс немесе жарамсыз мән.
errorobjectміндетті401Жарамды сеанс жоқ; webhook үшін — жарамсыз құпия сөз.
errorobjectміндетті403Origin, CSRF немесе браузер байланыстыруды тексеру сәтсіз аяқталды.
errorobjectміндетті409Кіру сұрауы пайдаланылған немесе жойылған, сәйкестік расталмаған немесе қолдау сұрауы қайшы келеді.
errorobjectміндетті429Жылдамдық шектеуі асып кетті.
errorobjectміндетті503Интеграция немесе сақтау қолжетімсіз, оқиға өңделуде немесе қызмет қолжетімсіз.
errorobjectміндеттіDELETE/api/api-keys/{id}
Өз кілтіңізді қайтарып алыңыз
Заголовоктар мен параметрлер
idpathміндеттіOriginheaderміндеттіAPP_ORIGIN-ге дәл сәйкес келуі керек. Sec-Fetch-Site: cross-site қабылданбайды. Сервер CORS қолжетімділігін қамтамасыз етпейді.
X-CSRF-TokenheaderміндеттіАғымдағы сеанс токені GET /api/auth/me немесе сәтті кіру аяқталуынан.
X-Kevmi-StoreheaderБраузер сеансы үшін меншікті дүкенді таңдаңыз. Бірінші дүкенді пайдалану үшін алып тастаңыз. API кілттері бұл тақырыпты елемейді және әрқашан өздерінің өзгермейтін дүкен байланыстыруын пайдаланады. all мәні тек оқуға арналған және оны тек бақылау тақтасы мен шоттар тізімі нүктелері қолдайды.
Жауаптар
200Кілттің болашақ пайдаланылуы қабылданбайды.
revokedtrueміндетті401Жарамды сеанс жоқ; webhook үшін — жарамсыз құпия сөз.
errorobjectміндетті403Origin, CSRF немесе браузер байланыстыруды тексеру сәтсіз аяқталды.
errorobjectміндетті404Жазба жоқ, қоғамдық токен жарамсыз немесе сұралған жазба басқа пайдаланушыға тиесілі.
errorobjectміндетті503Интеграция немесе сақтау қолжетімсіз, оқиға өңделуде немесе қызмет қолжетімсіз.
errorobjectміндеттіGET/api/events
Өз өзгермейтін оқиға тарихын оқу
Заголовоктар мен параметрлер
beforequeryЕскі айрықша уақыт шекарасы. Курсормен біріктіру мүмкін емес. Жоғалтпайтын пагинация үшін nextCursor пайдаланыңыз.
cursorqueryАлдыңғы бет қайтарған мөлдір емес nextCursor. [createdAt,id] кодтайды және бір уақыт белгісін бөлісетін оқиғаларды сақтайды.
X-Kevmi-StoreheaderБраузер сеансы үшін меншікті дүкенді таңдаңыз. Бірінші дүкенді пайдалану үшін алып тастаңыз. API кілттері бұл тақырыпты елемейді және әрқашан өздерінің өзгермейтін дүкен байланыстыруын пайдаланады. all мәні тек оқуға арналған және оны тек бақылау тақтасы мен шоттар тізімі нүктелері қолдайды.
Жауаптар
200Ең жаңасы бірінші; 50 оқиғаға дейін. null болғанша nextCursor-ді ұстаныңыз.
eventsarray<object>міндеттіnextCursorstring | nullміндетті400Жарамсыз JSON, белгісіз өріс немесе жарамсыз мән.
errorobjectміндетті401Жарамды сеанс жоқ; webhook үшін — жарамсыз құпия сөз.
errorobjectміндетті503Интеграция немесе сақтау қолжетімсіз, оқиға өңделуде немесе қызмет қолжетімсіз.
errorobjectміндеттіGET/api/v1/events
Өз өзгермейтін оқиға тарихын оқу
Заголовоктар мен параметрлер
beforequeryЕскі айрықша уақыт шекарасы. Курсормен біріктіру мүмкін емес. Жоғалтпайтын пагинация үшін nextCursor пайдаланыңыз.
cursorqueryАлдыңғы бет қайтарған мөлдір емес nextCursor. [createdAt,id] кодтайды және бір уақыт белгісін бөлісетін оқиғаларды сақтайды.
Жауаптар
200Ең жаңасы бірінші; 50 оқиғаға дейін. null болғанша nextCursor-ді ұстаныңыз.
eventsarray<object>міндеттіnextCursorstring | nullміндетті400Жарамсыз JSON, белгісіз өріс немесе жарамсыз мән.
errorobjectміндетті401Жарамды сеанс жоқ; webhook үшін — жарамсыз құпия сөз.
errorobjectміндетті503Интеграция немесе сақтау қолжетімсіз, оқиға өңделуде немесе қызмет қолжетімсіз.
errorobjectміндеттіWebhooks
Тексерілген HTTPS соңғы нүктелері, қол қойылған оқиғалар, жеткізу әрекеттері және қайталаулар.
GET/api/webhooks
Endpoints және соңғы 30 жеткізу тізімі
Заголовоктар мен параметрлер
X-Kevmi-StoreheaderБраузер сеансы үшін меншікті дүкенді таңдаңыз. Бірінші дүкенді пайдалану үшін алып тастаңыз. API кілттері бұл тақырыпты елемейді және әрқашан өздерінің өзгермейтін дүкен байланыстыруын пайдаланады. all мәні тек оқуға арналған және оны тек бақылау тақтасы мен шоттар тізімі нүктелері қолдайды.
Жауаптар
200Қол қою құпиялары қайтарылмайды.
endpointsarray<object>міндеттіdeliveriesarray<object>міндеттіavailablebooleanміндеттіeventTypesarray<invoice.created | invoice.updated | payment.succeeded | payment.failed | payment.refunded | payment.partially_refunded | payment.disputed | payment.review_required>міндетті401Жарамды сеанс жоқ; webhook үшін — жарамсыз құпия сөз.
errorobjectміндетті404Жазба жоқ, қоғамдық токен жарамсыз немесе сұралған жазба басқа пайдаланушыға тиесілі.
errorobjectміндетті503Интеграция немесе сақтау қолжетімсіз, оқиға өңделуде немесе қызмет қолжетімсіз.
errorobjectміндеттіPOST/api/webhooks
Жариялық HTTPS бағытын тіркеу
Ең көбі 5 endpoint және сағатына пайдаланушыға 6 жасау. Тек жариялық HTTPS домендері; тіркелгі деректері жоқ, IP әріптік мәндер немесе арнайы порттар. Жаңадан жасалған endpoint оның шақыртуы сәтті болғанша тірі жеткізулерді алмайды.
Заголовоктар мен параметрлер
OriginheaderміндеттіAPP_ORIGIN-ге дәл сәйкес келуі керек. Sec-Fetch-Site: cross-site қабылданбайды. Сервер CORS қолжетімділігін қамтамасыз етпейді.
X-CSRF-TokenheaderміндеттіАғымдағы сеанс токені GET /api/auth/me немесе сәтті кіру аяқталуынан.
X-Kevmi-StoreheaderБраузер сеансы үшін меншікті дүкенді таңдаңыз. Бірінші дүкенді пайдалану үшін алып тастаңыз. API кілттері бұл тақырыпты елемейді және әрқашан өздерінің өзгермейтін дүкен байланыстыруын пайдаланады. all мәні тек оқуға арналған және оны тек бақылау тақтасы мен шоттар тізімі нүктелері қолдайды.
JSON денесі
urlstringміндеттіdescriptionstringeventsarray<invoice.created | invoice.updated | payment.succeeded | payment.failed | payment.refunded | payment.partially_refunded | payment.disputed | payment.review_required>Жауаптар
201Бір реттік қол қою құпиясын сақтаңыз.
endpointobjectміндеттіsecretstringміндеттіТек жасау/айналдыру кезінде көрсетіледі. Сервер жағында шифрланған түрде сақталады.
400Жарамсыз JSON, белгісіз өріс немесе жарамсыз мән.
errorobjectміндетті401Жарамды сеанс жоқ; webhook үшін — жарамсыз құпия сөз.
errorobjectміндетті403Origin, CSRF немесе браузер байланыстыруды тексеру сәтсіз аяқталды.
errorobjectміндетті409Кіру сұрауы пайдаланылған немесе жойылған, сәйкестік расталмаған немесе қолдау сұрауы қайшы келеді.
errorobjectміндетті429Жылдамдық шектеуі асып кетті.
errorobjectміндетті503Интеграция немесе сақтау қолжетімсіз, оқиға өңделуде немесе қызмет қолжетімсіз.
errorobjectміндеттіGET/api/webhooks/{id}
Endpoints және соңғы 30 жеткізу тізімі
Заголовоктар мен параметрлер
idpathміндеттіX-Kevmi-StoreheaderБраузер сеансы үшін меншікті дүкенді таңдаңыз. Бірінші дүкенді пайдалану үшін алып тастаңыз. API кілттері бұл тақырыпты елемейді және әрқашан өздерінің өзгермейтін дүкен байланыстыруын пайдаланады. all мәні тек оқуға арналған және оны тек бақылау тақтасы мен шоттар тізімі нүктелері қолдайды.
Жауаптар
200Қол қою құпиялары қайтарылмайды.
endpointsarray<object>міндеттіdeliveriesarray<object>міндеттіavailablebooleanміндеттіeventTypesarray<invoice.created | invoice.updated | payment.succeeded | payment.failed | payment.refunded | payment.partially_refunded | payment.disputed | payment.review_required>міндетті401Жарамды сеанс жоқ; webhook үшін — жарамсыз құпия сөз.
errorobjectміндетті404Жазба жоқ, қоғамдық токен жарамсыз немесе сұралған жазба басқа пайдаланушыға тиесілі.
errorobjectміндетті503Интеграция немесе сақтау қолжетімсіз, оқиға өңделуде немесе қызмет қолжетімсіз.
errorobjectміндеттіPATCH/api/webhooks/{id}
Тексерілген endpoint-ті үзу немесе жалғастыру
Үзілген тексерілген endpoint-тер құқығы бар оқиғаларды кезекте сақтайды; жалғастыру мерзімі жеткен жеткізулерді өңдейді.
Заголовоктар мен параметрлер
idpathміндеттіOriginheaderміндеттіAPP_ORIGIN-ге дәл сәйкес келуі керек. Sec-Fetch-Site: cross-site қабылданбайды. Сервер CORS қолжетімділігін қамтамасыз етпейді.
X-CSRF-TokenheaderміндеттіАғымдағы сеанс токені GET /api/auth/me немесе сәтті кіру аяқталуынан.
X-Kevmi-StoreheaderБраузер сеансы үшін меншікті дүкенді таңдаңыз. Бірінші дүкенді пайдалану үшін алып тастаңыз. API кілттері бұл тақырыпты елемейді және әрқашан өздерінің өзгермейтін дүкен байланыстыруын пайдаланады. all мәні тек оқуға арналған және оны тек бақылау тақтасы мен шоттар тізімі нүктелері қолдайды.
JSON денесі
statusactive | pausedміндеттіЖауаптар
200Мәртебе сақталды.
updatedtrueміндетті400Жарамсыз JSON, белгісіз өріс немесе жарамсыз мән.
errorobjectміндетті401Жарамды сеанс жоқ; webhook үшін — жарамсыз құпия сөз.
errorobjectміндетті403Origin, CSRF немесе браузер байланыстыруды тексеру сәтсіз аяқталды.
errorobjectміндетті404Жазба жоқ, қоғамдық токен жарамсыз немесе сұралған жазба басқа пайдаланушыға тиесілі.
errorobjectміндетті409Кіру сұрауы пайдаланылған немесе жойылған, сәйкестік расталмаған немесе қолдау сұрауы қайшы келеді.
errorobjectміндетті503Интеграция немесе сақтау қолжетімсіз, оқиға өңделуде немесе қызмет қолжетімсіз.
errorobjectміндеттіDELETE/api/webhooks/{id}
Endpoint-ті жою және жеткізілмеген жұмыстарды болдырмау
Күтудегі, сәтсіз және жалға алынған жұмыстарды болдырмайды. Желі арқылы жіберілген сұрауды қайтарып алу мүмкін емес.
Заголовоктар мен параметрлер
idpathміндеттіOriginheaderміндеттіAPP_ORIGIN-ге дәл сәйкес келуі керек. Sec-Fetch-Site: cross-site қабылданбайды. Сервер CORS қолжетімділігін қамтамасыз етпейді.
X-CSRF-TokenheaderміндеттіАғымдағы сеанс токені GET /api/auth/me немесе сәтті кіру аяқталуынан.
X-Kevmi-StoreheaderБраузер сеансы үшін меншікті дүкенді таңдаңыз. Бірінші дүкенді пайдалану үшін алып тастаңыз. API кілттері бұл тақырыпты елемейді және әрқашан өздерінің өзгермейтін дүкен байланыстыруын пайдаланады. all мәні тек оқуға арналған және оны тек бақылау тақтасы мен шоттар тізімі нүктелері қолдайды.
Жауаптар
200Endpoint жойылды.
deletedtrueміндетті401Жарамды сеанс жоқ; webhook үшін — жарамсыз құпия сөз.
errorobjectміндетті403Origin, CSRF немесе браузер байланыстыруды тексеру сәтсіз аяқталды.
errorobjectміндетті404Жазба жоқ, қоғамдық токен жарамсыз немесе сұралған жазба басқа пайдаланушыға тиесілі.
errorobjectміндетті503Интеграция немесе сақтау қолжетімсіз, оқиға өңделуде немесе қызмет қолжетімсіз.
errorobjectміндеттіPOST/api/webhooks/{id}/verify
Қол қойылған endpoint.тексеру шақыртуын жіберу
Сағатына пайдаланушыға ең көбі 5 тексеру әрекеті. Серверіңіз Kevmi-Signature-ді тексеруі және 2xx JSON {"challenge":"<data.challenge>"} қайтаруы керек. Сұрау уақыт шегі: 8 секунд; жауап шегі: 8192 байт. Қайта бағыттаулар орындалмайды. Тексеру endpoint-ті белсендіреді.
Заголовоктар мен параметрлер
idpathміндеттіOriginheaderміндеттіAPP_ORIGIN-ге дәл сәйкес келуі керек. Sec-Fetch-Site: cross-site қабылданбайды. Сервер CORS қолжетімділігін қамтамасыз етпейді.
X-CSRF-TokenheaderміндеттіАғымдағы сеанс токені GET /api/auth/me немесе сәтті кіру аяқталуынан.
X-Kevmi-StoreheaderБраузер сеансы үшін меншікті дүкенді таңдаңыз. Бірінші дүкенді пайдалану үшін алып тастаңыз. API кілттері бұл тақырыпты елемейді және әрқашан өздерінің өзгермейтін дүкен байланыстыруын пайдаланады. all мәні тек оқуға арналған және оны тек бақылау тақтасы мен шоттар тізімі нүктелері қолдайды.
JSON денесі
Жауаптар
200Тексерілген және белсенді.
verifiedtrueміндеттіendpointobjectміндетті400Жарамсыз JSON, белгісіз өріс немесе жарамсыз мән.
errorobjectміндетті401Жарамды сеанс жоқ; webhook үшін — жарамсыз құпия сөз.
errorobjectміндетті403Origin, CSRF немесе браузер байланыстыруды тексеру сәтсіз аяқталды.
errorobjectміндетті404Жазба жоқ, қоғамдық токен жарамсыз немесе сұралған жазба басқа пайдаланушыға тиесілі.
errorobjectміндетті409Кіру сұрауы пайдаланылған немесе жойылған, сәйкестік расталмаған немесе қолдау сұрауы қайшы келеді.
errorobjectміндетті422Бағытты тексеру мүмкін болмады.
errorobjectміндетті429Жылдамдық шектеуі асып кетті.
errorobjectміндетті503Интеграция немесе сақтау қолжетімсіз, оқиға өңделуде немесе қызмет қолжетімсіз.
errorobjectміндеттіPOST/api/webhooks/{id}/rotate
Қол қою құпиясын ауыстыру және қайта тексеруді талап ету
Сағатына пайдаланушыға ең көбі 3 айналдыру. Серверіңізді жаңартыңыз және endpoint-ті қайта тексеріңіз. Қазірдің өзінде жіберіліп жатқан сұрау алдыңғы қолтаңбаны алып жүруі мүмкін.
Заголовоктар мен параметрлер
idpathміндеттіOriginheaderміндеттіAPP_ORIGIN-ге дәл сәйкес келуі керек. Sec-Fetch-Site: cross-site қабылданбайды. Сервер CORS қолжетімділігін қамтамасыз етпейді.
X-CSRF-TokenheaderміндеттіАғымдағы сеанс токені GET /api/auth/me немесе сәтті кіру аяқталуынан.
X-Kevmi-StoreheaderБраузер сеансы үшін меншікті дүкенді таңдаңыз. Бірінші дүкенді пайдалану үшін алып тастаңыз. API кілттері бұл тақырыпты елемейді және әрқашан өздерінің өзгермейтін дүкен байланыстыруын пайдаланады. all мәні тек оқуға арналған және оны тек бақылау тақтасы мен шоттар тізімі нүктелері қолдайды.
JSON денесі
Жауаптар
200Жаңа құпия бір рет көрсетіледі.
secretstringміндеттіТек жасау/айналдыру кезінде көрсетіледі. Сервер жағында шифрланған түрде сақталады.
requiresVerificationtrueміндетті400Жарамсыз JSON, белгісіз өріс немесе жарамсыз мән.
errorobjectміндетті401Жарамды сеанс жоқ; webhook үшін — жарамсыз құпия сөз.
errorobjectміндетті403Origin, CSRF немесе браузер байланыстыруды тексеру сәтсіз аяқталды.
errorobjectміндетті404Жазба жоқ, қоғамдық токен жарамсыз немесе сұралған жазба басқа пайдаланушыға тиесілі.
errorobjectміндетті409Кіру сұрауы пайдаланылған немесе жойылған, сәйкестік расталмаған немесе қолдау сұрауы қайшы келеді.
errorobjectміндетті429Жылдамдық шектеуі асып кетті.
errorobjectміндетті503Интеграция немесе сақтау қолжетімсіз, оқиға өңделуде немесе қызмет қолжетімсіз.
errorobjectміндеттіPOST/api/webhooks/{id}/deliveries/{deliveryId}/retry
Белсенді endpoint-ке сәтсіз жеткізуді қайталау
Оқиға ID-сін және жүктемені сақтайды; жаңа уақыт белгісі мен қолтаңба жасайды. Әр автоматты жеткізу циклі мерзімі аяқталған жалға алуларды қоса алғанда, ең көбі 6 әрекет жасайды, 1м, 5м, 30м, 2с және 12с кідірістерімен. Жеткізу кемінде бір рет; оқиға ID-лерін серверіңізде дедупликациялаңыз.
Заголовоктар мен параметрлер
idpathміндеттіdeliveryIdpathміндеттіOriginheaderміндеттіAPP_ORIGIN-ге дәл сәйкес келуі керек. Sec-Fetch-Site: cross-site қабылданбайды. Сервер CORS қолжетімділігін қамтамасыз етпейді.
X-CSRF-TokenheaderміндеттіАғымдағы сеанс токені GET /api/auth/me немесе сәтті кіру аяқталуынан.
X-Kevmi-StoreheaderБраузер сеансы үшін меншікті дүкенді таңдаңыз. Бірінші дүкенді пайдалану үшін алып тастаңыз. API кілттері бұл тақырыпты елемейді және әрқашан өздерінің өзгермейтін дүкен байланыстыруын пайдаланады. all мәні тек оқуға арналған және оны тек бақылау тақтасы мен шоттар тізімі нүктелері қолдайды.
JSON денесі
Жауаптар
202Қайталау жоспарланды.
queuedtrueміндетті400Жарамсыз JSON, белгісіз өріс немесе жарамсыз мән.
errorobjectміндетті401Жарамды сеанс жоқ; webhook үшін — жарамсыз құпия сөз.
errorobjectміндетті403Origin, CSRF немесе браузер байланыстыруды тексеру сәтсіз аяқталды.
errorobjectміндетті404Жазба жоқ, қоғамдық токен жарамсыз немесе сұралған жазба басқа пайдаланушыға тиесілі.
errorobjectміндетті409Кіру сұрауы пайдаланылған немесе жойылған, сәйкестік расталмаған немесе қолдау сұрауы қайшы келеді.
errorobjectміндетті429Жылдамдық шектеуі асып кетті.
errorobjectміндетті503Интеграция немесе сақтау қолжетімсіз, оқиға өңделуде немесе қызмет қолжетімсіз.
errorobjectміндеттіApplications
Аутентификацияланған сайт өтінімдері және жеке бақылау.
GET/api/applications
Ең көбі 30 өз өтінімін тізімдеу
Заголовоктар мен параметрлер
X-Kevmi-LocaleheaderБақылау URL-і және жүйе хабарлама тілі. Қолдау көрсетілген мәнсіз, бір шығу тегі реферрері мен браузер тілі қарастырылады; кері қайтару ағылшын тілі.
X-Kevmi-StoreheaderБраузер сеансы үшін меншікті дүкенді таңдаңыз. Бірінші дүкенді пайдалану үшін алып тастаңыз. API кілттері бұл тақырыпты елемейді және әрқашан өздерінің өзгермейтін дүкен байланыстыруын пайдаланады. all мәні тек оқуға арналған және оны тек бақылау тақтасы мен шоттар тізімі нүктелері қолдайды.
Жауаптар
200Ең жаңасы бірінші.
applicationsarray<object>міндетті401Жарамды сеанс жоқ; webhook үшін — жарамсыз құпия сөз.
errorobjectміндетті503Интеграция немесе сақтау қолжетімсіз, оқиға өңделуде немесе қызмет қолжетімсіз.
errorobjectміндеттіPOST/api/applications
Веб-сайт ақпаратын жіберу және бақылау URL-ін алу
Расталған Telegram кіруін талап етеді. Күніне пайдаланушыға ең көбі 5 жаңа жіберу. Идемпотентті қайта ойнату 200 қайтарады. Сервер нақты сақталған кезеңдерді ілгерілетеді; қолжетімсіз немесе тәуекелді автоматты нәтижелер адам қарауын талап етеді. Мақұлдау төлем шлюзін конфигурацияламайды. Меншік пен күй өтініш беруші тарапынан беріле алмайды.
Заголовоктар мен параметрлер
OriginheaderміндеттіAPP_ORIGIN-ге дәл сәйкес келуі керек. Sec-Fetch-Site: cross-site қабылданбайды. Сервер CORS қолжетімділігін қамтамасыз етпейді.
X-CSRF-TokenheaderміндеттіАғымдағы сеанс токені GET /api/auth/me немесе сәтті кіру аяқталуынан.
Idempotency-KeyheaderміндеттіӘр логикалық сұранысқа бір кілт. Бірдей канондық кіріспен қайталау түпнұсқа жазбаны қайтарады; бірдей кілтпен басқа кіріс 409 қайтарады.
X-Kevmi-LocaleheaderБақылау URL-і және жүйе хабарлама тілі. Қолдау көрсетілген мәнсіз, бір шығу тегі реферрері мен браузер тілі қарастырылады; кері қайтару ағылшын тілі.
X-Kevmi-StoreheaderБраузер сеансы үшін меншікті дүкенді таңдаңыз. Бірінші дүкенді пайдалану үшін алып тастаңыз. API кілттері бұл тақырыпты елемейді және әрқашан өздерінің өзгермейтін дүкен байланыстыруын пайдаланады. all мәні тек оқуға арналған және оны тек бақылау тақтасы мен шоттар тізімі нүктелері қолдайды.
JSON денесі
websiteUrlstringміндеттіТіркелгі деректерінсіз, сұрау параметрлерінсіз, IP әріптік мәндерінсіз немесе арнайы порттарсыз жариялық HTTPS домен. Фрагмент нормализация кезінде жойылады.
businessNamestringміндеттіbusinessTypedigital_goods | software | services | physical_goods | education | otherміндеттіdescriptionstringміндеттіcontactTelegramstringміндеттіӘріптен басталатын 5–32 таңбалы Telegram пайдаланушы атауы, содан кейін әріптер/цифрлар/төменгі сызықтар. Қосымша @ немесе https://t.me/ префиксі; айналасындағы бос орындар қырқылады. @username ретінде сақталады.
consenttrueміндеттіЖауаптар
200Бар өтінім.
applicationobjectміндеттіurlstringміндеттіreplayedbooleanміндетті202Қабылданды; өңдеу серверде жалғасады.
applicationobjectміндеттіurlstringміндеттіreplayedbooleanміндетті400Жарамсыз JSON, белгісіз өріс немесе жарамсыз мән.
errorobjectміндетті401Жарамды сеанс жоқ; webhook үшін — жарамсыз құпия сөз.
errorobjectміндетті403Origin, CSRF немесе браузер байланыстыруды тексеру сәтсіз аяқталды.
errorobjectміндетті409Кіру сұрауы пайдаланылған немесе жойылған, сәйкестік расталмаған немесе қолдау сұрауы қайшы келеді.
errorobjectміндетті429Жылдамдық шектеуі асып кетті.
errorobjectміндетті503Интеграция немесе сақтау қолжетімсіз, оқиға өңделуде немесе қызмет қолжетімсіз.
errorobjectміндеттіGET/api/applications/{id}
Өз қарау кезеңдері мен оқиға тарихын оқу
Заголовоктар мен параметрлер
idpathміндеттіX-Kevmi-LocaleheaderБақылау URL-і және жүйе хабарлама тілі. Қолдау көрсетілген мәнсіз, бір шығу тегі реферрері мен браузер тілі қарастырылады; кері қайтару ағылшын тілі.
X-Kevmi-StoreheaderБраузер сеансы үшін меншікті дүкенді таңдаңыз. Бірінші дүкенді пайдалану үшін алып тастаңыз. API кілттері бұл тақырыпты елемейді және әрқашан өздерінің өзгермейтін дүкен байланыстыруын пайдаланады. all мәні тек оқуға арналған және оны тек бақылау тақтасы мен шоттар тізімі нүктелері қолдайды.
Жауаптар
200Жеке өтініш беруші проекциясы. Дәлелдер мен модель шығаруы ашылмайды.
applicationobjectміндеттіeventsarray<object>міндетті401Жарамды сеанс жоқ; webhook үшін — жарамсыз құпия сөз.
errorobjectміндетті404Жазба жоқ, қоғамдық токен жарамсыз немесе сұралған жазба басқа пайдаланушыға тиесілі.
errorobjectміндетті503Интеграция немесе сақтау қолжетімсіз, оқиға өңделуде немесе қызмет қолжетімсіз.
errorobjectміндеттіPOST/api/applications/{id}/resume
Құқығы бар фондық кезеңді жалғастыру
Қарауды өткізіп жіберуге немесе кезеңді мақұлдауға болмайды. Сервер жалға алуы қайталанатын жұмысты болдырмайды. Қарауды қажет ететін және қорытынды өтінімдер өзгеріссіз қалады. Минутына пайдаланушыға ең көбі 30 өңдеу-жалғастыру сұрауы.
Заголовоктар мен параметрлер
idpathміндеттіOriginheaderміндеттіAPP_ORIGIN-ге дәл сәйкес келуі керек. Sec-Fetch-Site: cross-site қабылданбайды. Сервер CORS қолжетімділігін қамтамасыз етпейді.
X-CSRF-TokenheaderміндеттіАғымдағы сеанс токені GET /api/auth/me немесе сәтті кіру аяқталуынан.
X-Kevmi-LocaleheaderБақылау URL-і және жүйе хабарлама тілі. Қолдау көрсетілген мәнсіз, бір шығу тегі реферрері мен браузер тілі қарастырылады; кері қайтару ағылшын тілі.
X-Kevmi-StoreheaderБраузер сеансы үшін меншікті дүкенді таңдаңыз. Бірінші дүкенді пайдалану үшін алып тастаңыз. API кілттері бұл тақырыпты елемейді және әрқашан өздерінің өзгермейтін дүкен байланыстыруын пайдаланады. all мәні тек оқуға арналған және оны тек бақылау тақтасы мен шоттар тізімі нүктелері қолдайды.
JSON денесі
Жауаптар
200Өңдеу қажет емес.
applicationobjectміндетті202Өңдеу жоспарланды.
applicationobjectміндеттіscheduledtrueміндетті400Жарамсыз JSON, белгісіз өріс немесе жарамсыз мән.
errorobjectміндетті401Жарамды сеанс жоқ; webhook үшін — жарамсыз құпия сөз.
errorobjectміндетті403Origin, CSRF немесе браузер байланыстыруды тексеру сәтсіз аяқталды.
errorobjectміндетті404Жазба жоқ, қоғамдық токен жарамсыз немесе сұралған жазба басқа пайдаланушыға тиесілі.
errorobjectміндетті429Жылдамдық шектеуі асып кетті.
errorobjectміндетті503Интеграция немесе сақтау қолжетімсіз, оқиға өңделуде немесе қызмет қолжетімсіз.
errorobjectміндеттіModeration
Рұқсат тізіміне енгізілген Telegram модераторлары; әр шешім нұсқа бойынша тексеріледі.
GET/api/moderation/applications
Модерация үшін ең көбі 100 өтінімді тізімдеу
Аутентификацияланған Telegram сәйкестігінің MODERATOR_TELEGRAM_IDS ішінде болуын талап етеді. Барлық күйлерді қамтиды, алдымен needs_review, содан кейін processing, содан кейін қорытынды күйлер; топ ішінде ең жаңа жаңартулар бірінші.
Жауаптар
200Модератор кезегі.
applicationsarray<object>міндетті401Жарамды сеанс жоқ; webhook үшін — жарамсыз құпия сөз.
errorobjectміндетті403Origin, CSRF немесе браузер байланыстыруды тексеру сәтсіз аяқталды.
errorobjectміндетті503Интеграция немесе сақтау қолжетімсіз, оқиға өңделуде немесе қызмет қолжетімсіз.
errorobjectміндеттіGET/api/moderation/applications/{id}
Қарау дәлелдері мен кезең тарихын оқу
Заголовоктар мен параметрлер
idpathміндеттіЖауаптар
200Жеке модератор дәлелдері.
applicationobjectміндеттіeventsarray<object>міндеттіevidenceobjectміндетті401Жарамды сеанс жоқ; webhook үшін — жарамсыз құпия сөз.
errorobjectміндетті403Origin, CSRF немесе браузер байланыстыруды тексеру сәтсіз аяқталды.
errorobjectміндетті404Жазба жоқ, қоғамдық токен жарамсыз немесе сұралған жазба басқа пайдаланушыға тиесілі.
errorobjectміндетті503Интеграция немесе сақтау қолжетімсіз, оқиға өңделуде немесе қызмет қолжетімсіз.
errorobjectміндеттіPOST/api/moderation/applications/{id}/decision
Ағымдағы қарау кезеңін мақұлдау немесе жалпыға ортақ себеппен қабылдамау
Бапталған модератор қажет; пайдаланушыға минутына көп дегенде 30 шешім. expectedVersion атомдық түрде салыстырылады. Тек ағымдағы needs_review кезеңі мақұлдана алады; соңғы өтінімдер үнсіз қайта ашыла алмайды. Қабылдамау үшін өңделетін жария себеп қажет. Шешім, кезең тарихы және қосылған өтініш берушіге хабарлау бірге сақталады.
Заголовоктар мен параметрлер
idpathміндеттіOriginheaderміндеттіAPP_ORIGIN-ге дәл сәйкес келуі керек. Sec-Fetch-Site: cross-site қабылданбайды. Сервер CORS қолжетімділігін қамтамасыз етпейді.
X-CSRF-TokenheaderміндеттіАғымдағы сеанс токені GET /api/auth/me немесе сәтті кіру аяқталуынан.
JSON денесі
Нұсқа 1
expectedVersionintegerміндеттіaction"approve_step"міндеттіreasonstringНұсқа 2
expectedVersionintegerміндеттіaction"reject"міндеттіreasonstringміндеттіЖауаптар
200Шешім сақталды.
applicationobjectміндетті400Жарамсыз JSON, белгісіз өріс немесе жарамсыз мән.
errorobjectміндетті401Жарамды сеанс жоқ; webhook үшін — жарамсыз құпия сөз.
errorobjectміндетті403Origin, CSRF немесе браузер байланыстыруды тексеру сәтсіз аяқталды.
errorobjectміндетті404Жазба жоқ, қоғамдық токен жарамсыз немесе сұралған жазба басқа пайдаланушыға тиесілі.
errorobjectміндетті409Кіру сұрауы пайдаланылған немесе жойылған, сәйкестік расталмаған немесе қолдау сұрауы қайшы келеді.
errorobjectміндетті429Жылдамдық шектеуі асып кетті.
errorobjectміндетті503Интеграция немесе сақтау қолжетімсіз, оқиға өңделуде немесе қызмет қолжетімсіз.
errorobjectміндеттіGateway events
Дереккөздік шлюз оқиғалары тексеріледі, содан кейін уәкілетті төлем аутентификацияланған сервер көлігі арқылы оқылады. Мерчендайтқа бағытталған webhook-тар жеке қолтаңба мен жеткізу кезегін қолданады.
POST/api/gateway/webhook
Қол қойылған бастапқы шлюз оқиғаларын алу
Native v3: X-Gateway-Timestamp (Unix секунд), X-Gateway-Signature және сәйкес X-Gateway-Event-Id беріңіз. Максималды уақыттың ауытқуы 300 секунд. Қолтаңбаны тексергеннен кейін, Kevmi төлемді аутентификацияланған шлюз API арқылы алады, сақталған тапсырысты, нақты валюта/соманы, әдісті және провайдер растаған күйді тексереді, содан кейін түбіртекті және сатушы outbox оқиғасын атомдық түрде сақтайды. Webhook мәтіні және браузер бақылаулары жалғыз өзі төлемді растамайды. Қайталанған идентификаторлар дедупликацияланады; бар идентификатор үшін өзгертілген мазмұн қабылданбайды. Кешіктірілген оқиғалар жаңа авторитетті күйді пайдаланады. Ішінара қайтарулар, толық қайтарулар, даулар және шолу күйлері қолдау көрсетіледі. Байланыссыз тапсырыстар мойындалып, еленбейді. Kevmi-Signature қолданатын ескірген нормаланған оқиғалар бөлек қолдау көрсетіледі; тек олардың succeeded/failed/full-refunded ауысулары қолданылады.
Заголовоктар мен параметрлер
X-Gateway-TimestampheaderNative v3 оқиғалары үшін қажет.
X-Gateway-Event-IdheaderNative v3 үшін қажет; body.id сәйкес келуі керек.
JSON денесі
Нұсқа 1
idstringміндеттіapi_version"3"міндеттіmode"live"міндеттіtypestringміндеттіdataobjectміндеттіНұсқа 2
eventIdstringміндеттіpaymentIdstringміндеттіinvoiceIdstringміндеттіstatussucceeded | failed | refundedміндеттіamountMinorintegerміндеттіЦелое число суммы в младших единицах валюты.
currencyUSD | RUB | USDTміндеттіШот бірліктері: АҚШ центтері, ресейлік тиындар немесе USDT жүздік үлестері. Автоматты валюта айырбастау жоқ.
methodcard | alipay | sbp | cryptoміндеттіoccurredAtintegerміндеттіUnix уақыт белгісі миллисекундта, UTC.
Жауаптар
200Алынды, дедупликацияланды немесе қауіпсіз еленбейді.
receivedtrueміндеттіreplayedbooleanignoredbooleanappliedboolean400Жарамсыз JSON, белгісіз өріс немесе жарамсыз мән.
errorobjectміндетті401Шлюз қолтаңбасы жоқ, жарамсыз немесе қабылданған уақыт терезесінен тыс.
errorobjectміндетті404Жазба жоқ, қоғамдық токен жарамсыз немесе сұралған жазба басқа пайдаланушыға тиесілі.
errorobjectміндетті409Оқиға идентификаторы өзгертілген мазмұнмен қайта пайдаланылды немесе төлем идентификаторы сақталған шот-фактура байланысымен қайшылықта.
errorobjectміндетті413Дене 16,384 байттан асады; шектеу /api/support/ask және Telegram webhook үшін 65,536 байт.
errorobjectміндетті415Content-Type: application/json қажет.
errorobjectміндетті429Шлюз бос емес; webhook жеткізуін бірдей оқиға идентификаторымен қайталаңыз.
errorobjectміндетті502Шлюз жауабы қолжетімсіз, қате пішімделген немесе тексерілмейтін. Кез келген қайталау әрекетінен бұрын бар төлем мәртебесін оқыңыз.
errorobjectміндетті503Шлюз конфигурациясы немесе қолтаңба құпиясы жоқ.
errorobjectміндетті