{"id":4063,"date":"2026-01-14T08:20:36","date_gmt":"2026-01-14T07:20:36","guid":{"rendered":"https:\/\/www.trans.eu\/api\/?p=4063"},"modified":"2026-02-25T14:23:20","modified_gmt":"2026-02-25T13:23:20","slug":"api-callback-urls","status":"publish","type":"post","link":"https:\/\/www.trans.eu\/api\/general-information\/api-callback-urls\/","title":{"rendered":"API Callback URLs"},"content":{"rendered":"\n<p>Call\u00adback URL is used to auto\u00admat\u00adi\u00adcal\u00adly receive noti\u00adfi\u00adca\u00adtions about events from Trans.eu Plat\u00adform. When a spe\u00adcif\u00adic event occurs, the Trans.eu sys\u00adtem sends a request with event data to the call\u00adback URL you pro\u00advid\u00aded, allow\u00ading your appli\u00adca\u00adtion to react with\u00adout con\u00adstant\u00adly polling for updates. This solu\u00adtion can be used for objects cre\u00adat\u00aded via API requests, such as freights, orders, announce\u00adments and time win\u00addows. <\/p>\n\n\n\n<!--more-->\n\n\n\n<p>To receive noti\u00adfi\u00adca\u00adtions about events:<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:50%\">\n<p>1. Pro\u00advide the <b>callback_url<\/b> field in the request cre\u00adat\u00ading the object with a return address \u2014 call\u00adback address should start with pro\u00adto\u00adcol (http:\/\/ or https:\/\/)<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:50%\">\n<div class=\"hcb_wrap\"><pre class=\"prism off-numbers lang-json\" data-lang=\"JSON\" data-start=\"0\"><code>\"callback_url\": \"http:\/\/example.com\/msg\"<\/code><\/pre><\/div>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:50%\">\n<p>2. Send the object via API with select\u00aded POST method request<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:50%\">\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>Method: POST\nEndpoint: \/ext\/freights-api\/v1\/freight-exchange\nEndpoint: \/ext\/freights-api\/v1\/freight-employees\nEndpoint: \/ext\/freights-api\/v2\/freights\nEndpoint: \/ext\/freights-api\/v1\/freight-companies\nEndpoint: \/ext\/freights-api\/v1\/freight-auto\nEndpoint: \/ext\/freights-api\/v1\/private-exchange\nEndpoint: \/ext\/freights-api\/v1\/freight-corporate\nEndpoint: \/ext\/orders-api\/v1\/orders-created\nEndpoint: \/ext\/dock-scheduler-api\/v1\/announcement\nEndpoint: \/ext\/dock-scheduler-api\/v1\/warehouse\/timeWindow<\/code><\/pre><\/div>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:50%\">\n<p>3. Lis\u00adten for receive events at the address spec\u00adi\u00adfied in <strong>callback_url<\/strong> \u2014 see the exam\u00adple response oppo\u00adsite<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:50%\">\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-json\" data-lang=\"JSON\"><code>{\n\"id\": \"87795\",\n\"event_name\": \"{freights.proposal_request.negotiated}\",\n\"occurred_at\": \"2026-01-25T11:41:11+00:00\",\n\"data\": {\n        \"price\": 560.20,\n        \"author\": \"12665-1\"\n      }\n}<\/code><\/pre><\/div>\n<\/div>\n<\/div>\n\n\n\n<div style=\"height:56px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h6 class=\"wp-block-heading\" style=\"font-style:normal;font-weight:700\">Callback flow<\/h6>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.trans.eu\/api\/wp-content\/uploads\/callback-flow-1024x626.png\" alt=\"Callback Flow\"><\/figure>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h6 class=\"wp-block-heading\" style=\"font-style:normal;font-weight:700\">Structure of event<\/h6>\n\n\n\n<figure class=\"wp-block-table has-small-font-size\"><table><tbody><tr><td>Event field name<\/td><td>Event field type<\/td><td>Exam\u00adple<\/td><td>Event field descrip\u00adtion<\/td><\/tr><tr><td>id<\/td><td>Inte\u00adger<\/td><td>\u201c87795\u201d<\/td><td><strong>Freight id<\/strong> in freight events.<br><strong>Order id<\/strong> in order events.<br><strong>Time win\u00addow id<\/strong> in Dock Sched\u00aduler events.<\/td><\/tr><tr><td>event_name<\/td><td>String<\/td><td>\u201c{freights.proposal_request.negotiated}\u201d<\/td><td>Event name giv\u00aden in brack\u00adets {}<\/td><\/tr><tr><td>occured_at<\/td><td>String (UTC time\u00adstamp with off\u00adset)<\/td><td>\u201c2026\u201301-25T11:41:11+00:00\u201d<\/td><td>Time of event occur\u00adrence<\/td><\/tr><tr><td>data<\/td><td>Object<\/td><td><\/td><td>Option\u00adal sec\u00adtion with event-spe\u00adcif\u00adic infor\u00adma\u00adtion. It is described in Data sec\u00adtion col\u00adumn in the table below. <\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<div style=\"height:43px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h6 class=\"wp-block-heading\" style=\"font-style:normal;font-weight:700\">List of freight events received to callback URL<\/h6>\n\n\n\n<figure class=\"wp-block-table has-small-font-size\"><table><tbody><tr><td>Event name<\/td><td>Descrip\u00adtion<\/td><td>Data sec\u00adtion<\/td><\/tr><tr><td>freights.freight.create<\/td><td>Cre\u00adat\u00ading a new freight<\/td><td><\/td><\/tr><tr><td>freights.freight.update<\/td><td>Freight data update<\/td><td><\/td><\/tr><tr><td>freights_processing.publication.finished<\/td><td>End of freight pub\u00adli\u00adca\u00adtion. There may be a dupli\u00adca\u00adtion with the event freights.publication.finished.<\/td><td><\/td><\/tr><tr><td>freights_processing.publication.negotiation_time_finished<\/td><td>End of nego\u00adti\u00ada\u00adtion time for car\u00adri\u00ader<\/td><td><\/td><\/tr><tr><td>freights.proposal_request.accepted<\/td><td>Accep\u00adtance of the freight offer by the nego\u00adti\u00adat\u00ading par\u00adtic\u00adi\u00adpant, indi\u00adcat\u00ading the offered price. If the accep\u00adtance was made by the pub\u00adlish\u00ader or the pub\u00adli\u00adca\u00adtion includ\u00aded the \u201cis_first_buy\u201d option, the pub\u00adli\u00adca\u00adtion will be fin\u00adished.<\/td><td><code>price <\/code>(float type) \u2014 a price accept\u00aded dur\u00ading nego\u00adti\u00ada\u00adtion<\/td><\/tr><tr><td>freights.proposal_request.created<\/td><td>Start of a new nego\u00adti\u00ada\u00adtion. This event is always sent in par\u00adal\u00adlel with the event of a new offer being made or an offer being accept\u00aded (with the \u201cis_first_buy\u201d pub\u00adli\u00adca\u00adtion option).<\/td><td><\/td><\/tr><tr><td>freights.proposal_request.negotiated<\/td><td>Sub\u00admis\u00adsion of a new price offer by a par\u00adtic\u00adi\u00adpant in the nego\u00adti\u00ada\u00adtions.<\/td><td><code>price <\/code>(float type) \u2014 a new price offered in nego\u00adti\u00ada\u00adtion<br><code>author_id <\/code>(String type) \u2014 tran\u00adsId of the user sub\u00admit\u00adting the offer<\/td><\/tr><tr><td>freights.proposal_request.negotiation_lost<\/td><td>Clos\u00ading nego\u00adti\u00ada\u00adtions with the los\u00ading par\u00adtic\u00adi\u00adpant. Event sent for each los\u00ading par\u00adtic\u00adi\u00adpant.<\/td><td><code>id<\/code> (Int type) \u2014 user\u2019s com\u00adpa\u00adny offi\u00adceid<br><code>author_id <\/code>(String type) \u2014 tran\u00adsid of the nego\u00adti\u00adat\u00ading user<br><code>participant_company_id <\/code>(Int type) \u2014 user\u2019s com\u00adpa\u00adny offi\u00adceid<br><code>freight_id <\/code>(Int type) \u2014 iden\u00adti\u00adfi\u00adca\u00adtion num\u00adber of the nego\u00adti\u00adat\u00aded freight<\/td><\/tr><tr><td>freights.proposal_request.rejected<\/td><td>A nego\u00adti\u00ada\u00adtion par\u00adtic\u00adi\u00adpant rejects the nego\u00adti\u00ada\u00adtion. Nego\u00adti\u00ada\u00adtions between these par\u00adtic\u00adi\u00adpants will not be able to be restart\u00aded.<\/td><td><\/td><\/tr><tr><td>freights.proposal_request.renounced<\/td><td>A nego\u00adti\u00ada\u00adtion par\u00adtic\u00adi\u00adpant rejects the nego\u00adti\u00ada\u00adtion. Nego\u00adti\u00ada\u00adtions between these par\u00adtic\u00adi\u00adpants may be restart\u00aded.<\/td><td><\/td><\/tr><tr><td>freights.proposal_request.withdrawn<\/td><td>With\u00addraw\u00adal of the sub\u00admit\u00adted offer by a par\u00adtic\u00adi\u00adpant in the nego\u00adti\u00ada\u00adtions.<\/td><td><\/td><\/tr><tr><td>freights.publication.accepted<\/td><td>Accep\u00adtance of the pub\u00adlished freight by the car\u00adri\u00ader<\/td><td><\/td><\/tr><tr><td>freights.publication.activated<\/td><td>Acti\u00adva\u00adtion of freight pub\u00adli\u00adca\u00adtion<\/td><td><\/td><\/tr><tr><td>freights.publication.canceled<\/td><td>Can\u00adcelling freight pub\u00adli\u00adca\u00adtion<\/td><td><\/td><\/tr><tr><td>freights.publication.created<\/td><td>Cre\u00adation of new pub\u00adli\u00adca\u00adtion<\/td><td><\/td><\/tr><tr><td>freights.publication.finished<\/td><td>End of freight pub\u00adli\u00adca\u00adtion. There may be a dupli\u00adca\u00adtion with the event freights_processing.publication.finished.<\/td><td><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h6 class=\"wp-block-heading\" style=\"font-style:normal;font-weight:700\">List of order events received to callback URL<\/h6>\n\n\n\n<figure class=\"wp-block-table has-small-font-size\"><table><tbody><tr><td>Event name<\/td><td>Descrip\u00adtion<\/td><td>Data sec\u00adtion<\/td><\/tr><tr><td>freight_orders.order.attachment_added<\/td><td>Adding an attach\u00adment to the order<\/td><td><\/td><\/tr><tr><td>freight_orders.order.attachment_removed<\/td><td>Remov\u00ading an attach\u00adment from the order<\/td><td><\/td><\/tr><tr><td>freight_orders.order.attachment_visibility_changed<\/td><td>The vis\u00adi\u00adbil\u00adi\u00adty of the order attach\u00adment has changed<\/td><td><\/td><\/tr><tr><td>freight_orders.order.created<\/td><td>Cre\u00adat\u00ading a new order (from freight)<\/td><td><\/td><\/tr><tr><td>freight_orders.order.delivery_was_confirmed<\/td><td>Con\u00adfir\u00adma\u00adtion by the client of order deliv\u00adery.<\/td><td><code>freight_id <\/code>- freight id asso\u00adci\u00adat\u00aded with the order<br><code>freight_reference_number <\/code>- auto\u00admat\u00adi\u00adcal\u00adly assigned busi\u00adness iden\u00adti\u00adfi\u00ader of the freight<br><code>shipment_external_id <\/code>- exter\u00adnal iden\u00adti\u00adfi\u00adca\u00adtion num\u00adber<br><code>status <\/code>- order sta\u00adtus, always here \u201cdeliv\u00adery-con\u00adfirmed\u201d<\/td><\/tr><tr><td>freight_orders.order.order_was_accepted_by_contract<\/td><td>Auto\u00admat\u00adic accep\u00adtance of an order based on an fixed route<\/td><td><\/td><\/tr><tr><td>freight_orders.order.order_was_cancelled<\/td><td>Can\u00adcel\u00ading the order<\/td><td><\/td><\/tr><tr><td>freight_orders.order.proposal_submitted<\/td><td>Pro\u00adpos\u00adal to change the terms of the order<\/td><td><\/td><\/tr><tr><td>freight_orders.order.proposal_was_accepted<\/td><td>Accep\u00adtance of the terms of the order<\/td><td><\/td><\/tr><tr><td>freight_orders.order.shipment_external_id_was_changed<\/td><td>The exter\u00adnal ship\u00adment num\u00adber has changed<\/td><td><\/td><\/tr><tr><td>freight_orders.order.transports_was_finished<\/td><td>Con\u00adfir\u00adma\u00adtion by the car\u00adri\u00ader of unload\u00ading of all trans\u00adports in the order<\/td><td><code>freight_id <\/code>- freight id asso\u00adci\u00adat\u00aded with the order<br><code>freight_reference_number <\/code>- auto\u00admat\u00adi\u00adcal\u00adly assigned busi\u00adness iden\u00adti\u00adfi\u00ader of the freight<br><code>shipment_external_id <\/code>- exter\u00adnal iden\u00adti\u00adfi\u00adca\u00adtion num\u00adber<br><code>status <\/code>- order sta\u00adtus, always here \u201cwait\u00ading-for-con\u00adfir\u00adma\u00adtion\u201d<\/td><\/tr><tr><td>freight_orders.order.vehicle_and_driver_have_changed<\/td><td>Updat\u00ading vehi\u00adcle and dri\u00adver data. <br>Dep\u00adre\u00adcat\u00aded event, replaced by <strong>transports.transport.devices_set_changed<\/strong> event.<\/td><td><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h6 class=\"wp-block-heading\" style=\"font-style:normal;font-weight:700\">List of Transports in realization events received to callback URL<\/h6>\n\n\n\n<figure class=\"wp-block-table has-small-font-size\"><table><tbody><tr><td>Event name<\/td><td>Descrip\u00adtion<\/td><td>Data sec\u00adtion<\/td><\/tr><tr><td>transports.transport.devices_set_changed<\/td><td>Updat\u00ading vehi\u00adcle and dri\u00adver data in a sin\u00adgle trans\u00adport with\u00adin an order<\/td><td><code>carrier_id <\/code>- Con\u00adtrac\u00adtor\u2019s office Id<br><code>carrier_name <\/code>- Con\u00adtrac\u00adtor\u2019s name<br><code>executor_name <\/code>- Dri\u00adver\u2019s name and sur\u00adname<br><code>executor_phone <\/code>- Dri\u00adver\u2019s phone num\u00adber<br><code>freight_id <\/code>- freight id asso\u00adci\u00adat\u00aded with the order<br><code>freight_reference_number <\/code>- auto\u00admat\u00adi\u00adcal\u00adly assigned busi\u00adness iden\u00adti\u00adfi\u00ader of the freight<br><code>order_id <\/code>- Order id<br><code>order_number <\/code>- auto\u00admat\u00adi\u00adcal\u00adly assigned order num\u00adber<br><code>semitrailer_plate_number <\/code>- trail\u00ader plate num\u00adber, if occurs<br><code>shipment_external_id <\/code>- exter\u00adnal iden\u00adti\u00adfi\u00adca\u00adtion num\u00adber<br><code>truck_plate_number <\/code>- truck plate num\u00adber<br><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h6 class=\"wp-block-heading\" style=\"font-style:normal;font-weight:700\">List of Dock Scheduler events received to callback URL<\/h6>\n\n\n\n<figure class=\"wp-block-table has-small-font-size\"><table class=\"has-fixed-layout\"><tbody><tr><td>Event name<\/td><td>Descrip\u00adtion<\/td><td>Data sec\u00adtion<\/td><\/tr><tr><td>time_slot_management.announcement.created<\/td><td>Cre\u00adation of announce\u00adment<\/td><td><\/td><\/tr><tr><td>time_slot_management.announcement.deleted<\/td><td>Dele\u00adtion of announce\u00adment<\/td><td><\/td><\/tr><tr><td>time_slot_management.announcement.updated<\/td><td>Updat\u00ading announce\u00adment data<\/td><td><\/td><\/tr><tr><td>time_slot_management.time_window.created<\/td><td>Cre\u00adat\u00ading a time win\u00addow<\/td><td><\/td><\/tr><tr><td>time_slot_management.time_window.deleted<\/td><td>Delet\u00ading a time win\u00addow<\/td><td><\/td><\/tr><tr><td>time_slot_management.time_window.updated<\/td><td>Updat\u00ading time win\u00addow data<\/td><td><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p class=\"dont-break-out\">Call\u00adback URL is used to auto\u00admat\u00adi\u00adcal\u00adly receive noti\u00adfi\u00adca\u00adtions about events from Trans.eu Plat\u00adform. When a spe\u00adcif\u00adic event occurs, the Trans.eu \u2026<\/p>\n","protected":false},"author":7,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"wp_typography_post_enhancements_disabled":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-4063","post","type-post","status-publish","format-standard","hentry","category-general-information"],"acf":[],"aioseo_notices":[],"lang":"en","translations":{"en":4063},"pll_sync_post":[],"_links":{"self":[{"href":"https:\/\/www.trans.eu\/api\/wp-json\/wp\/v2\/posts\/4063","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.trans.eu\/api\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.trans.eu\/api\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.trans.eu\/api\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/www.trans.eu\/api\/wp-json\/wp\/v2\/comments?post=4063"}],"version-history":[{"count":9,"href":"https:\/\/www.trans.eu\/api\/wp-json\/wp\/v2\/posts\/4063\/revisions"}],"predecessor-version":[{"id":6266,"href":"https:\/\/www.trans.eu\/api\/wp-json\/wp\/v2\/posts\/4063\/revisions\/6266"}],"wp:attachment":[{"href":"https:\/\/www.trans.eu\/api\/wp-json\/wp\/v2\/media?parent=4063"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.trans.eu\/api\/wp-json\/wp\/v2\/categories?post=4063"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.trans.eu\/api\/wp-json\/wp\/v2\/tags?post=4063"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}