Я отправлял приглашения через API (Discourse API Docs). Когда я делаю это в Postman, я получаю письмо с приглашением. Но при реализации в Laravel письмо не приходит.
Вот ответ от API в Laravel. Я заметил, что поле emailed имеет значение false.
Да, это была другая ошибка, которая уже была исправлена. Сейчас проблема в том, что мы не получаем письма, хотя вызов API проходит успешно.
Не уверен, нужно ли что-то дополнительно включить? Потому что при вызове API через Postman письма приходят, а в созданном нами Laravel-приложении — нет.
Это уже старая тема, но у меня возникла похожая проблема. API-запрос к invite.json генерирует ссылки-приглашения, но не отправляет письмо. В то же время, если тот же пользователь, к которому привязан API-ключ, приглашает других через интерфейс, письмо отправляется как обычно.
Спасибо за ваш ответ. Неужели всё так просто? Это была бы отличная новость!
В данном случае я использую Zapier, но с объектом, который создал, следуя этой документации по API. Возможно, это не та документация, или я что-то упускаю.
Я пробовал много разных параметров, но последний вариант был таким:
Хорошо, спасибо, что обратили на это внимание. Это инстинкт, который приходит с опытом работы в Discourse, я думаю. В любом случае, раз вы об этом сказали, всё теперь имеет смысл.
Давайте попробую, и я вернусь сюда с результатами!
К сожалению, проблема сохраняется: статус OK 200, но генерируется только ссылка для приглашения.
В API от UI дополнительно были установлены явные свойства expires_at и max_redemptions_allowed.
Кстати, я использую пользователя system через интеграцию. Это может быть проблемой? Хотя, думаю, я также пробовал использовать реального «человеческого» пользователя для тестирования.
Да, это загадка, через UI всё работает без проблем.
Хотя я заметил, что даже если я отправляю приглашение из раздела «Профиль / Приглашения» пользователя system, в письме с приглашением всё равно указано, что приглашение отправил я (мой пользователь).
Попробуйте использовать административный API-ключ для вашего имени пользователя.
Через API вы должны получить такое же поведение, как и через интерфейс.