Supabase
Supabase est une plateforme open source Backend-as-a-Service (BaaS) qui offre une alternative robuste à Firebase. Elle comprend un large éventail d'outils pour le développement d'applications, notamment une base de données relationnelle PostgreSQL, l'authentification des utilisateurs, le stockage, les abonnements en temps réel et les fonctions Edge. Vous pouvez choisir d'héberger tout vous-même ou de profiter de leurs services cloud gérés. Contrairement à Firebase, qui utilise une base de données NoSQL, Supabase exploite les atouts du SQL grâce à PostgreSQL, vous permettant de créer des relations de données complexes et d'exécuter des requêtes sophistiquées.
Pour pouvoir envoyer des SMS via seven, il vous suffit de procéder à quelques réglages. Cela vous prendra environ dix minutes et ne nécessite pas de connaissances techniques approfondies.
Prérequis
- Une clé API de seven - peut être créée dans le tableau de bord développeur
- Supabase
Utilisation
- 1
Créer des secrets
- Ouvrez le tableau de bord Supabase et accédez à Edge Functions -> Secrets
- Dans la section Add new secrets, créez une paire de clés nommée SEVEN_API_KEY et dont la valeur est votre clé API
- Confirmez en cliquant sur Save
- 2
Créer une fonction Edge
-
Accédez à Edge Functions -> Functions et cliquez sur Deploy a new function -> Via Editor.
-
Entrez un nom significatif, par exemple sms-hook.
-
Collez le code suivant dans l'éditeur :
import 'jsr:@supabase/functions-js/edge-runtime.d.ts'; Deno.serve(async (req) => { try { const payload = await req.json(); const { user, sms } = payload; const body = { text: `Bonjour, votre code de vérification est : ${sms.otp}`, to: user.phone }; const resp = await fetch('https://gateway.seven.io/api/sms', { body: JSON.stringify(body), method: 'POST', headers: { Accept: 'application/json', 'X-Api-Key': Deno.env.get('SEVEN_API_KEY') } }); const response = await resp.json(); console.log('response', response); if (response.success === '100') { return new Response(JSON.stringify({ message: 'SMS envoyé avec succès' }), { status: 200, headers: { 'Content-Type': 'application/json' } }); } return new Response(JSON.stringify({ error: { http_code: response.succcess, message: `Échec de l'envoi du SMS : ${response.succcess}.` } }), { status: resp.status, headers: { 'Content-Type': 'application/json' } }); } catch (err) { console.error(err); return new Response(JSON.stringify({ error: { http_code: 500, message: `Échec de l'envoi du SMS : ${JSON.stringify(err)}` } }), { status: 500, headers: { 'Content-Type': 'application/json' } }); } });
4.Cliquez sur Deploy function (Déployer la fonction).
-