Перейти к навигации

SDK Устранение неполадок интеграции

Прежде чем передавать запрос в службу поддержки, диагностируйте Trading Widget, Agent SDK, подписание, webhook, тайм-аут и проблемы среды.

Просмотр в формате Markdown

Начните со среды, отметки времени и бизнес-идентификатора неудачной операции. Структурированная проверка обычно отделяет проблемы конфигурации от проблем аутентификации, сети и асинхронной обработки.

Рекомендуемый порядок диагностики

  1. Подтвердите затронутую среду и базу URL.
  2. Запишите временной диапазон UTC и первый неудачный запрос.
  3. Определите модуль: Trading Widget, Agent SDK, REST API, WebSocket или webhook.
  4. Запишите идентификатор запроса, идентификатор пользователя-партнера, agentOrderNo, идентификатор заказа или идентификатор события webhook.
  5. Проверьте последний код, учетные данные, белый список IP или изменения в развертывании.
  6. Воспроизведите с помощью наименьшего безопасного тестового примера.

Trading Widget проблемы

СимптомВероятная причинаИсправить
iframe запрашивает локальный домен партнераbaseUrl отсутствуетПередайте baseUrl: ‘https://app.6mm.com’.
iframe невидим или очень короткийРодительский контейнер не имеет высотыУстановите высоту контейнера или высоту прохода.
token_provider_missingв режиме партнерского токена нет провайдераДобавить авторизациюtokenProvider.
auth_exchange_failedНедействительный, просроченный или несоответствующий токен внедрения.Проверьте ответ токена серверной части и channelId.

Agent SDK проблемы

СимптомВероятная причинаИсправить
Подпись отклоненаНеправильный секретный код, отклонение тактового сигнала или подписанные поля, измененные вручную.Пусть SDK сгенерирует поля подписи и синхронизирует время сервера.
Риск дублирования движения средствНовый номер заказа используется после таймаутаСначала запросите исходный agentOrderNo.
PROCESSING рассматривается как сбойСостояние ожидания неправильно понятоПодождите webhook или вызовите по queryOrder.
Webhook обработано несколько разПовторить поведение без идемпотентностиДобавьте ключ идемпотентности и проверки конечного состояния.

Доказательства для захвата

ИнтеграцияПолезные доказательства
Trading WidgetСтраница URL, путь к версии SDK, консоль браузера, неудачные сетевые запросы, полезная нагрузка onError и размеры контейнера.
Agent SDKSDK язык/версия, базовая URL, UTC временная метка, идентификатор запроса, agentOrderNo, код ответа и очищенные журналы.
WebhookВремя доставки, событие или бизнес-ключ, результат проверки подписи, состояние обработки и очищенный хэш необработанного тела.
REST APIМетод, путь, среда, идентификатор запроса, код ответа и очищенные параметры.

Никогда не включайте в диагностику пароли, токены доступа, секреты API, полные подписи, закрытые ключи или неотредактированные личные данные.

Прежде чем перейти к эскалации

  • Повторяйте попытку только тогда, когда операция задокументирована как безопасная для повторения.
  • По истечении времени ожидания запросите исходный бизнес-идентификатор вместо создания нового.
  • Проверьте системные часы и среду учетных данных на наличие ошибок подписи.
  • Сохраните первую неудачную попытку и результаты последующих повторных попыток.
  • Используйте Шаблон запроса на поддержку отправить полный отредактированный отчет.

Связанные документы

Java v0.3.0 диагностика

СимптомПроверка и восстановление
Запрос на финансирование имеет неизвестный результатСохраните оригинал agentOrderNo; вызовите queryWalletTransfer с исходной средой. Не используйте queryOrder.
Пользовательский интерфейс моделирования показывает неожиданные средстваПроверьте внешний интерфейс tradingMode отдельно от внутреннего environment; учетная запись isSimulatedUser не маршрутизирует запросы.
Ошибка запроса 6905Откажитесь от использования общей квоты партнера, затем повторите попытку с тем же курсором и фильтрацией через SDK.
Ошибка запроса 6904Уменьшите количество одновременных запросов и сузьте временное окно; обратитесь в службу поддержки, если упорно.
Неверный или просроченный курсорПерезапустите то же окно фиксированной истории и выполните дедупликацию сохраненных записей.
Отсутствует новый метод JavaПроверьте разрешенный артефакт Maven по общедоступному тегу v0.3.0; удалите конфликтующие зависимости в соответствии с вашей политикой артефактов.

Справочник по запросам и ошибкам · Руководство по обновлению

Webhook проблемы с получением

СимптомПроверка и обработка
Нет повторной попытки после возврата ошибки JSONПроверьте, возвращает ли конечная точка HTTP 200. Для доставки используется только статус HTTP, а не индикатор успеха в теле.
Повторные попытки продолжаются после 401 или 409.Ответы, отличные от 2xx, соответствуют существующей политике повторных попыток; исследуйте подписи, содержимое уведомлений или конфигурацию продавца.
Пустой ключ идемпотентности для предупреждения о ликвидацииТекущий WebhookVerifier.idempotencyKey извлекает только идентификаторы событий средств. После проверки подписи и владения подтвердите notificationId и создайте ключ предупреждения в коде продавца. Никогда не используйте пустой ключ.
Дублирующееся уведомление после успешной обработкиСохранять дедупликацию внутри продавца и в области environment. Возвращает 2xx для идентичных дубликатов; записывать конфликты и возвращать значения, отличные от 2xx, для одного и того же идентификатора с другим телом.
Предупреждение не обработаноПримите liquidation.warning и исторический LIQUIDATION_WARNING; не группируйте отдельные идентификаторы уведомлений по пользователю, эпизоду или типу события и не удаляйте их.
Принятое уведомление теряет ожидающую задачуНадежно сохраните задачу перед возвратом 2xx; запуска асинхронной задачи в памяти недостаточно.

Поля событий и совместимость · HTTP ответы и достоверное подтверждение