{"id":2730,"date":"2023-07-24T13:44:10","date_gmt":"2023-07-24T13:44:10","guid":{"rendered":"https:\/\/www.tpd.zone\/?page_id=2730"},"modified":"2024-03-21T10:04:06","modified_gmt":"2024-03-21T10:04:06","slug":"integration","status":"publish","type":"page","link":"https:\/\/www.tpd.zone\/data-demos\/guide\/integration\/","title":{"rendered":"Integration"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"2730\" class=\"elementor elementor-2730\" data-elementor-post-type=\"page\">\n\t\t\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-be7e958 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"be7e958\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-9d0a435\" data-id=\"9d0a435\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-a0168c8 elementor-widget elementor-widget-text-editor\" data-id=\"a0168c8\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<style>\/*! elementor - v3.19.0 - 26-02-2024 *\/\n.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:#69727d;color:#fff}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap{color:#69727d;border:3px solid;background-color:transparent}.elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap{margin-top:8px}.elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap-letter{width:1em;height:1em}.elementor-widget-text-editor .elementor-drop-cap{float:left;text-align:center;line-height:1;font-size:50px}.elementor-widget-text-editor .elementor-drop-cap-letter{display:inline-block}<\/style>\t\t\t\t<h1><span style=\"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'; font-size: var( --e-global-typography-primary-font-size ); font-weight: var( --e-global-typography-primary-font-weight );\">Integration Details<\/span><\/h1><h3><strong>JSON RPC API<\/strong><\/h3><p>TDP has a static JSON data API where race data is retrieved for your server and \/ or client<\/p><p>Requests via the client must route via your own API&#8217;s and not go directly to TDP&#8217;s API. Your API key is appended to client request parameters at your server side API level which requests data from us. This data is then transported back to your client. You must not made client calls directly to your client with your API Key.<\/p><p>Full examples are given in the GitHub public repo.<\/p><h3><b>Web Socket TCP API (data stream)<\/b><\/h3><p>Web sockets are set up via your client directly to TDP&#8217;s web socket.<\/p><p>An API request is made (via your server) for a 1 time access key that is linked with your API key, streaming vendor key, the race identifier and the clients IP address.<\/p><p>The socket connection includes this key and is verified and a valid connection request.<\/p><p>Real time data is then pushed over the socket to your client for live racing views, this data includes positional, velocity and performance metrics data about the race requested.<\/p><p>This method is suited to small to medium companies that need a rapid and easy to implement solution.\u00a0<\/p><h3><b>UDP Feed<\/b><\/h3><p>TPD can supply a UDP feed directly to your server with race progress and \/ or runner data packets. Your servers then transport this data to your clients in any way you wish to.<\/p><p>This solution is more suited to large companies that wish to have full control over delivery and third party connections.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Integration Details JSON RPC API TDP has a static JSON data API where race data is retrieved for your server and \/ or client Requests via the client must route via your own API&#8217;s and not go directly to TDP&#8217;s API. Your API key is appended to client request parameters at your server side API [&hellip;]<\/p>\n","protected":false},"author":27,"featured_media":0,"parent":2721,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"acf":[],"_links":{"self":[{"href":"https:\/\/www.tpd.zone\/rest\/wp\/v2\/pages\/2730"}],"collection":[{"href":"https:\/\/www.tpd.zone\/rest\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.tpd.zone\/rest\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.tpd.zone\/rest\/wp\/v2\/users\/27"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tpd.zone\/rest\/wp\/v2\/comments?post=2730"}],"version-history":[{"count":22,"href":"https:\/\/www.tpd.zone\/rest\/wp\/v2\/pages\/2730\/revisions"}],"predecessor-version":[{"id":3412,"href":"https:\/\/www.tpd.zone\/rest\/wp\/v2\/pages\/2730\/revisions\/3412"}],"up":[{"embeddable":true,"href":"https:\/\/www.tpd.zone\/rest\/wp\/v2\/pages\/2721"}],"wp:attachment":[{"href":"https:\/\/www.tpd.zone\/rest\/wp\/v2\/media?parent=2730"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}