{"id":2488,"date":"2026-04-12T13:29:00","date_gmt":"2026-04-12T13:29:00","guid":{"rendered":"https:\/\/developers.maplink.global\/error-messages-planning\/"},"modified":"2025-08-05T13:41:01","modified_gmt":"2025-08-05T13:41:01","slug":"error-messages-planning","status":"publish","type":"post","link":"https:\/\/developers.maplink.global\/en\/error-messages-planning\/","title":{"rendered":"Error messages &#8211; Planning"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Validation Errors<\/h2>\n\n\n\n<p>The following error messages may be returned due to omitted or incorrectly entered parameters. The error code returned by the API will be <code>400 (Bad Request)<\/code>, and the returned JSON will have the following structure:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"json\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">{\n    \"logId\": \"5e8f64f0-0ece-4e26-84c3-7ff889eff092\",\n    \"message\": \"Validation failed\",\n    \"errors\": [\n        \"sites may not be empty\",\n        \"operations[0].customerSite reference not found\",\n        \"operations[1].customerSite reference not found\"\n    ]\n}<\/pre>\n\n\n\n<p>The table below shows the validations applied to each entity and the error message returned:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong><strong><strong><strong>Parameter<\/strong><\/strong><\/strong><\/strong><\/td><td><strong>Validations<\/strong><\/td><td><strong>Error Messages<\/strong><\/td><\/tr><tr><td>sites<\/td><td>notEmpty<\/td><td>may not be empty<\/td><\/tr><tr><td>depots<\/td><td>notEmpty<\/td><td>may not be empty<\/td><\/tr><tr><td>operations<\/td><td>notEmpty<\/td><td>may not be empty<\/td><\/tr><tr><td>vehicleTypes<\/td><td>notEmpty<\/td><td>may not be empty<\/td><\/tr><tr><td>vehicles<\/td><td>notEmpty<\/td><td>may not be empty<\/td><\/tr><tr><td>products<\/td><td>notEmpty<\/td><td>may not be empty<\/td><\/tr><tr><td>legislationProfiles<\/td><td>notEmpty<\/td><td>may not be empty<\/td><\/tr><tr><td>logisticConstraints<\/td><td>notEmpty<\/td><td>may not be empty<\/td><\/tr><tr><td>optimizationProfile<\/td><td>notBlank<\/td><td>is mandatory<\/td><\/tr><tr><td>optimizationProfile<\/td><td>invalid profile<\/td><td>optimizationProfile {name} not found<\/td><\/tr><tr><td>tripsProfile<\/td><td>notBlank<\/td><td>is mandatory<\/td><\/tr><tr><td>startDate<\/td><td>notNull<\/td><td>is mandatory<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">Validation rules table for main entities<\/figcaption><\/figure>\n\n\n\n<p>The tables below show the validations applied for each specific entity:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td colspan=\"3\"><strong>operations<\/strong><\/td><\/tr><tr><td><strong><strong><strong><strong><strong>Parameter<\/strong><\/strong><\/strong><\/strong><\/strong><\/td><td><strong>Validations<\/strong><\/td><td><strong>Error Messages<\/strong><\/td><\/tr><tr><td>id<\/td><td>notBlank, unique<\/td><td>is mandatory, already exists<\/td><\/tr><tr><td>weight<\/td><td>notNull, notNegative<\/td><td>is mandatory, may not be negative<\/td><\/tr><tr><td>volume<\/td><td>notNull, notNegative<\/td><td>is mandatory, may not be negative<\/td><\/tr><tr><td>product<\/td><td>notBlank, validReference<\/td><td>is mandatory, reference not found<\/td><\/tr><tr><td>type<\/td><td>notBlank, isContainedIn<\/td><td>is mandatory, does not have a valid value. Allowed values: [COLLECTION, DELIVERY]<\/td><\/tr><tr><td>priority<\/td><td>notNegative<\/td><td>may not be negative<\/td><\/tr><tr><td>depotSite<\/td><td>notBlank, validReference<\/td><td>is mandatory, reference not found<\/td><\/tr><tr><td>customerSite<\/td><td>notBlank, validReference<\/td><td>is mandatory, reference not found<\/td><\/tr><tr><td>customerTimeWindows<\/td><td>notEmpty<\/td><td>may not be empty<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">Validation rules table for the operations parameter<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td colspan=\"3\"><strong>vehicles<\/strong><\/td><\/tr><tr><td><strong><strong><strong><strong><strong>Parameter<\/strong><\/strong><\/strong><\/strong><\/strong><\/td><td><strong>Validations<\/strong><\/td><td><strong>Error Messages<\/strong><\/td><\/tr><tr><td>name<\/td><td>notBlank, unique<\/td><td>is mandatory, already exists<\/td><\/tr><tr><td>vehicleType<\/td><td>notBlank, validReference<\/td><td>is mandatory, reference not found<\/td><\/tr><tr><td>legislationProfile<\/td><td>notBlank, validReference<\/td><td>is mandatory, reference not found<\/td><\/tr><tr><td>availablePeriods<\/td><td>notEmpty<\/td><td>may not be empty<\/td><\/tr><tr><td>priority<\/td><td>notNegative<\/td><td>may not be negative<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">Validation rules table for the vehicles parameter<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td colspan=\"3\"><strong>vehicleTypes<\/strong><\/td><\/tr><tr><td><strong><strong><strong><strong><strong>Parameter<\/strong><\/strong><\/strong><\/strong><\/strong><\/td><td><strong>Validations<\/strong><\/td><td><strong>Error Messages<\/strong><\/td><\/tr><tr><td>name<\/td><td>notNull, unique<\/td><td>is mandatory, already exists<\/td><\/tr><tr><td>maxWeight<\/td><td>notNull, notNegative<\/td><td>is mandatory, may not be negative<\/td><\/tr><tr><td>maxVolume<\/td><td>notNull, notNegative<\/td><td>is mandatory, may not be negative<\/td><\/tr><tr><td>size<\/td><td>notNegative<\/td><td>may not be negative<\/td><\/tr><tr><td>maxSitesNumber<\/td><td>notNegative<\/td><td>may not be negative<\/td><\/tr><tr><td>compartmentsAccessMode<\/td><td>notNull, isContainedIn<\/td><td>is mandatory, does not have a valid value. Allowed values: [ALL_COMPARTMENTS, REAR_ACCESS]<\/td><\/tr><tr><td>trip.calculationMode<\/td><td>notNull<\/td><td>is mandatory<\/td><\/tr><tr><td>trip.toll.vehicleType<\/td><td>notNull<\/td><td>is mandatory<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">Validation rules table for the vehicleTypes parameter<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td colspan=\"3\"><strong>sites<\/strong>&nbsp;and&nbsp;<strong>depots<\/strong><\/td><\/tr><tr><td><strong><strong><strong><strong><strong>Parameter<\/strong><\/strong><\/strong><\/strong><\/strong><\/td><td><strong>Validations<\/strong><\/td><td><strong>Error Messages<\/strong><\/td><\/tr><tr><td>name<\/td><td>notBlank, unique<\/td><td>is mandatory, already exists<\/td><\/tr><tr><td>coordinates<\/td><td>notNull<\/td><td>is mandatory<\/td><\/tr><tr><td>coordinates.latitude<\/td><td>notNull, range(-90, 90)<\/td><td>is mandatory, must be between -90 and 90<\/td><\/tr><tr><td>coordinates.longitude<\/td><td>notNull, range(-180, 180)<\/td><td>is mandatory, must be between -180 and 180<\/td><\/tr><tr><td>logisticConstraints<\/td><td>notBlank, validReference<\/td><td>is mandatory, reference not found<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">Validation rules table for the sites and depots parameter<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td colspan=\"3\"><strong>legislationProfile<\/strong><\/td><\/tr><tr><td><strong><strong><strong><strong><strong>Parameter<\/strong><\/strong><\/strong><\/strong><\/strong><\/td><td><strong>Validations<\/strong><\/td><td><strong>Error Messages<\/strong><\/td><\/tr><tr><td>name<\/td><td>notBlank, unique<\/td><td>is mandatory, already exists<\/td><\/tr><tr><td>maxContinuousDrivingTime<\/td><td>greaterThanZero<\/td><td>must be greater than zero<\/td><\/tr><tr><td>drivingPauseDuration<\/td><td>greaterThanZero<\/td><td>must be greater than zero<\/td><\/tr><tr><td>maxContinuousWorkingTime<\/td><td>greaterThanZero<\/td><td>must be greater than zero<\/td><\/tr><tr><td>workingPauseDuration<\/td><td>greaterThanZero<\/td><td>must be greater than zero<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">Validation rules table for the legislationProfile parameter<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td colspan=\"3\"><strong>callback<\/strong><\/td><\/tr><tr><td><strong><strong><strong><strong><strong>Parameter<\/strong><\/strong><\/strong><\/strong><\/strong><\/td><td><strong>Validations<\/strong><\/td><td><strong>Error Messages<\/strong><\/td><\/tr><tr><td>url<\/td><td>notNull<\/td><td>is mandatory<\/td><\/tr><tr><td>url<\/td><td>Invalid url<\/td><td>does not have a valid value. Example of allowed values: http:\/\/www.foo.br, https:\/\/www.foo.br, http:\/\/www.foo.br\/bar<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">Validation rules table for the callback parameter<\/figcaption><\/figure>\n\n\n\n<p>The validations below apply to the time windows described in the parameters&nbsp;<code>vehicles[n].availablePeriods<\/code>,&nbsp;<code>operations[n].customerTimeWindows<\/code>&nbsp;and&nbsp;<code>operations[n].depotTimeWindows<\/code>:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td colspan=\"3\"><strong>timeWindow<\/strong><\/td><\/tr><tr><td><strong><strong><strong><strong><strong>Parameter<\/strong><\/strong><\/strong><\/strong><\/strong><\/td><td><strong>Validations<\/strong><\/td><td><strong>Error Messages<\/strong><\/td><\/tr><tr><td>start<\/td><td>notNull<\/td><td>is mandatory<\/td><\/tr><tr><td>end<\/td><td>notNull<\/td><td>is mandatory<\/td><\/tr><tr><td>start, end<\/td><td>start &lt; end<\/td><td>must have the start less than to the end<\/td><\/tr><tr><td>start, end<\/td><td>start != end<\/td><td>must not start the same as the end<\/td><\/tr><tr><td>end<\/td><td>end &lt; startDate<\/td><td>must have at least one timeWindow with end after problem\u2019s startDate<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">Table of validation rules for parameters related to the time window.<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Processing errors<\/h2>\n\n\n\n<p>The following error messages may be returned when querying the request processing status through the endpoints&nbsp;<a href=\"https:\/\/api.maplink.global\/planning\/v1\/events?jobId={{planningId}}\">https:\/\/api.maplink.global\/planning\/v1\/events?jobId={{planningId}}<\/a>&nbsp;and&nbsp;<a href=\"https:\/\/api.maplink.global\/planning\/v1\/jobs\/%7B%7BplanningId%7D%7D\">https:\/\/api.maplink.global\/planning\/v1\/jobs\/{{planningId}}<\/a>.<\/p>\n\n\n\n<p>The error message follows the following structure:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"json\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">{\n        \"id\": \"688d267a74be5d22a1ac9002\",\n        \"jobId\": \"688d26787766ef668397ff50\",\n        \"type\": \"ERROR\",\n        \"description\": \"{'logId':'db496388-c45a-4902-af42-0971578cbb38','errors':[{'code':'TECHNICAL_ERROR','description':'global.maplink.matrixinprocessor.exception.ProcessException: [ProcessError(code=INVALID_SITE_POSITION, description=Some sites have not been positionned, detail=[Cliente1])]'}]}\",\n        \"createdAt\": 1754080890262\n    }<\/pre>\n\n\n\n<p>The event returns with the <code>type<\/code> equal to <code>ERROR<\/code> and the following messages can be returned in <code>description<\/code>:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Error Message<\/strong><\/td><td><strong>Cause<\/strong><\/td><\/tr><tr><td>{\u2018logId\u2019:\u2019<strong>{{logId}}<\/strong>\u2018,\u2019errors\u2019:<br>[{\u2018code\u2019:\u2019TECHNICAL_ERROR\u2019,\u2019description\u2019:\u2019Not possible to create route between sites&nbsp;<strong>{{siteId}}<\/strong>&nbsp;and&nbsp;<strong>{{siteId}}<\/strong>\u2018}]}<\/td><td>No path could be found between the two points. The point may be misplaced or there may be no path at all, such as a point on a dead-end, one-way street.<\/td><\/tr><tr><td>Error in process MRS: Cannot find point&nbsp;<strong>{{latitude}}<\/strong>,<strong>{{longitude}}<\/strong><\/td><td>The location of the provided coordinates could not be found. It could be that some coordinates are invalid, falling into the ocean, for example.<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">Table of processing error messages<\/figcaption><\/figure>\n\n\n\n<p>Example of a route with an error message:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"json\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">[\n    {\n        \"id\": \"688d29735e59ee6e88b67adb\",\n        \"jobId\": \"688d29737766ef668397ff52\",\n        \"type\": \"STATUS_CHANGE\",\n        \"description\": \"ENQUEUED\",\n        \"createdAt\": 1754081651310\n    },\n    {\n        \"id\": \"688d297374be5d22a1ac900b\",\n        \"jobId\": \"688d29737766ef668397ff52\",\n        \"type\": \"STATUS_CHANGE\",\n        \"description\": \"CONVERT_TO_MATRIX\",\n        \"createdAt\": 1754081651314\n    },\n    {\n        \"id\": \"688d29735e59ee6e88b67adc\",\n        \"jobId\": \"688d29737766ef668397ff52\",\n        \"type\": \"PERCENT_CHANGE\",\n        \"description\": \"1\",\n        \"createdAt\": 1754081651317\n    },\n    {\n        \"id\": \"688d297308fc0e441d9e9d23\",\n        \"jobId\": \"688d29737766ef668397ff52\",\n        \"type\": \"STATUS_CHANGE\",\n        \"description\": \"PROCESSING\",\n        \"createdAt\": 1754081651339\n    },\n    {\n        \"id\": \"688d29745e59ee6e88b67add\",\n        \"jobId\": \"688d29737766ef668397ff52\",\n        \"type\": \"ERROR\",\n        \"description\": \"{'logId':'e687f91b-e4ce-4cbf-b6c5-8e304e281617','errors':[{'code':'TECHNICAL_ERROR','description':Not possible to create route between sites OP-1 and OP-2'}]},\n        \"createdAt\": 1754081652037\n    }\n]<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Validation Errors The following error messages may be returned due to omitted or incorrectly entered parameters. The error code returned by the API will be 400 (Bad Request), and the returned JSON will have the following structure: The table below shows the validations applied to each entity and the error message returned: Parameter Validations Error [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[160],"tags":[],"class_list":["post-2488","post","type-post","status-publish","format-standard","hentry","category-planning-en"],"acf":[],"_links":{"self":[{"href":"https:\/\/developers.maplink.global\/en\/wp-json\/wp\/v2\/posts\/2488","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/developers.maplink.global\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/developers.maplink.global\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/developers.maplink.global\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/developers.maplink.global\/en\/wp-json\/wp\/v2\/comments?post=2488"}],"version-history":[{"count":3,"href":"https:\/\/developers.maplink.global\/en\/wp-json\/wp\/v2\/posts\/2488\/revisions"}],"predecessor-version":[{"id":3524,"href":"https:\/\/developers.maplink.global\/en\/wp-json\/wp\/v2\/posts\/2488\/revisions\/3524"}],"wp:attachment":[{"href":"https:\/\/developers.maplink.global\/en\/wp-json\/wp\/v2\/media?parent=2488"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/developers.maplink.global\/en\/wp-json\/wp\/v2\/categories?post=2488"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/developers.maplink.global\/en\/wp-json\/wp\/v2\/tags?post=2488"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}