MCP App Store
by KeenEthics

Overview

Browse the HappyCake menu of cakes and desserts across cities in Kazakhstan, check availability for a chosen date and store, choose delivery or pickup, and place an order without leaving ChatGPT. You can also view current promotions, check your bonus balance, and track or cancel your orders. Payment is completed on happycake.kz.

Tools

add_to_cart

ChatGPT
Добавить товар в текущую корзину. product_def_id — id варианта товара из list_menu.

apply_coins

ChatGPT
Включить/выключить списание бонусных коинов Happy Cake на ТЕКУЩУЮ активную корзину (см. get_cart) — переключает существующую корзину, не создаёт новую. Итоговую сумму списания (не больше половины суммы заказа и не больше баланса клиента) магазин посчитает сам при оплате — здесь только переключается флаг, точную сумму скидки узнать заранее нельзя, проверяй фактический итог через preview_order/get_order_status. После оплаты или отмены заказа переключение уже не действует (магазин молча игнорирует вызов).

apply_promo

ChatGPT
Применить промокод к текущей активной корзине. Если код не подошёл (не существует, не действует или уже использован), корзина вернётся БЕЗ изменений и без ошибки — сообщи об этом пользователю честно, не выдумывай причину. Промокод только тот, что продиктовал пользователь — не придумывай и не предлагай его сам; список акций в list_promos не гарантирует, что их name совпадает с промокодом.

cancel_order

ChatGPT
Отменить заказ. Если заказ уже оплачен, вместо простой отмены магазин автоматически оформит ВОЗВРАТ средств через платёжного провайдера тем же способом оплаты — статус возврата проверяй через get_order_status. Если заказ уже в пути к получателю (курьер выехал), отмена невозможна — направь пользователя в колл-центр точки (см. get_store_info). Спроси у пользователя явное подтверждение перед вызовом — действие необратимо. Требуется НОМЕР заказа (orderNumber из get_order_status/list_my_orders, не id) — это подтверждает, что ты отменяешь именно тот заказ, который только что показал пользователю, а не какой-то другой из его истории на другом канале (сайт/приложение/колл-центр).

cancel_promo

ChatGPT
Убрать применённый промокод с текущей активной корзины.

check_delivery

ChatGPT
Проверка возможности доставки по адресу: доступна ли доставка прямо сейчас, минимальная сумма заказа для доставки в этом городе, и ближайшие свободные диапазоны времени доставки (их id передавай в create_cart как delivery_range_id). Вызывай ДО сборки корзины на доставку. Передай product_def_ids (из list_menu/get_cart), если уже известно, что именно заказывают — иначе тул может вернуть диапазон точки, у которой нет нужного товара, и create_cart с ним не пройдёт.

create_cart

ChatGPT
Завести новую корзину — самовывоз (mode=PICKUP, нужны store_id и pickup_time) или доставка (mode=DELIVERY, нужны delivery_range_id из check_delivery и ОДИН из address_id/suggestion_id + city_id). Подсказка адреса даёт только дом: если это многоквартирный дом или бизнес-центр, ОБЯЗАТЕЛЬНО спроси у пользователя номер квартиры или офиса и передай в flat, иначе курьеру некуда звонить. Для частного дома flat не нужен — не спрашивай. Если активная корзина уже есть, вернёт её содержимое без ошибки — всегда вызывай get_cart перед этим тулом.

get_available_dates

ChatGPT
Актуальная дата получения заказа для города: если желаемая дата уже недоступна (точка закрылась на сегодня), вернёт следующий рабочий день. Также отдаёт текущее локальное время в городе — полезно объяснить пользователю, почему дата сдвинулась.

get_cart

ChatGPT
Текущая активная корзина клиента в этом канале — она отдельная от корзины на сайте happycake.kz. Вызывай ПЕРВЫМ делом при сборке заказа: если корзина уже есть — продолжай её (add_to_cart/remove_from_cart), create_cart не нужен.

get_coins_balance

ChatGPT
Баланс бонусных коинов Happy Cake клиента. Коины можно частично списать при оформлении заказа через apply_coins — итоговую сумму списания (не больше половины суммы заказа и не больше баланса) считает магазин при оплате.

get_coins_history

ChatGPT
История начислений и списаний коинов клиента (курсорная пагинация: seek — курсор из предыдущего ответа, first/last; не задавай для первой страницы). direction=PREV — более старые записи относительно курсора, NEXT — более новые.

get_custom_decor

ChatGPT
Товары кастомного декора (капкейки/торты с индивидуальной надписью) для города. Это ОБЫЧНЫЕ ТОВАРЫ — добавляй их в корзину через add_to_cart по product_def_id, как любой другой товар из list_menu. Сама надпись — это НЕ атрибут товара, а отдельное поле decor_note в place_order_and_pay (общее на весь заказ). Список и доступность надписи зависят от даты уже собранной корзины (см. get_cart) — если активной корзины ещё нет, вернётся общая информация без учёта праздничных ограничений на дату.

get_my_addresses

