In order to add the content directly as HTML - make sure the data extension contains "html_content" as a field. Set it to text, and leave the length blank.
Once you have that, then you can pass in the email file with very minimal content, or you can build out a full template based on each of your email types. Also note that you can split these up quite a bit - so your template can have much of the framework, and you can pass in a series of parameters in the REST payload that pull in specific content areas, so you don't have to code out your entire message. Multiple ways to approach this.
It all mostly depends on your data, how much you want to store, and how streamlined you want your process. Another item - I'm using email address as the subscriber key - but this can be any unique identifier.