Қысқаша
Кілтті жойсаңыз ол сол сәтте істемей қалады: сол кілтпен келген кез келген сұрау unauthorized (401) қатесін алады. Жойылған кілтті қалпына келтіру мүмкін емес — оны қайтаратын батырма жоқ, қолдау да қайтара алмайды. Шешімі біреу: кабинетте жаңа кілт жасап, интеграцияңызда ескісін жаңасына ауыстырасыз. Счёттарыңыз, төлемдеріңіз және ақшаңыз тиылмайды.
Нақты не бұзылды
Кілт — сұрауды кім жібергенін анықтайтын құрал, дерек қоймасы емес. Сондықтан жойылғанда жоғалатыны — тек қолжетімділік.
| Не | Күйі |
|---|---|
| Бұрын жасалған счёттар | Орнында, ешқайсысы жоғалмайды |
| Төленген ақша | Тиылмайды, Kaspi шотыңызда |
| Ашық счёттардың күйін тексеру | Жалғаса береді, poller тоқтамайды |
| Webhook хабарламалары | Келе береді, webhook кілтке байланысты емес |
| Kaspi кассирінің байланысы | Өзгермейді, қайта байланыстыру керек емес |
| Тариф және лимиттер | Өзгермейді |
| Сол кілтпен жаңа сұрау жіберу | Істемейді, 401 қайтады |
| Кабинетке кіру | Әсер етпейді, кабинет кілтпен кірмейді |
Яғни жойылған кілт — тек API жағындағы мәселе. Кабинеттен қолмен счёт жасай беруге болады, төлем сілтемелері де жұмысын жалғастырады.
Қалпына келтіруге бола ма
Жоқ. Кілттің толық мәні сізге бір рет қана — жасалған сәтте көрсетіледі, біз оны сақтамаймыз. Сондықтан жойылғаннан кейін оны ешкім, оның ішінде қолдау қызметі де қайтара алмайды.
Бұл — қателік емес, әдейі жасалған қауіпсіздік шешімі. Егер кілттің мәнін кез келген уақытта қайта көруге болатын болса, кабинетке кірген кез келген адам барлық кілтіңізді көшіріп алар еді.
Не істеу керек
- Жаңа кілт жасаңыз. Кабинет → Интеграциялар → кілттер бөлімі. Режимін дұрыс таңдаңыз: нақты жұмыс үшін
qp_live_…, тест үшінqp_test_…. - Керекті scope-тарды ғана беріңіз. Интеграцияңыз не істейтініне қарай:
invoices:read,invoices:write,refunds:write,subscriptions:manage,webhooks:manage,partner:manage. Артығын бермеңіз. - Кассирге байлау керек пе, шешіңіз. Ескі кілт нақты бір кассирге байланған болса, жаңасын да сол кассирге байлаңыз — әйтпесе счёттар басқа арна арқылы жүреді немесе ескі счёттар көрінбей қалады.
- Кілтті сол сәтте көшіріп алыңыз. Ол екінші рет көрсетілмейді.
- Интеграцияда ауыстырыңыз. Серверіңіздегі
.envнемесе құпиялар қоймасындағы мәнді жаңартып, қосымшаны қайта іске қосыңыз. - Бір сынақ сұрау жіберіңіз.
GET /api/v1/statusнемесе кішкене sandbox счёты — жаңа кілт жұмыс істеп тұрғанына көз жеткізіңіз.
Кассирге байланған кілт болса
Кілтті нақты бір кассирге байлауға болады. Байланған кілттің нақты счёттары тек сол кассир арқылы жүреді, ал басқа кассирдің счёттарын ол мүлде көрмейді — оларға invoice_not_found (404) қайтады.
Сондықтан байланған кілтті жойып, жаңасын байлаусыз жасасаңыз, мынадай түсініксіз көрініс шығады: жаңа счёттар жасалады, бірақ бұрынғы счёттарыңыз «жоғалып кеткендей» болады. Шын мәнінде олар орнында, жай көрінбей тұр. Жаңа кілтті сол кассирге байласаңыз, бәрі қалпына келеді.
Бірнеше нүктеде немесе бірнеше кассирмен жұмыс істесеңіз, мұны әсіресе мұқият тексеріңіз: Бір ұйымға бірнеше кассир қосуға бола ма.
Интеграцияда ауыстырғанда не тексеру керек
Кілт бірнеше жерде жазылып қалған болуы мүмкін. Ескісі қалып қойса, сол жерлер 401 бере бастайды.
- Серверіңіздегі
.envнемесе құпиялар қоймасы - Сайттағы CMS плагинінің баптауы (WooCommerce, OpenCart)
- n8n немесе басқа автоматтандыру сценарийлері
- Telegram бот қосылған қызметтер
- CRM-мен байланыстырушы қабат
- Тест ортасы мен продакшен — екеуі бөлек
Бір интеграцияға бір кілт ұстау осындай сәттерде көп нәрсені жеңілдетеді: қайсысын ауыстыру керегі бірден белгілі және біреуі істен шықса, қалғандары жұмысын жалғастырады.
Кілт жойылғаннан кейін қате көрсе
Интеграцияңыз 401 қайтара бастаса, жаңа кілт әлі қойылмағаны немесе қате қойылғаны. Тексеретін тізім: API 401 қайтарады.
Бір жиі қателік: тест кілтін нақты режимде немесе керісінше қолдану. qp_test_… кілт нақты Kaspi төлемдерін жасамайды, ал qp_live_… кілт sandbox әрекеттерін орындамайды.
Жиі қойылатын сұрақтар
Кілтті байқаусызда жойдым, счёттарым жоғала ма? Жоқ. Счёттар, төлемдер мен қайтарулар орнында. Жоғалғаны — тек сол кілтпен сұрау жіберу мүмкіндігі.
Ескі кілтпен жасалған счёттарды жаңа кілт көре ме? Иә, егер екеуі де бір ұйымда болса және кассирге байлануы сәйкес болса. Байлану сәйкес келмесе, счёттар көрінбейді.
Клиенттерім төлей алмай қалды ма? Бұрын жасалып, әлі ашық тұрған счёттар мен төлем сілтемелері жұмысын жалғастырады. Тоқтағаны — жаңа счёттарды API арқылы жасау.
Кілтті жою — қауіпсіздік үшін дұрыс қадам ба? Иә. Кілт сыртқа шығып кетті деп күдіктенсеңіз, оны жою — ең жылдам әрі ең дұрыс әрекет: API кілт сыртқа шығып кетті.
Қанша кілт ұстауға болады? Бірнешеуін ұстай беруге болады. Әр интеграцияға бөлек кілт жасау — ұсынылатын тәсіл.