You should visit developers.marketo.com for API information. This would be the most efficient method. Yes, you could potentially use a third party data routing tool, but that will slow you down.
Why are you building a custom integration? Is this something you plan to sell?
You can get the partnership process started here: Launchpoint - Become a Partner As far as your other questions:
- It's typical for time-based events to push or pull data based on the relevant time frame
- Many solutions have specific custom field requirements to push data to in an instance if that data is provider-specific, in other cases it may be to standard fields or a user-defined mapping.
Not sure what you mean by this though, care to clarify?
>If so, what do these Apps normally do (e.g. some kind of Auth or Field Mapping)?