If you want more control ove where to kick, you need to drop radial impulse.
But first make all with radial impulse working. Then improve it.
When you have all working with radial impulse. You should have center of radial impulse, and location of your ball.
At that point you really do not need radial impulse anymore, you can use simple “add impulse”
So you have place of ball, and place of target, calculate direction vector for them (destination location - start location), then NORMALIZE that vector (it makes it length 1).
Now add impulse to that ball and vector should be Normalized direction * strength. I do not remember if add impulse takes vector and strength separately, if so feed normalized and strength to their pins instead.
You probably want to make spinning ball kicks (do not know how this thing is called in english). And this is bit more complicated.
For it to work you need add some functionality to the ball. Ie add there variable that holds direction vector, and force.
When you kick ball calculate vector “left” or “right” vector to direction you are kicking ball. For this rotate (by 90deg) around axis [0,0,1] your normalized vector from above paragraph. There is also simpler method, instead of valculating that vector as right vector use “get physics velocity”, and rotate that. This will be more accurate, but also may introduce strange drifting because you constantly will update direction. This is place where you just experiment with physics see what is best for your game.
Then store it in ball (so it knows how to curve), somehow calculate strength (or amount) of curving.
Then on event tick in ball you need to “add force” that will drag ball slowly to the side.
If you want more advanced simulation you need to dig quite deep into physics, to calculate that stuff over time, check spin speed etc.
I am not sure if you can read direction that physics body is spinning, if its possible, you could find drag vector from spinning ball, then apply that as “add force”