First of all zoneIndex is where in the zone the Web Part should go. 0-first place, 1-second place etc. For horizontal zones its from left to right and vertical top to bottom.
By looking at the method declaration you have written in your Q I'm seeing that you are using the SPWebPartManager (or just WebPartManager) to add the Web Parts. Do not do this, use the SPLimitedWebPartManager where you instead use the id (string) of the zone like this:
spLimitedWebPartManager.AddWebPart(webPart, "Top", 0);
That would add the Web Part (webPart) to the zone with ID=Top and at the first position.
To get the ID's of the zone you can either look at the page and look for the WebPartZone controls, iterate over the control-tree in the page and find all WebPartZone controls or use the (SP)WebPartManager Zones property which gives you a collection of available zones.