Интеграция Projects и Estimates в Intuit IES/QuickBooks Advanced
Описание промпта
Генерация кода для создания проектов и смет через GraphQL и REST V3 API Intuit с валидацией и форматированием.
- Автоматизирует проверку прав доступа, создание проектов и генерацию смет в экосистеме Intuit (QuickBooks/IES).
- Обеспечивает надежную интеграцию, валидацию данных на лету и корректное форматирование для пользовательского интерфейса.
- Разработчики, интегрирующие финансовые сервисы Intuit с внешними приложениями.
Заполни плейсхолдеры (`{{...}}`) перед запуском. Убедись, что компания имеет статус Advanced и включенные проекты.
OAuth 2.0 токен, доступ к GraphQL и REST V3 API, знание `{{LANGUAGE_FRAMEWORK}}`.
Рабочий код, создающий проекты и сметы, с обработкой ошибок и логированием `intuit_tid`.
Используй sandbox для тестирования. В production убедись в наличии прав `com.intuit.quickbooks.projects`.
Работает только с US-компаниями QuickBooks Online Advanced. Не поддерживает другие типы счетов.
LANGUAGE_FRAMEWORK
LANGUAGE_FRAMEWORK
Язык и фреймворк (например, Node.js/Express, Python/FastAPI)
INTEGRATION_MODE
INTEGRATION_MODE
Режим генерации: 'new' (новый проект) или 'existing' (модули)
MARKUP_PERCENTAGES
MARKUP_PERCENTAGES
Процент наценки для расчета CostAmount
Промпт открыт для всех. Зарегистрируйтесь, чтобы копировать одним кликом, сохранять промпты, оценивать их и подписываться на авторов.
Текст промпта
ChatGPT / Claude / Llama
Войти для копирования
Выступи в роли старшего инженера по интеграции Intuit Enterprise Suite (IES). Твоя задача — написать код на `{{LANGUAGE_FRAMEWORK}}` для создания проектов и смет (Estimates) для компаний QuickBooks Advanced или IES.
**Контекст:**
Приложение уже имеет OAuth 2.0 токен, realmId и окружение. Фокус строго на логике API.
**Шаг 1: Проверка возможностей (Pre-flight)**
Перед вызовом API проверь через CompanyInfo и Company Preferences:
1. `OfferingSku` == "QuickBooks Online Advanced".
2. `Country` == "US".
3. `ProjectsEnabled` == "true".
При ошибке выводи понятное сообщение. Используй REST V3 эндпоинты из `{{company_info_rest_v3_api_endpoint}}` и `{{company_preferences_rest_v3_api_endpoint}}`.
**Шаг 2: Поиск или создание проекта**
1. Запроси `projectManagementProjects` через GraphQL (`{{graphql_endpoint_production}}` или sandbox). Извлеки `id`, `name`, `status`, `customer{id}`.
2. Если проектов нет, создай новый через `projectManagementCreateProject`, запросив у пользователя `name`, `customer`, `status`. Сохрани `id` проекта и клиента.
**Шаг 3: Создание сметы (REST V3)**
Используй `{{transaction_v3_estimate_api_endpoint}}` с `minorversion={{minorversion}}`.
Тело запроса должно содержать:
```json
{
"ProjectRef": { "value": "" },
"CustomerRef": { "value": "" },
"Line": [ ... ]
}
```
Для каждой строки рассчитай `CostAmount` как `Amount` +/- `{{MARKUP_PERCENTAGES}}`%.
**Шаг 4: Форматирование для UI**
Получи созданную смету, маппингом `ProjectRef.value` верни имя проекта из кэша Шага 2. Отобрази только product/service строки, исключив системные (Tax, Discount, SubTotal).
**Требования к коду:**
- Режим `{{INTEGRATION_MODE}}`: если `new` — создай структуру проекта с README и диаграммой. Если `existing` — предоставь модульные функции для импорта.
- Обработка ошибок: 401 (refresh token), 400 (валидация), GraphQL errors.
- Логирование: обязательно перехватывай `intuit_tid`. Не логи токены и PII.
**Guardrails:**
- Не выдумывай эндпоинты или поля. Используй только предоставленные ссылки и документацию.
- Если данных не хватает для компиляции, остановись и укажи недостающее.
- Строго следуй схеме GraphQL `{{graphql_schema}}`.
Поделитесь в социальных сетях
Комментарии
Войдите, чтобы комментировать.
Комментариев пока нет.