Node JS expreess UNDEFIED CALL BACK

I am working on a personal project and I do not have much experience with nodeJS, the idea is to bring a JSON that has remotely taken some data and generate some statistics, I am doing some tests before starting fully in the project and I am having problems with the callback.

the server.js works correctly,

my module is the following:
const extjson = require('remote-json');

//---------------------API CONFIG--------------------------
//apikey
const apikey ="xxxxxxxxxxxxxxxxxxxxx";

function get_sum_id(sumname){
  const urlsumbySumName = "https://la2.api.riotgames.com/lol/summoner/v3/summoners/by-name/" + sumname + "?api_key=" + apikey;
  var id;
  extjson(urlsumbySumName).get((err, res, body)=> {
    id = body.id;
    });
  return id;
}
module.exports = {get_sum_id

  };

and the routes.js is the following:

const riot = require('./rapi.js');
const express = require('express');


//---------------------------------------------------------

const router = express.Router();
//Jtask -- task remote json
//const Task = require('../models/Task'); // taskdb

router.get('/',async (req, res) => {
  res.render('index');
});

router.post('/profile', (req,res)=>{
  const sum = req.body.summoners; 
  console.log(riot.get_sum_id(sum));


  res.render('profile',{sum});
});
module.exports = router;

I want to show that id by console and it returns undefined, the idea is to pass that value to the render below to have it available in an EJS document. I appreciate if you can help me, THANK YOU!