Hello,
In my experience with integrating systems with BC, whenever the API cannot accommodate for all the fields that I need, I always look into OData Webservices, as they provide similar functionality as APIs, and for the most part, they don't require customization. All you need to do, is to make sure the page that you need is published as an OData Web Service.
Apparently, OData webservices are a little less performant than APIs, but I prefer to go that route than actually having a developer develop a Custom API -- unless I really need to process massive data on a daily basis.
I've even had integrations in the past where I created part of the records using the standard API, then I complemented the record with additional fiels using the OData Webservice. Of course this is not ideal because you're making 2 calls to BC, but my volume was low enough that this was not a problem.
Here's some documentation on publishing OData webservices:
Sometimes OData has some quirks (just like APIs have its own quirks too), but if you have any questions or issues, let me know.
Good luck!