IV is calculated per strike AND option type basis(for example WTI 50 CALL its x and WTI 50 PUT its y). The question is when its shown in "Smile" its just shown on strike basis, so does that mean lower strikes just plots PUT IVs (y) and higher strike plot CALL IVs (x) OR does that mean for every strike we combine (using diff or average or whatever) for both CALL and PUT (x+y/2) and then project the "Smile" curve? Can you please elaborate here a bit.
I am assuming you are asking this question as a programmer, not as a trader. From a traders perspective, due to put/call parity, we look at puts and calls at the same expiry and strike price as the same thing. Each option has an intrinsic value and a time value. After accounting for the cost of carry, the time value for the put and call are equal as is their volatility. As a programmer trying to get the best estimate of the IV curve, The most recent trades are the best data. As Chris said above, the OTM are usually the most recent trades.