{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Integrations","description":"The operational transportation management API. Full access to planning, tracking, invoicing, and integrations — built on the OTM5 open data standard.","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"integrations","__idx":0},"children":["Integrations"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Integrations connect external systems to your Transportial platform. They process data automatically when transport entities change — syncing with your ERP, telematics provider, accounting software, or any external system."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"integration-types","__idx":1},"children":["Integration Types"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"configured-integrations","__idx":2},"children":["Configured Integrations"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Data transformation pipelines with filters and data sources. They process events automatically when transport entities change (e.g., sync a new transport order to your ERP)."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"manual-integrations","__idx":3},"children":["Manual Integrations"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Pre-built connectors for specific platforms — board computers (Transics), payment processors (Stripe), GPS providers (EvoGPS, FleetAccess), and more."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"file-template-integrations","__idx":4},"children":["File Template Integrations"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["File-based data exchange for systems that use EDI, CSV, or XML formats. Upload and download files on a schedule."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"message-automations","__idx":5},"children":["Message Automations"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Automated notifications triggered by transport events — send status updates to customers, alert drivers, or notify your team when exceptions occur."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"api-access-integrations","__idx":6},"children":["API Access Integrations"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Expose API endpoints for external platforms to push or pull data from your Transportial environment."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"creating-an-integration","__idx":7},"children":["Creating an Integration"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"curl -X POST https://api.otms.transportial.com/api/integration \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{\n    \"name\": \"ERP Order Sync\",\n    \"type\": \"configured\",\n    \"description\": \"Sync transport orders to our ERP when status changes\",\n    \"enabled\": true\n  }'\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Response:"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"success\": true,\n  \"message\": \"OK\",\n  \"integration\": {\n    \"id\": \"integration-uuid\",\n    \"name\": \"ERP Order Sync\",\n    \"type\": \"configured\",\n    \"enabled\": true,\n    \"createdAt\": \"2026-03-22T10:00:00Z\"\n  }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"how-integrations-process-data","__idx":8},"children":["How Integrations Process Data"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Integrations use an event-driven queue:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"1. Entity changes (order created, status updated, etc.)\n2. IntegrationObject added to the processing queue\n3. Scheduler picks up (~every 10 seconds)\n4. Filters applied (should this event be processed?)\n5. Data sources transform and route the data\n6. Result: SUCCESS / ERROR / RETRY\n"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"managing-integrations","__idx":9},"children":["Managing Integrations"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"list-integrations","__idx":10},"children":["List Integrations"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"curl -X GET \"https://api.otms.transportial.com/api/integrations/0/20\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\"\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"search-integrations","__idx":11},"children":["Search Integrations"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"curl -X POST \"https://api.otms.transportial.com/api/integrations/0/20\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{\n    \"type\": \"configured\",\n    \"enabled\": true\n  }'\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"update-an-integration","__idx":12},"children":["Update an Integration"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"curl -X PUT https://api.otms.transportial.com/api/integration \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{\n    \"id\": \"integration-uuid\",\n    \"enabled\": false\n  }'\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"delete-an-integration","__idx":13},"children":["Delete an Integration"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"curl -X DELETE \"https://api.otms.transportial.com/api/integration/{id}\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\"\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"authentication-for-integrations","__idx":14},"children":["Authentication for Integrations"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"generate-credentials","__idx":15},"children":["Generate Credentials"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Create OAuth credentials for an integration:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"curl -X POST \"https://api.otms.transportial.com/api/integration/generate/credentials\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{\n    \"integrationId\": \"integration-uuid\"\n  }'\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"set-openid-token","__idx":16},"children":["Set OpenID Token"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Configure OpenID Connect authentication:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"curl -X PUT \"https://api.otms.transportial.com/api/integration/{id}/openId\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{\n    \"token\": \"openid-token-value\"\n  }'\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"importing-data","__idx":17},"children":["Importing Data"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Bulk import data through an integration:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"curl -X POST \"https://api.otms.transportial.com/api/integration/import/data\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{\n    \"integrationId\": \"integration-uuid\",\n    \"data\": [...]\n  }'\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"email-integration","__idx":18},"children":["Email Integration"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Handle incoming emails to create entities automatically:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"curl -X POST \"https://api.otms.transportial.com/api/integration/email\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{\n    \"from\": \"customer@example.com\",\n    \"subject\": \"New transport request\",\n    \"body\": \"Please arrange pickup...\"\n  }'\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"testing-mappings","__idx":19},"children":["Testing Mappings"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Validate your data mappings before deploying:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"# Test data source mapping\ncurl -X POST \"https://api.otms.transportial.com/api/integration/dataSource/mapping:test\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{\n    \"mapping\": { ... },\n    \"testData\": { ... }\n  }'\n\n# Test file template mapping\ncurl -X POST \"https://api.otms.transportial.com/api/integration/fileTemplate/mapping:test\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -d '{\n    \"mapping\": { ... },\n    \"testData\": { ... }\n  }'\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"monitoring","__idx":20},"children":["Monitoring"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"integration-logs","__idx":21},"children":["Integration Logs"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"curl -X GET \"https://api.otms.transportial.com/api/integration/{id}/logs/0/20\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\"\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"processing-queue","__idx":22},"children":["Processing Queue"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"curl -X GET \"https://api.otms.transportial.com/api/integration/{id}/objects/0/20\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\"\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"request-logs","__idx":23},"children":["Request Logs"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"curl -X GET \"https://api.otms.transportial.com/api/integration/{id}/requestLogs/0/20\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\"\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"tasks","__idx":24},"children":["Tasks"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"curl -X GET \"https://api.otms.transportial.com/api/integration/{id}/tasks/0/20\" \\\n  -H \"Authorization: Bearer YOUR_TOKEN\"\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"next-steps","__idx":25},"children":["Next Steps"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Install pre-built integrations from the ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/guides/app-store"},"children":["App Store"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Set up ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/guides/webhooks-and-events"},"children":["webhooks and event notifications"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["See the full ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/apis"},"children":["API Reference"]}," for all integration endpoints"]}]}]},"headings":[{"value":"Integrations","id":"integrations","depth":1},{"value":"Integration Types","id":"integration-types","depth":2},{"value":"Configured Integrations","id":"configured-integrations","depth":3},{"value":"Manual Integrations","id":"manual-integrations","depth":3},{"value":"File Template Integrations","id":"file-template-integrations","depth":3},{"value":"Message Automations","id":"message-automations","depth":3},{"value":"API Access Integrations","id":"api-access-integrations","depth":3},{"value":"Creating an Integration","id":"creating-an-integration","depth":2},{"value":"How Integrations Process Data","id":"how-integrations-process-data","depth":2},{"value":"Managing Integrations","id":"managing-integrations","depth":2},{"value":"List Integrations","id":"list-integrations","depth":3},{"value":"Search Integrations","id":"search-integrations","depth":3},{"value":"Update an Integration","id":"update-an-integration","depth":3},{"value":"Delete an Integration","id":"delete-an-integration","depth":3},{"value":"Authentication for Integrations","id":"authentication-for-integrations","depth":2},{"value":"Generate Credentials","id":"generate-credentials","depth":3},{"value":"Set OpenID Token","id":"set-openid-token","depth":3},{"value":"Importing Data","id":"importing-data","depth":2},{"value":"Email Integration","id":"email-integration","depth":2},{"value":"Testing Mappings","id":"testing-mappings","depth":2},{"value":"Monitoring","id":"monitoring","depth":2},{"value":"Integration Logs","id":"integration-logs","depth":3},{"value":"Processing Queue","id":"processing-queue","depth":3},{"value":"Request Logs","id":"request-logs","depth":3},{"value":"Tasks","id":"tasks","depth":3},{"value":"Next Steps","id":"next-steps","depth":2}],"frontmatter":{"seo":{"title":"Integrations"}},"lastModified":"2026-03-22T20:40:34.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/guides/integrations","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}