:PROPERTIES: :ID: c1793364-997f-4ea8-917b-02f1ee2a6ddd :END: #+title: 2022-01-28 * Discuss Analytics View endpoint URLs Discussion with Dave S. and Eric T. on how we will expose the [[id:c45881de-46f2-4f76-9579-063626c5956c][Analytics View Service]] report endpoints as Public API URLs. - Fields should be mapped to their PublicAPI standardized names - Dave is documenting Public API naming conventions - Should other entities be referenced by IDs or links? - Perhaps both, for front-end URL building and for further API lookups - Some - Dave suggests returning a response data structure with attached entries rather than a plain array to include additional metadata - Should the total set of available reports be discoverable via the API? - It's not planned currently, but would make sense to do at some point in the future - Watch out for pagination issues with dictionary object collections - Are there discrete event IDs? - Does a completed broadcast have an ID beyond the broadcast ID? - What kind of URL pathing do we want to aim for? - List-level reports under Lists - Account level reports under Accounts - If optionally filterable by list, might make sense to serve it under both paths - Having the analytics database cache external to the service could help with large concurrent requests across service instances - Broadcasts opens and clicks can be a performance pitfalls, see how Public API campaigns implements opens and clicks in an efficient manner - Be clear on endpoint result ordering * Search service timeouts Slow searches may run afoul of our nginx timeouts (See etsy-importer for handling timeout expectations. Broadcasts also have issues with this.)