Privacy Policy

1. Introduction

This Privacy Policy describes how we collect, use, and protect your personal information when you use our chatbot, which interacts with the Gemini AI API and stores your questions in our database.

2. Information Collected

When using our chatbot, we collect the following types of information:
  • Conversation Information: All messages you send and receive through the chatbot.
  • Identification Data: We may collect data such as IP address and geographic location information.

3. Use of Information

The information collected is used for the following purposes:
  • Interaction with the AI API: Your messages are sent to the Gemini API to generate appropriate responses.
  • Question Storage: Your questions are stored in our database for analysis and service improvement purposes.

4. Information Sharing

We do not share your personal information with third parties, except in the following cases:
  • Service Providers: We may share information with vendors who help us operate our service, such as the Gemini API.
  • Legal Compliance: We may disclose information to comply with legal obligations or respond to legal processes.

5. Information Security

We implement appropriate security measures to protect your information from unauthorized access, alteration, disclosure, or destruction. These measures include:
  • Encryption: Use of encryption to protect data in transit.
  • Restricted Access: Access to information is limited to employees and partners who need this information to operate our service.

6. Your Rights

You have the right to:
  • Access and Correct: Request access to your personal information and correct inaccurate data.
  • Delete Data: Request the deletion of your personal information, subject to certain conditions.
  • Withdraw Consent: Withdraw your consent to the processing of your personal information.

7. Changes to the Privacy Policy

We reserve the right to update this Privacy Policy at any time. We will notify you of any significant changes through our website or other appropriate communication channels.

8. Contact

If you have any questions about this Privacy Policy, please contact us at [email protected]

9. Consent

By using our service, you agree to the collection and use of your information as described in this Privacy Policy. This Privacy Policy has been created to ensure that your personal information is treated with security and respect. We appreciate your trust and are committed to protecting your privacy.
Planning

Error messages – Planning

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:

{
    "logId": "5e8f64f0-0ece-4e26-84c3-7ff889eff092",
    "message": "Validation failed",
    "errors": [
        "sites may not be empty",
        "operations[0].customerSite reference not found",
        "operations[1].customerSite reference not found"
    ]
}

The table below shows the validations applied to each entity and the error message returned:

ParameterValidationsError Messages
sitesnotEmptymay not be empty
depotsnotEmptymay not be empty
operationsnotEmptymay not be empty
vehicleTypesnotEmptymay not be empty
vehiclesnotEmptymay not be empty
productsnotEmptymay not be empty
legislationProfilesnotEmptymay not be empty
logisticConstraintsnotEmptymay not be empty
optimizationProfilenotBlankis mandatory
optimizationProfileinvalid profileoptimizationProfile {name} not found
tripsProfilenotBlankis mandatory
startDatenotNullis mandatory
Validation rules table for main entities

The tables below show the validations applied for each specific entity:

