Un client può chiamare il seguente URI di api REST per inviare una richiesta
POST /v1/businesses/{business_name}/enquiries
La richiesta può essere visualizzata tramite la seguente chiamata:
GET /v1/businesses/{business_name}/enquiries/{enquiry_id}
Quando viene pubblicata una nuova richiesta, l'azienda viene informata via email. L'e-mail include un link alla richiesta. Il problema è che l'API aggiungerà il seguente link all'email:
http://api.com/v1/businesses/{business_name}/enquiries/{enquiry_id}
Quando un utente fa clic sul link nell'email, verrà erroneamente indirizzato alla risorsa API anziché alla pagina del client. Quindi ho bisogno che l'e-mail contenga il seguente link:
http://client.com/dashboard/{business_name}/enquiries/{enquiry_id}
Notato: sopra l'URL del client è un esempio. I clienti possono implementare il proprio routing come desiderano, è inoltre possibile utilizzare un URL di app per client di una singola pagina. Il punto è che l'URL del client deve essere esposto nell'email, non nell'URL dell'API.
Non sono abbastanza sicuro di come ottenere gli URL dei client nell'email.
Un'opzione sarebbe quella di fornire un URL client nella richiesta POST originale. Il problema è che il client non conoscerà l'URL da utilizzare fino a dopo il POST, a quel punto l'e-mail è già stata aggiunta alla coda.
Un'altra opzione è quella di eliminare l'accodamento delle e-mail dall'API e renderne i client responsabili. Non mi piace molto questa idea in quanto gli implementatori dei client non saranno troppo contenti di aver acquistato l'API, solo per scoprire poi che devono decidere quando mettere in coda le email.