Estoy tratando de encontrar la mejor manera de llamar a esta API varias veces y compilar todas las llamadas en una lista de json. Esta API solo permite un límite de 50 usuarios (elementos de datos json) por llamada. Lo único que cambiará de una llamada a otra son los parámetros de filtro. Ej: params: {"filter: skip=50"} omitiría los primeros 50 y la próxima llamada sería skip=100. El siguiente código sería la primera llamada. Estoy tratando de no hacer las llamadas manualmente porque dependiendo de cuántas personas estén en la campaña que estamos ejecutando, es posible que tenga que ejecutar esto más de 50 veces.
const router = express.Router(); const api_secret = process.env.API_SECRET router.get('/', (req, res) => { const options = { method: 'GET', url: 'https://app.viral-loops.com/api/v2/participant_rank', params: {apiToken: api_secret}, headers: {'Content-Type': 'application/json'} }; axios.request(options).then(function (response) { let array = response.data.data let newUser = array.map(user => { return {user: { "firstname": user.user.firstname, "lastname": user.user.lastname, "rank": user.user.rank, "country": user.user.extraData.Vm7Tt6MH, "team": user.user.extraData._0bCLLf, "referrals": user.counters.referrals.total }}}) res.json(newUser) }).catch(function (error) { console.error(error); }); }); app.use('/.netlify/functions/fetch-leaderboard', router);