cURL
curl --request GET \ --url https://backend.testeswaffle.org/referrals/delivery-buttons \ --header 'Authorization: Bearer <token>'
{ "success": true, "email": "[email protected]", "products": {} }
Verifica quais formulários de entrega de produtos/recompensas um usuário já enviou
{ "success": boolean, "email": string, "products": { "[productId]": { "title": string, "submitted": boolean, "submittedAt": number | null } } }
curl --request GET \ --url 'https://backend.testeswaffle.org/referrals/delivery-buttons' \ --header 'Authorization: Bearer SEU_JWT_TOKEN'
{ "success": true, "email": "[email protected]", "products": { "845e91831319e89c4d656bdb80c278ac09a7230d61e5dfd2e1b1fbb436ac8917": { "title": "Report do Grupo Waffle", "submitted": true, "submittedAt": 1642680000000 }, "1dcfa7e4bfff2d1a67076fde7e2e293f5de37187715082a1195469283a44c03c": { "title": "adesivos", "submitted": false, "submittedAt": null }, "6c024054ed780426bccb574c5a0fa28f775e550a91a88ee20158e4ddab987147": { "title": "Porta-cartão", "submitted": true, "submittedAt": 1642690000000 }, "d950113d83977940d0160cdc6f59edd3da64ac03b4f7cd896a27921a45cd8fb4": { "title": "Moleskine", "submitted": false, "submittedAt": null }, "8923cac0414836b7dde6ce693aec4f8dc094093acb2c89f937774a74830ec09": { "title": "Caneca", "submitted": false, "submittedAt": null }, "a4f6433a1b183ba0774b86095184ba1dda9a44e7f8d42bea2e6c967ab781c079": { "title": "Mochila", "submitted": false, "submittedAt": null }, "37c5bbe4f17965a8e4df866b6d9ae2258ee8b583d64c27b2574803985825f0e9": { "title": "meia", "submitted": false, "submittedAt": null }, "c8dacf657fe92b6064dbcde0f7888936b2c35871e6c61f7b4581accba92c278d": { "title": "boné", "submitted": false, "submittedAt": null }, "de89f476871268f9234ac86d5973af61bc7f15acc8a686f45d4ee77992bc57fa": { "title": "marcador de página", "submitted": false, "submittedAt": null } } }
{ "success": false, "message": "Token inválido ou expirado" }
const response = await fetch('/referrals/delivery-buttons', { headers: { 'Authorization': `Bearer ${token}` } }); const data = await response.json(); if (data.success) { // Mostrar quais formulários já foram preenchidos Object.entries(data.products).forEach(([productId, product]) => { if (product.submitted) { console.log(`✅ ${product.title} - Enviado em ${new Date(product.submittedAt)}`); } else { console.log(`❌ ${product.title} - Pendente`); } }); }
const pendingProducts = Object.entries(data.products) .filter(([_, product]) => !product.submitted) .map(([productId, product]) => ({ productId, ...product })); console.log(`${pendingProducts.length} formulários pendentes`);
const totalProducts = Object.keys(data.products).length; const submittedCount = Object.values(data.products) .filter(product => product.submitted).length; const progressPercentage = (submittedCount / totalProducts) * 100; console.log(`Progresso: ${progressPercentage.toFixed(1)}% (${submittedCount}/${totalProducts})`);
deliveryForms
/referrals/count
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Bearer <token>
<token>
Status dos formulários obtido com sucesso
Mapa de produtos com seus status de envio
Show child attributes