if someone want make some test:
import bge
def create_constraint(ob1, ob2, numb=12, pos=[0,0,0], rot=[0,0,0], coll=False):
for o in [ob1, ob2]:
assert isinstance(o, bge.types.KX_GameObject)
assert hasattr(o, "meshes")
p1, p2 = [o.getPhysicsId() for o in [ob1, ob2]]
assert numb in {1,2,3,4,12}
for i in range(3):
pos[i] = float(pos[i])
rot[i] = float(rot[i])
coll = 64 if coll else 128
constraint = bge.constraints.createConstraint(p1, p2, numb, pos[0], pos[1], pos[2], rot[0], rot[1], rot[2], coll)
pid = constraint.constraint_id
return constraint
#########
cont = bge.logic.getCurrentController()
own = cont.owner
scene = own.scene
ob1 = scene.objects["B"]
ob2 = scene.objects["A"]
cs = create_constraint(ob1, ob2, 12, pos=[0,0,0],rot=[0,0,0], coll=False)
cs.setParam(1,-1,1)
cs.setParam(2,-1,1)
cs.setParam(3,-1,1)
print(dir(cs))