I'd recommend going through the physics tutorial here.
This depends a lot on what you're trying to do. There are three main physics body types in Godot: KinematicBody, RigidBody and StaticBody. These are implemented as nodes. Further, they need a Collision object as a direct child node to define the shape of the physics bodies (CollisionPollygon2D in your case).
Now, collision reporting can be very expensive so generally speaking, RigidBody and StaticBody physics controllers do not report collisions. You can change this by increasing the number of contacts reported in the properties of your StaticBody or RigidBody node.
You can find a handy chart indicating who has access to what information in a collision here.
Here's the documentation for RigidBody2D, KinematicBody2D and StaticBody2D.
The more important functions/methods you're going to use for getting collision information reported to KinematicBody2D are as follows:
The more important functions/methods you're going to use for getting collision information reported to RigidBody2D are as follows:
As for getting information reported to StaticBody2D, here's a rule of thumb: Don't.