Тестовый ключ работает в песочнице. Ваши запросы проходят через тот же шлюз, что и с рабочим ключом: ключ, области доступа, лимиты, Idempotency-Key, проверка запроса, задачи, файлы и вебхуки работают как в бою. Имитируется только сама работа: ни один инструмент не запускается, ничего не создаётся и ничего не списывается.
Получить тестовый ключ
В кабинете откройте API → Ключи, выберите тип ключа Тестовый и создайте ключ. Тестовый ключ начинается с gsk_test. Пользуйтесь им так же, как рабочим.
Каждый ответ песочницы содержит заголовок Grem-Sandbox: true, так что тестовый журнал не спутать с реальной работой, - включая ответы, данные до проверки ключа (испорченный JSON, 413, неизвестный путь).
Что происходит
- Проверка запроса настоящая. Запрос, который отклонил бы бой, песочница отклоняет с тем же статусом и причиной: не хватает поля, меньше 4 фото в пакете контента, тексты без объекта, описания, города и площади. Проверяются и поля формы в запросах
multipart, поля отчета чужой категории, значенияheatingTypeдома, а также загруженные файлы: тип и размер. Что бой обрезает или заменяет (длинный текст, неизвестнуюlengthвидео), песочница тоже принимает. - Результаты - образцы. Синхронные инструменты сразу отвечают фиксированными образцами. Асинхронные возвращают
jobId; задача проходитpending→running→ результат примерно за 5 секунд. - Проверка отчёта останавливается в
action_requiredс образцом данныхextracted, как в бою; подтвердите её черезPOST /valuation/review/jobs/{id}/confirm. - Файлы - заглушки. PDF и изображения настоящие, их можно открыть; видео, docx и тексты - короткие подписанные заглушки с правильным типом содержимого. Файл есть только у завершенной задачи песочницы, по пути ее инструмента и с id артефакта, который вернула задача, - иначе
404. Видео аватара отдается по любому id артефакта завершенной задачи, как в бою.Rangeработает (206,416). - Вебхуки настоящие. Тестовый ключ создает и меняет только адреса вебхуков песочницы. Они получают только события задач песочницы - подписанные доставки с повторами, ровно как в бою. Боевые адреса события песочницы не получают никогда, а тестовый ключ их не видит и не меняет.
Выбрать результат
Заголовок Grem-Simulate задаёт, чем закончится вызов или задача:
| Значение | Результат |
|---|---|
completed | по умолчанию: задача завершается успешно |
failed | задача завершается failed; синхронный инструмент отвечает 502 provider_error |
partial | пакет контента завершается partial; остальные инструменты - успешно |
insufficient_funds | 402 с code: INSUFFICIENT_FUNDS |
service_unavailable | инструмент недоступен: ровно тот ответ, что в работе для инструмента, который GET /tools/status показывает недоступным, - 503, Retry-After: 60, ничего не создаётся (content/generate, text/generate, video/create, avatar/video, site/create, floorplan/create, photo/enhance, valuation/express); остальные инструменты - 503 с Retry-After: 30 |
provider_error | 502 provider_error |
Регистр значения не важен. Неизвестное значение даёт 400, так что опечатка никогда не пройдёт как успех. Рабочие ключи заголовок игнорируют.
curl -X POST https://developers.grem.capital/api/v1/text/generate \
-H "Authorization: Bearer gsk_test_xxx" \
-H "Content-Type: application/json" \
-H "Grem-Simulate: failed" \
-d '{"city":"Berlin","totalArea":64}'
Что может тестовый ключ
| Запрос | С тестовым ключом |
|---|---|
Инструменты, POST /valuation/express, подтверждение проверки отчёта | имитируются |
| Управление вебхуками | только адреса песочницы |
Чтение (GET): объекты, лиды, словари, голоса и т. д. | реальные данные вашего аккаунта |
| Создание и изменение объектов, лидов, событий Swipe Match, загрузки, чат | отклоняются: 403 forbidden |
Отличия от боя
- Результаты - фиксированные образцы, а не оценка или настоящие тексты. Не показывайте их своим пользователям.
- Песочница не проверяет, что объект в
objectIdсуществует и принадлежит вам; бой в таком случае отвечает403или404. - Задачи и результаты хранятся сутки.