ChatGPT
Сохранённые адреса доставки клиента в этом городе (из прошлых заказов/профиля). id адреса передавай в create_cart как address_id — предпочтительнее suggest_address, координаты уже подтверждены.

get_order_status

ChatGPT
Статус заказа по его id: оплачен ли, текущий статус, сумма, дата/время получения, история событий. Используй после place_order_and_pay, особенно для Kaspi (там нет ссылки на оплату — статус узнаётся только так) и когда неясно, создался ли заказ после ошибки.

get_pickup_times

ChatGPT
Свободные слоты времени самовывоза на дату для точки. Используй перед place_order_and_pay, чтобы предложить пользователю время самовывоза.

get_profile

ChatGPT
Данные профиля текущего клиента: телефон, имя, e-mail и дата рождения (если указаны). Используй, чтобы напомнить пользователю его данные или подставить полное имя в место заказа — не спрашивай эти данные заново, если они уже здесь.

get_receipt

ChatGPT
Фискальный чек заказа: номер, дата/сумма, ссылка на электронный чек (OFD). Пока заказ не оплачен и не пробит на кассе — фискальных полей и ссылки не будет, это не ошибка.

get_store_info

ChatGPT
Подробности о точке: контакты (телефоны колл-центра, ссылка на 2ГИС), доступные способы оплаты и параметры самовывоза без выхода из машины (curbside pickup — если включён, укажи пользователю радиус в метрах, в котором нужно оказаться, чтобы уведомить точку). store_id бери из list_stores. FORTE в способах оплаты означает банковскую карту — пользователю говори «картой».

leave_review

ChatGPT
Отправить в HappyCake отзыв о своём полученном заказе: общая оценка 1-5, по желанию текст и отдельная оценка доставки или точки самовывоза. Отзыв передаётся магазину, это не личная заметка клиента. Работает только после получения заказа и не дольше 4 дней после него. Повторный вызов ЗАМЕНЯЕТ прежний отзыв по этому заказу. Оценку и текст передавай только со слов пользователя — не выдумывай и не улучшай формулировки.

list_cities

ChatGPT
Список городов Happy Cake, в которых можно оформить заказ (самовывоз или доставка). Верни пользователю название и slug города — slug понадобится для list_stores и других тулов.

list_menu

ChatGPT
Меню на дату для города (опционально — для конкретной точки). Показывает только позиции, которые реально в наличии (без числового остатка — просто да/нет). id варианта (product_def_id) используется в add_to_cart/remove_from_cart. date обязателен и равен желаемой дате получения заказа: на сегодня остаток реальный, на будущее — по плану продаж.

list_my_orders

ChatGPT
История заказов клиента, постранично (0 — самая свежая страница).

list_promos

ChatGPT
Действующие акции/промо-баннеры в городе — информационно (описание акции, даты действия). ВАЖНО: их name НЕ обязательно совпадает с промокодом, который вводит пользователь в apply_promo — это просто список текущих акций, а не список промокодов.

list_stores

ChatGPT
Список точек (кондитерских) Happy Cake в конкретном городе. city_slug бери из list_cities. date — опционально, по умолчанию сегодня; влияет на то, какие точки работают в этот день.

place_order_and_pay

ChatGPT
Оформить заказ и оплатить. expected_total ОБЯЗАТЕЛЕН и должен совпадать с суммой из preview_order — если сумма успела измениться, тул откажет и вернёт новую сумму (защита от оплаты неподтверждённой суммы). Способы оплаты: CARD — банковской картой, вернёт ссылку на оплату на happycake.kz. FORTE — прежнее имя того же способа, тоже принимается. Пользователю оба варианта называй «картой»; KASPI — ссылки НЕ будет, счёт придёт в приложение Kaspi на телефон клиента, статус проверяй через get_order_status; PAY_ON_PICKUP — оплата на месте, доступна только если у точки это разрешено (см. get_store_info/preview_order). pickup_time обязателен для самовывоза. recipient_phone — ТОЛЬКО телефон, который явно продиктовал пользователь; никогда не придумывай и не подставляй чужой номер — на него будет отправлено SMS/счёт.

preview_order

ChatGPT
Обязательный шаг перед оплатой: пересчитывает корзину и ПЕРЕЗАПИСЫВАЕТ сохранённые суммы и рассчитанные скидки. Возвращает актуальную сумму expected_total — именно её передай в place_order_and_pay после подтверждения пользователем. Заказ не оформляет и деньги не списывает. Также показывает доступные способы оплаты для точки. FORTE в списке означает банковскую карту — пользователю говори «картой».

remove_from_cart

ChatGPT
Убрать товар из корзины (на 1 штуку, либо весь остаток при remove_all=true). Если это был последний товар, корзина закрывается — cart в ответе будет пустым.

suggest_address

ChatGPT
Подбор нового адреса доставки по тексту (город + что вводит пользователь). Возвращает варианты с suggestion_id — именно его, а НЕ текст/координаты, передавай в create_cart как suggestion_id. Никогда не придумывай координаты или адрес сам — только через этот тул или через сохранённые адреса (get_my_addresses).

Capabilities

Writes

Example Prompts

Click any prompt to copy it.

Similar Apps