Should not be mixed up - they are completely different subjects !
BAPI: Business Application Programming Interface - a function module which allows actions in the system to be performed via a programmed interface. Create / update / release / or simple get detail information about the "subject" can be done via regular screen transactions, as well as via a BAPI.
BADI: Business ADd-In - an ABAP Objects term which effectively acts lika a user exit from a predefined position in a class. SAP can be configured to call such BADI logic when e.g. a document is saved or checked.