POST API per Nuovo Utente

Sono bloccato e non so se si tratti di un mio errore, di un falso positivo o di qualcos’altro.

Quando effettuo una richiesta POST tramite Postman, ricevo un messaggio di SUCCESSO:
https://site.co/users.json?Api-Key=12345abcde12345&Api-Username=system&email=name@email.co&group_names=Alumni&custom_message=Welcome321

Messaggio:

{
    "success": true,
    "active": false,
    "message": "<p>Sei quasi arrivato alla fine! Abbiamo inviato una mail di attivazione a <b>name@email.co</b>. Segui le istruzioni contenute nella mail per attivare il tuo account.</p><p>Se non arriva, controlla la cartella spam.</p>"
}

Tuttavia, quando controllo la mia casella di posta, non ricevo alcuna notifica. Non c’è nulla nei miei /logs e nessun utente registrato.

Nel tentativo di risolvere il problema, effettuo una semplice richiesta GET:

https://site.co/admin/email.json?Api-Key=12345abcde12345&Api-Username=system

Non ricevo una risposta di successo. La risposta è <!DOCTYPE html> ...

Quindi vado manualmente su https://site.co/admin/email.json e vedo:
{"delivery_method":"smtp","settings":[{"name":"address","value":"smtp.sendgrid.net"},{"name":"port","value":2525},{"name":"user_name","value":"apikey"},{"name":"authentication","value":"plain"},{"name":"enable_starttls_auto","value":true}]}

Hai qualche idea su cosa posso provare? Il mio obiettivo è riuscire a invitare un nuovo utente, aggiunto a un Gruppo, tramite Webhook/POST.

Dovrai spostare la chiave API nell’intestazione.

Molto tempo fa ho risolto quello che penso sia il tuo problema creando, disattivando e riattivando l’utente.

Il tuo script è JavaScript (jQuery). Utilizzare type="application/json" è generalmente indicato per i dati JSON all’interno dello script, non per JavaScript. Ecco un esempio:

<script id="data" type="application/json">
{"org": 10, "items":["one","two"]}
</script>

La mia comprensione è che i tuoi tag script dovrebbero apparire così:

<script>
$.ajax({
method: "POST",
url: "https://site.co/invites",
headers: { "Api-Username": "system", "Api-Key": "12345" },
data: { 
"email": "grow@site.co",
"group_names": "Alumni",
"custom_message": "Welcome123"
}
});
</script>

Per JavaScript, non è più necessario specificare type="javascript", poiché questa istruzione è diventata obsoleta da tempo.