operations
ParameterValidationsError Messages
idnotBlank, uniqueis mandatory, already exists
weightnotNull, notNegativeis mandatory, may not be negative
volumenotNull, notNegativeis mandatory, may not be negative
productnotBlank, validReferenceis mandatory, reference not found
typenotBlank, isContainedInis mandatory, does not have a valid value. Allowed values: [COLLECTION, DELIVERY]
prioritynotNegativemay not be negative
depotSitenotBlank, validReferenceis mandatory, reference not found
customerSitenotBlank, validReferenceis mandatory, reference not found
customerTimeWindowsnotEmptymay not be empty
Validation rules table for the operations parameter
vehicles
ParameterValidationsError Messages
namenotBlank, uniqueis mandatory, already exists
vehicleTypenotBlank, validReferenceis mandatory, reference not found
legislationProfilenotBlank, validReferenceis mandatory, reference not found
availablePeriodsnotEmptymay not be empty
prioritynotNegativemay not be negative
Validation rules table for the vehicles parameter
vehicleTypes
ParameterValidationsError Messages
namenotNull, uniqueis mandatory, already exists
maxWeightnotNull, notNegativeis mandatory, may not be negative
maxVolumenotNull, notNegativeis mandatory, may not be negative
sizenotNegativemay not be negative
maxSitesNumbernotNegativemay not be negative
compartmentsAccessModenotNull, isContainedInis mandatory, does not have a valid value. Allowed values: [ALL_COMPARTMENTS, REAR_ACCESS]
trip.calculationModenotNullis mandatory
trip.toll.vehicleTypenotNullis mandatory
Validation rules table for the vehicleTypes parameter
sites and depots
ParameterValidationsError Messages
namenotBlank, uniqueis mandatory, already exists
coordinatesnotNullis mandatory
coordinates.latitudenotNull, range(-90, 90)is mandatory, must be between -90 and 90
coordinates.longitudenotNull, range(-180, 180)is mandatory, must be between -180 and 180
logisticConstraintsnotBlank, validReferenceis mandatory, reference not found
Validation rules table for the sites and depots parameter
legislationProfile
ParameterValidationsError Messages
namenotBlank, uniqueis mandatory, already exists
maxContinuousDrivingTimegreaterThanZeromust be greater than zero
drivingPauseDurationgreaterThanZeromust be greater than zero
maxContinuousWorkingTimegreaterThanZeromust be greater than zero
workingPauseDurationgreaterThanZeromust be greater than zero
Validation rules table for the legislationProfile parameter
callback
ParameterValidationsError Messages
urlnotNullis mandatory
urlInvalid urldoes not have a valid value. Example of allowed values: http://www.foo.br, https://www.foo.br, http://www.foo.br/bar
Validation rules table for the callback parameter

The validations below apply to the time windows described in the parameters vehicles[n].availablePeriodsoperations[n].customerTimeWindows and operations[n].depotTimeWindows:

timeWindow
ParameterValidationsError Messages
startnotNullis mandatory
endnotNullis mandatory
start, endstart < endmust have the start less than to the end
start, endstart != endmust not start the same as the end
endend < startDatemust have at least one timeWindow with end after problem’s startDate
Table of validation rules for parameters related to the time window.

Processing errors

The following error messages may be returned when querying the request processing status through the endpoints https://api.maplink.global/planning/v1/events?jobId={{planningId}} and https://api.maplink.global/planning/v1/jobs/{{planningId}}.

The error message follows the following structure:

{
        "id": "688d267a74be5d22a1ac9002",
        "jobId": "688d26787766ef668397ff50",
        "type": "ERROR",
        "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])]'}]}",
        "createdAt": 1754080890262
    }

The event returns with the type equal to ERROR and the following messages can be returned in description:

Error MessageCause
{‘logId’:’{{logId}}‘,’errors’:
[{‘code’:’TECHNICAL_ERROR’,’description’:’Not possible to create route between sites {{siteId}} and {{siteId}}‘}]}
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.
Error in process MRS: Cannot find point {{latitude}},{{longitude}}The location of the provided coordinates could not be found. It could be that some coordinates are invalid, falling into the ocean, for example.
Table of processing error messages

Example of a route with an error message:

[
    {
        "id": "688d29735e59ee6e88b67adb",
        "jobId": "688d29737766ef668397ff52",
        "type": "STATUS_CHANGE",
        "description": "ENQUEUED",
        "createdAt": 1754081651310
    },
    {
        "id": "688d297374be5d22a1ac900b",
        "jobId": "688d29737766ef668397ff52",
        "type": "STATUS_CHANGE",
        "description": "CONVERT_TO_MATRIX",
        "createdAt": 1754081651314
    },
    {
        "id": "688d29735e59ee6e88b67adc",
        "jobId": "688d29737766ef668397ff52",
        "type": "PERCENT_CHANGE",
        "description": "1",
        "createdAt": 1754081651317
    },
    {
        "id": "688d297308fc0e441d9e9d23",
        "jobId": "688d29737766ef668397ff52",
        "type": "STATUS_CHANGE",
        "description": "PROCESSING",
        "createdAt": 1754081651339
    },
    {
        "id": "688d29745e59ee6e88b67add",
        "jobId": "688d29737766ef668397ff52",
        "type": "ERROR",
        "description": "{'logId':'e687f91b-e4ce-4cbf-b6c5-8e304e281617','errors':[{'code':'TECHNICAL_ERROR','description':Not possible to create route between sites OP-1 and OP-2'}]},
        "createdAt": 1754081652037
    }
]