Ich habe einen benutzerdefinierten Benachrichtigungskanal in Laravel eingerichtet. Es führt einen API -Anruf zu einem externen Dienst wie einem E -Mail- und SMS -Anbieter. Wenn ein Benutzer eine Benachrichtigung anfordert (wie ein OTP), löst die Benachrichtigung diesen API -Anruf aus, um die Nachricht an seine E -Mail- oder Telefonnummer zu senden. < /P>
Jetzt versuche ich, die Antwort zu erfassen Aus diesem API -Anruf kann ich dem Benutzer zeigen, ob die Benachrichtigung erfolgreich gesendet wurde oder ob sie fehlgeschlagen ist.
Code: Select all
$notification = new SendVerificationCode([
"otp" => $otp,
]);
Notification::route('mail', $emailAddress)
->route('mobile_number', $phoneNumber)
->notify($notification);
Das Problem ist, dass die melden () Methode nichts zurückgibt. Ein weiterer Ansatz, den ich versuchte, bestand darin, eine Klasseneigenschaft in SendVerificationCode und über benutzerdefinierte Kanal-Update dieser Klasseneigenschaft festzulegen. Auch hier erhalte ich auch Null. Ich vermute, dass das Problem möglicherweise liegt, weil ich On-Demand-Benachrichtigungen verwende Was intern anonymousNotifikiable
verwendet Duct Tippen Sie auf das Problem. Wenn es um so etwas wie OTPs geht, bevorzuge ich den Status, ob die E -Mail und die SMS erfolgreich waren oder nicht in der Antwort. Das scheint ein angemessenerer Fluss für dieses Szenario zu sein. CC: @c3row