Provider → методи → Postman
Аргументи: лінк на документацію провайдера та/або шлях до файлу (PDF, OpenAPI/Swagger YAML/JSON, Postman collection, DOCX, HTML, MD…). Якщо нічого не передано — спитай.
Джерело правди — тільки документація провайдера (лінк/файл) і реальні відповіді провайдера. Не покладайся на локальні репозиторії: на іншому ПК їх може не бути. Якщо користувач сам попросить звірити з кодом — це окремий крок, не частина цього процесу.
Мова всіх описів — українська. Назви полів, ендпоінтів, заголовків — як у документації.
0. Підготовка
POSTMAN_API_KEY— зі змінної середовища або./.env. Немає → попроси ключ у користувача (Postman → Settings → API Keys) і збережи в.envякPOSTMAN_API_KEY=…. У ключа обмежений термін дії: 401 від Postman = ключ протух, попроси новий.- Хелпер:
python3 <директорія цього skill-а>/postman_builder.py(командиworkspaces,find,tree,build,sync,update,tests,verify; опис — у docstring). Статистика сесії —session_stats.pyтам само. Директорія skill-а — це «Base directory» з заголовка, з яким завантажився skill. Формат специфікації —spec.example.jsonтам само. - Робоча директорія для опису:
./provider-docs/<provider>/(від поточної директорії сесії). Проміжні файли (завантажені специфікації, чернетки spec) — у scratchpad.
1. Збір методів з документації
Відкрий лінк (WebFetch). Якщо сторінка рендериться JS-ом або контент неповний — через Chrome (skill
claude-in-chrome) або пошукай машиночитну специфікацію:openapi.json/yaml,swagger, «Download OpenAPI», «Run in Postman», GitHub-репозиторій SDK/spec провайдера. Специфікація OpenAPI / Postman collection від провайдера — найкраще джерело, бери її, якщо є.Файл від користувача — прочитай повністю (PDF — сторінками), це рівноцінне джерело до лінку.
Пройди навігацію документації (API reference, Guides) і знайди методи за категоріями:
Категорія Що шукати Автентифікація тип (Bearer, Basic, HMAC-підпис, OAuth token), заголовки, як отримати токен, sandbox vs prod base URL Режими SMS / DMS див. «SMS / DMS» нижче — обов'язково для кожного методу оплати 3DS / без 3DS / external MPI див. «3DS» нижче — обов'язково для кожного методу оплати Стандартна оплата create payment / authorize / sale / charge, 3DS (redirect, challenge, callback), confirm Рекурентні збереження картки/токена (tokenize, customer, payment method, mandate), MIT / off-session на токені провайдера MIT за scheme_id див. «MIT за scheme_id» нижче — обов'язкова перевірка Статус / деталі get payment / transaction / order, пошук за order id Capture (DMS) повний і частковий, множинні capture, capture більшої суми (якщо дозволено) Void / Cancel (DMS) скасування авторизації до capture, причини; чи можна void після capture (зазвичай ні) Refund повний і частковий, множинні refund-и, статус refund-у; для SMS — єдиний спосіб повернення Apple Pay (a) токен провайдера / зашифрований payment token → провайдер розшифровує; (b) розшифровані дані (DPAN / network token + cryptogram + ECI) — merchant decrypt, див. «Гаманці: розшифровані дані» Google Pay (a) токен провайдера / encrypted paymentData; (b) розшифровані дані (CRYPTOGRAM_3DS і PAN_ONLY) — див. «Гаманці: розшифровані дані» Вебхуки / IPN формат нотифікацій, підпис — лише описати, запити в Postman не створювати Тестові дані тестові картки (успіх, decline, 3DS), тестові токени гаманців, test helpers SMS / DMS. SMS (Single Message) — авторизація і списання одним запитом (sale / purchase / auto capture), повернення лише через refund. DMS (Dual Message) — авторизація з блокуванням коштів (hold), потім окремий capture або void; після capture — тільки refund. Для провайдера з'ясуй:
- як обирається режим: окремі ендпоінти (
/salevs/authorize+/capture), параметр у запиті (capture_method=automatic|manual,intent=CAPTURE|AUTHORIZE,auto_capture,type=SALE|AUTH…) чи налаштування акаунта/MID (тоді в запиті режиму не видно — так і запиши); - термін життя авторизації, що відбувається після нього (auto-void / auto-capture);
- частковий / множинний capture, void після часткового capture;
- які статуси повертаються в кожному режимі (напр.
requires_capture/authorizedvssucceeded/captured); - чи підтримується кожен режим для recurring, Apple Pay, Google Pay (буває, що гаманці — лише SMS). Якщо документація не згадує DMS — запиши «DMS у документації не знайдено», не вигадуй capture/void.
3DS. Три режими автентифікації власника картки — з'ясуй кожен:
- 3DS провайдера (провайдер — 3DS Server): як увімкнути/примусити (
three_ds: required,request_three_d_secure=any…); обов'язкові дані для 3DS2 — browser info (accept header, user agent, language, color depth, screen, time zone, java/js enabled, IP),return_url/notification_url, дані власника (email, billing address, phone); чи є 3DS Method (device fingerprint,methodURL,threeDSMethodData) і як повідомити його результат; як виглядає challenge (redirect URL,acsURL+creq, для 3DS1 —PaReq/MD), яким запитом завершується (complete / confirm / authorize after 3DS) або що фінальний статус приходить лише вебхуком; що повертається (ECI, CAVV,dsTransID,transStatusY/A/N/U/C/R, liability shift); frictionless vs challenge; підтримка 3DS1 (якщо ще є) і 3DS2; тестові картки для frictionless, challenge, failed, attempted. - Без 3DS: як вимкнути (
three_ds: skip, налаштування MID…), чи дозволено провайдером; винятки SCA (low value, TRA, MIT, whitelisting — поляexemption/sca_exemption), що буде при soft decline (коди1A/65, «authentication required») і як повторити з 3DS. - External MPI (3DS пройдено власним MPI мерчанта): чи підтримується; поля з результатами
автентифікації —
authentication_value/CAVV/AAV (формат, кодування),eci,ds_transaction_id(3DS2) /xid(3DS1),version,trans_status,acs_transaction_id,exemption,challenge_indicator; які з них обов'язкові для кожної версії та платіжної системи. Для гаманців: Apple Pay / Google Pay CRYPTOGRAM_3DS самі несуть cryptogram + ECI (3DS не потрібен); Google Pay PAN_ONLY зазвичай вимагає 3DS — перевір. Для recurring: MIT зазвичай без 3DS; перший CIT для збереження картки — з 3DS; перевір, чи провайдер приймає 3DS / external MPI дані на рекурентних. Не підтримується режим — запиши «не підтримується / не знайдено» із джерелом.
MIT за scheme_id (обов'язкова перевірка). Мерчант сам зберігає картку (PAN у власному vault, network token, DPAN/MPAN гаманця) і ID транзакції платіжної системи з першого CIT (scheme id / network transaction id: Visa Transaction ID, Mastercard Trace ID / Financial Network Code…) і проводить наступні MIT через провайдера — у т.ч. якщо перший платіж ішов через іншого провайдера. З'ясуй:
- звідки брати scheme id: поле у відповіді на initial / у статусі / у вебхуку
(
network_transaction_id,scheme_transaction_id,scheme_reference,trace_id,transaction_identifier…), для якого флоу воно повертається (CIT з 3DS, без 3DS, гаманці); - як передати в MIT: поле з попереднім scheme id (
previous_network_transaction_id,mit_exemption[network_transaction_id],original_transaction_id,scheme_reference…) і stored-credential індикатори: ініціатор (merchant), тип MIT (recurring/unscheduled/installment,stored_credential_transaction_type), використання (first/subsequent),off_session/recurring_indicator; чи потрібен прапорець на першому CIT (first/setup); - джерело картки в MIT: PAN (зазвичай потребує PCI / дозволу на raw card data), network token (+ cryptogram чи без), DPAN/MPAN Apple Pay, Google Pay; чи потрібен CVV/3DS (зазвичай ні);
- SMS / DMS для MIT, обмеження мереж, коди відмов (напр. «transaction not permitted»);
- статус: публічно / закрита функція (джерело) / не підтримується / не знайдено — ті самі джерела й порядок пошуку, що для розшифрованих даних гаманців (включно зі старими папками колекції та питанням до користувача).
Гаманці: розшифровані дані (обов'язкова перевірка). Мерчант сам розшифровує токен Apple Pay / Google Pay і передає провайдеру дані картки-токена. Шукай наполегливо — такі можливості часто закриті (вмикаються для акаунта) і не описані в публічному API reference:
- Публічна документація та специфікація: пошук за
network_token,cryptogram,eci,electronic_commerce_indicator,dpan,tokenization_method,decrypted,merchant decryption,payment_data,onlinePaymentCryptogram,eciIndicator,authMethod,CRYPTOGRAM_3DS,PAN_ONLY,network token,wallet/apple_pay/google_payу параметрах запиту оплати. - Непублічні / суміжні джерела: support-статті і changelog провайдера, офіційні SDK на GitHub
(назви полів у моделях запитів), сторінки «network tokens», «card-on-file / migration»,
«raw card data», наявні папки колекції провайдера в Postman (
tree) і файли від користувача. - Якщо в публічних джерелах немає — спитай користувача, чи є приватна документація / приклад запиту від провайдера (з акаунт-менеджером часто домовляються окремо). Для кожного гаманця зафіксуй статус: публічно / закрита функція (знайдено лише в непублічних джерелах — вказати джерело) / не підтримується (з посиланням) / не знайдено. Опиши маппінг полів розшифрованого токена на параметри провайдера:
- Apple Pay (
paymentDataпісля розшифрування):applicationPrimaryAccountNumber→ номер токена;applicationExpirationDate(YYMMDD) → місяць/рік;paymentData.onlinePaymentCryptogram→ cryptogram;paymentData.eciIndicator→ ECI (часто доповнити нулем до 2 символів);paymentDataType(3DSecure/EMV);deviceManufacturerIdentifier; тип токена (DPAN / MPAN) для recurring. - Google Pay (
paymentMethodDetails):pan,expirationMonth,expirationYear,authMethod(CRYPTOGRAM_3DS→cryptogram+eciIndicator, як network token;PAN_ONLY→ звичайна картка, часто з 3DS провайдера),messageExpiration. Для кожного підтримуваного варіанта також: SMS/DMS, recurring (MIT на network token / DPAN / MPAN).
Для кожного методу збери: HTTP-метод і шлях, лінк на сторінку методу, обов'язкові та опційні параметри (тип, формат, обмеження), заголовки (idempotency, версія API, підпис), формат суми (мінорні одиниці / десяткові, zero-decimal валюти), приклад запиту і відповіді, статуси, коди помилок.
- як обирається режим: окремі ендпоінти (
Чогось немає в документації (наприклад, void або decrypted Apple Pay) — так і запиши «у документації не знайдено» з переліком місць, де шукав. Не вигадуй ендпоінти й поля.
2. Локальний опис методів
Файл ./provider-docs/<provider>/methods.md (якщо вже є — онови, дата в шапці):
# <Provider> — API методи
Джерело: <лінк(и)> / <файл>. Зібрано: <YYYY-MM-DD>.
## Автентифікація та загальне
Base URL (sandbox / prod), auth, обов'язкові заголовки, idempotency, формат суми, версія API.
## Режими SMS / DMS
| | SMS | DMS |
|---|---|---|
| Як увімкнути | … | … |
| Статус після оплати | … | … |
| Capture / Void | — | повний/частковий/множинний; термін авторизації |
| Повернення | refund | void до capture, refund після |
| Card / Recurring / Apple Pay / Google Pay | ✅/❌ | ✅/❌ |
## 3DS
| | 3DS провайдера | Без 3DS | External MPI |
|---|---|---|---|
| Як увімкнути | … | … | … |
| Обов'язкові поля | browser info, return_url… | … | CAVV, ECI, dsTransID, version… |
| Потік / завершення | frictionless / challenge → … | — | — |
| Статуси | … | … | … |
| Card / Recurring / Apple Pay / Google Pay | ✅/❌ | ✅/❌ | ✅/❌ |
| Тестові картки | frictionless / challenge / fail | … | — |
## <Категорія>
### <Назва методу>
- **Запит:** `POST /path`
- **Документація:** <лінк на метод>
- **Призначення:** 1–2 речення.
- **Режим:** SMS / DMS / обидва (яким параметром); 3DS провайдера / без 3DS / external MPI (якими полями).
- **Параметри:** список `name` (тип, required/optional) — опис/допустимі значення.
- **Приклад запиту / відповіді:** короткі блоки коду.
- **Статуси / помилки:** ключові значення.
- **Примітки:** 3DS, обмеження, відмінності sandbox.
## MIT за scheme_id
| | Статус | Джерело | Поле scheme id у відповіді CIT | Поля в MIT | SMS / DMS |
|---|---|---|---|---|---|
| Card (PAN) | … | … | … | … | … |
| Network token | … | … | … | … | … |
| Apple Pay DPAN / MPAN | … | … | … | … | … |
| Google Pay | … | … | … | … | … |
Stored-credential індикатори (first / subsequent, recurring / unscheduled / installment): …
## Гаманці: розшифровані дані
| | Статус (публічно / закрита функція / не підтримується / не знайдено) | Джерело | Поля | SMS / DMS | Recurring |
|---|---|---|---|---|---|
| Apple Pay decrypted | … | … | … | … | … |
| Google Pay CRYPTOGRAM_3DS | … | … | … | … | … |
| Google Pay PAN_ONLY | … | … | … | … | … |
Маппінг полів розшифрованого токена → параметри запиту: …
## Не знайдено в документації
- …
Поруч збережи завантажені специфікації (openapi.json тощо), якщо вони були.
3. Колекція та версійна папка в Postman
postman_builder.py find <provider>— знайди колекцію провайдера та його оточення. Робочий простір — той, де лежить колекція. Для нової колекції:workspaces→ покажи список і спитай користувача, куди створювати (якщо він не назвав сам). Обраний workspace запам'ятай для наступних разів.tree <collection_uid>— подивись наявні папки та оточення, щоб зрозуміти, як провайдера тестували раніше (корисно для тестових даних), але не копіюй їх структуру наосліп.Версія:
- колекції немає → створюється колекція
<provider>з папкоюv1; - є тільки папки без версії →
v2; - є
vN→v(N+1).buildрахує це сам ("version": null). Наявні папки не чіпай.
- колекції немає → створюється колекція
Структура всередині
vN(порожні категорії пропускай, нумерація підпапок наскрізна):Card — InitialCard — Recurring— підпапкиProvider tokenіScheme ID (MIT)Status / DetailsCapture / Void / RefundApple Pay(Provider tokenтаDecrypted data— окремими запитами/флоу)Google Pay(так само)
Всі варіанти — обов'язково. Для кожного методу оплати (Card initial, recurring, Apple Pay, Google Pay) створи кожну комбінацію, яку підтримує провайдер:
{3DS провайдера | Non-3DS | External MPI} × {SMS | DMS}, для гаманців ще× {Provider token | Decrypted data}. Нічого не скорочуй і не замінюй приміткою «відрізняється одним параметром» — кожен варіант має бути готовим до запуску запитом.- Всередині методу — підпапка на режим 3DS (
3DS (provider),Non-3DS,External MPI; для гаманців спершуProvider token/Decrypted data, далі режими 3DS, якщо вони там доречні). У підпапці — запити флоу; запит оплати двома варіантами:1. Create Payment (3DS, SMS)і1. Create Payment (3DS, DMS)(однаковий номер — це альтернативи одного кроку). 3DS (provider): після оплати — усі кроки, які є в провайдера: 3DS Method, Complete 3DS / Confirm, отримання статусу. Browser info — у тілі запиту літералами (реалістичні значення).- Опис кожного варіанта: чим відрізняється (параметр/ендпоінт), очікуваний статус, яку тестову картку взято і який сценарій вона дає (frictionless / challenge / decline).
Scheme ID (MIT)створюється завжди (уCard — Recurring, а для гаманців — уApple Pay/Google Pay→Recurring — Scheme ID):- флоу:
1. Initial CIT (…)зі stored-credential прапорцемfirst, що зберігає scheme id у змінну оточення (saves, напр.scheme_id), і2. MIT by scheme_id (…), що його використовує; якщо провайдер повертає scheme id лише в статусі чи вебхуку — між нимиGet Payment; - варіанти: кожне підтримуване джерело картки (PAN / network token / DPAN) × кожен тип MIT
(
recurring,unscheduled,installment— ті, що підтримує провайдер) × {SMS, DMS}; окремий запит «MIT за зовнішнім scheme_id» (scheme id від іншого провайдера — літерал-приклад); - статус «закрита функція» → суфікс
[Private], в описі джерело параметрів і що функцію треба ввімкнути (PCI / raw card data тощо); «не знайдено» → як для гаманців (питання користувачу, інакше папка з описом без запитів).
- флоу:
- Гаманці —
Decrypted dataстворюється завжди для Apple Pay і Google Pay:- статус «публічно» → усі комбінації: Apple Pay decrypted × {SMS, DMS}; Google Pay
CRYPTOGRAM_3DS× {SMS, DMS} іPAN_ONLY× {3DS провайдера, Non-3DS, External MPI (якщо можна)} × {SMS, DMS}; плюс recurring на збереженому токені, якщо підтримується; - статус «закрита функція» → ті самі запити, у назві суфікс
[Private], в описі: звідки взято параметри, що функцію треба ввімкнути у провайдера, і маппінг полів із розшифрованого токена; - «не знайдено» → після відповіді користувача: є приклад/доки → як «закрита функція»; немає → папка без запитів з описом, де шукали і що відсутнє;
- дані в тілі — реалістичний формат (DPAN 16 цифр, cryptogram base64 28 символів, ECI
05/07), явно позначені в описі як приклад: з тестовими ключами провайдера вони пройдуть лише якщо провайдер це дозволяє в sandbox.
- статус «публічно» → усі комбінації: Apple Pay decrypted × {SMS, DMS}; Google Pay
- Непідтримувані комбінації не створюй — перелічи їх в описі підпапки методу («DMS для Google Pay не підтримується — <лінк>»).
- Режим задається тільки налаштуванням акаунта/MID → один запит і примітка про це.
- У
Capture / Void / Refund: capture і void позначені(DMS), в описі — void лише до capture, після нього — refund; частковий capture / refund — окремими запитами, якщо підтримуються. Скрипт підтримує вкладені папки довільної глибини (foldersвсередині папки в spec). Запити в підпапці нумеруй у порядку виконання флоу (1. …,2. …). Допоміжні запити, яких немає в реальній інтеграції (test helpers, емуляція фронту), познач[Test helper]/[Frontend emulation]у назві.
4. Генерація запитів і environment
Склади spec (формат — spec.example.json) у scratchpad і запусти
postman_builder.py build <spec> --dry, потім без --dry. Після створення впиши в spec
collection_uid і version — далі правки тільки через update <spec> (оновлює на місці за назвами).
Доповнення наявної версії (користувач просить «доопиши / додай відсутнє» у вже створеній vN):
- Візьми spec цієї версії (
./provider-docs/<provider>/*_spec.json); якщо його немає —treeі відтвори структуру в spec (назви папок і запитів — точно як у Postman). - Звір вміст
vNз поточними правилами skill-а (усі комбінації 3DS × SMS/DMS,Scheme ID (MIT),Decrypted data,[Private]-статуси, описи з джерелами) і допиши в spec відсутнє; зміни в описах наявних запитів — окремим частковим spec (лише змінені запити). sync <spec> --dry→sync <spec>— створює відсутні папки/запити, оновлює описи папок, додає в оточення нові змінні (значення наявних не чіпає); даліupdate <частковий spec>для змінених запитів.- Онови
methods.md(нові таблиці/статуси, кількість запитів) іverify. Наявні запити, які користувач міг правити вручну, не перезаписуй без потреби.
Правила:
- Документація в кожному запиті: поле
docs(лінк на конкретний метод) — хелпер додає📖 Документація: <лінк>в опис запиту; для підпапок —docsпапки; для версійної папки —docs_url. - Опис запиту: що робить, звідки беруться значення, обов'язкові/опційні поля, допустимі значення.
Опційні поля, які зазвичай не шлють, — додай вимкненими (4-й елемент
false). - Auth —
authверхнього рівня spec: хелпер ставить його на версійну папку і явно в кожен запит з відповідним Auth Type (Bearer / Basic / API Key…), бо запит, створений через API без auth, Postman показує як «No Auth» і не успадковує від папки. Запит з іншою авторизацією — власне полеauthу spec (напр.{"type": "noauth"}для публічного ендпоінта). Підпис запиту (HMAC тощо) — pre-request скриптом на рівні папки. - Environment
<PROVIDER>_V<N>_SANDBOX— мінімальний:base_urlі ключі доступу (типdefault, значення порожні — користувач вписує ключ у Current value, яке не синхронізується з командою; не копіюй ключі з інших оточень чи файлів скриптами). Типsecretне використовуй: Postman може перевести такі змінні у Vault і вимагати vault key, а порожня змінна дає запит безAuthorization;- змінні, які скрипти зберігають з відповідей (
saves: id клієнта, платежу, токена, NTID…); - id, згенеровані на початку флоу й потрібні кільком запитам (order id / idempotency base).
Суми, валюта, картка, email, адреса, версія API, причини void/refund — літералами в запиті.
Одноразові id, потрібні лише одному запиту, —
pm.variables.set(...)у його pre-request.
- Тестові дані — з документації провайдера (тестові картки, тестові токени). Дані Apple/Google Pay з документації або явно позначені як приклад формату.
- Тести — обов'язково для кожного запиту (поле
testsу spec; хелпер генеруєpm.test(...), формат ключів — у docstringtests_script:status,max_time,json,one_of,exists,absent,type,match,equals_var,error,header,lines). Значення беруться лише з документації провайдера (статуси, поля, коди помилок) — не вигадуй:- позитивні: HTTP-код; очікуваний статус операції з урахуванням варіанта (SMS → фінальний /
списаний, DMS → авторизований, 3DS →
one_ofфінального статусу та «потрібна дія» + наявність redirect-URL); відлуння суми, валюти, режиму capture, order id (equals_var); наявність id, які зберігаються вsaves, і scheme id для MIT-флоу; формат id (match); для Capture / Void / Refund — новий статус і суми (captured / refunded amount); - негативні — окремі запити в підпапці
Negativeкожного розділу (назваN. … → <очікувана помилка>): тестові картки з відмовами (decline, insufficient funds, 3DS failed), відсутній або невалідний ключ (власнийauth), обов'язкове поле відсутнє, capture для SMS-платежу, void після capture, refund більший за суму, повтор з тим самим idempotency-ключем і іншим тілом — тільки ті, що описані в документації, з її кодами (status4xx +error); [Private]-запити:statusдозволяє і успіх, і помилку «функцію не ввімкнено» (якщо її код відомий), в описі — що саме означає кожен результат;- спільні перевірки (час відповіді, JSON, логування помилки) —
folder_testна версійній папці; HTTP-код уfolder_testне перевіряй (інакше впадуть негативні тести) — лише вtestsзапиту. Додати / оновити тести у вже створених запитах —tests <spec>: замінює лише згенерований блок тестів (після маркера), не чіпаючи тіло запиту,savesі ручні правки користувача; перед генерацією візьми фактичні параметри запитів із Postman (GET /collections/<uid>), а не лише зі spec — користувач міг їх змінити. Нові негативні запити — черезsync. Спільний тест версійної папки, що перевіряє HTTP-код, виправ (PUT папки з новимevents). Запити й підпапки впорядковуй так, щоб Collection Runner / newman проходив флоу згори донизу (спільні id з попередніх кроків).
- позитивні: HTTP-код; очікуваний статус операції з урахуванням варіанта (SMS → фінальний /
списаний, DMS → авторизований, 3DS →
- Скрипти:
savesзберігає значення тільки при 2xx; перший запит флоу генерує спільні id черезpm.variables.replaceIn('{{$guid}}').
5. Перевірка
postman_builder.py verify <spec>— у запитах не має бути змінних, яких немає в оточенні (крім локальнихpm.variables), і в оточенні — зайвих змінних.tree <collection_uid>— структура на місці.- Тести запуском: якщо користувач вписав sandbox-ключі (переконайся, що ключ тестовий — напр.
sk_test_, а не бойовий) і дозволив — експортуй колекцію й оточення через Postman API (GET /collections/<uid>,GET /environments/<uid>) у scratchpad і прожени версійну папку:npx -y newman run collection.json -e env.json --folder vN --env-var secret_key=<ключ від користувача>(ключ не записуй у файли; бойовими ключами не запускай). Виправ запити й тести за реальними відповідями; розбіжності з документацією фіксуй уmethods.md. Без ключів — лишеverifyі підсумок, що тести не запускались.
6. Звіт користувачу
Статистика використання Claude — обов'язкова частина звіту. Перед звітом запусти
python3 <директорія цього skill-а>/session_stats.py (з робочої директорії сесії) і встав
отриману таблицю як розділ «Статистика роботи Claude» без змін: час (загальний / активний),
модель, кількість викликів, токени (output, input, запис у кеш, читання з кешу), інструменти,
кількість запусків build/update. Вартість у доларах не вигадуй — порадь /cost або /usage.
Коротко: джерела, скільки методів знайдено по категоріях, матриця підтримки (SMS/DMS × 3DS / без 3DS /
external MPI по кожному методу оплати; кількість тестів (позитивних / негативних) і результат прогону,
якщо він був; окремо — статус MIT за scheme_id і розшифрованих даних
Apple Pay / Google Pay з джерелами) і скільки варіантів запитів створено, чого немає в документації, шлях до
methods.md, назва колекції/папки/оточення, що треба заповнити (ключі), що не перевірено запуском.