{"info":{"_postman_id":"6621753b-0995-4e5c-9972-5b217f3cf32b","name":"Bourque Web Services Interface","description":"<html><head></head><body><p>The Bourque Web Services Interface serves as a centralized gateway, enabling our clients' systems to seamlessly retrieve and submit data from the Bourque Logistics system. This documentation outlines the key processes required for utilizing our Web Services Interface effectively.</p>\n<p><strong>Authentication Token</strong><br>To retrieve data from our Web Service, you first need to obtain a token and then make API calls to either one of the 2 versions of the API available:</p>\n<p><strong>Version One (V1) -</strong> This version requires two endpoint calls to retrieve data.</p>\n<ol>\n<li><strong>Send the Request:</strong> Send your data request specified in the post body.</li>\n<li><strong>Check the Result:</strong> Review and process the result data of the request sent previously.</li>\n</ol>\n<p><strong>Version Two (V2) -</strong> This version is optimized for small data sets.</p>\n<ul>\n<li><strong>Single API Call</strong> to get the result data.</li>\n</ul>\n<p>Both versions can return a request ID for tracking purposes. V1 is best suited for long-running processes, while V2 is more suitable for small data sets.</p>\n<p>While the APIs listed here provide a foundation for integration, we offer additional APIs tailored to meet your specific needs. If you require access to data from any of our applications, please reach out to our support team. They will provide you with detailed information about our APIs and work with you to customize the data retrieval process to suit your requirements.</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"23759202","collectionId":"6621753b-0995-4e5c-9972-5b217f3cf32b","publishedId":"2s9YC7SBNb","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"005c92"},"publishDate":"2023-09-20T20:55:56.000Z"},"item":[{"name":"Authentication Token","item":[{"name":"token","id":"dd5e09ef-64d5-476d-9dfb-15258457e280","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[],"body":{"mode":"urlencoded","urlencoded":[{"key":"grant_type","value":"client_credentials","type":"text"},{"key":"client_id","value":"webservices-sproc-gw-v1","type":"text","description":"<p>This will be assgined to you.</p>\n"},{"key":"client_secret","value":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx","type":"text","description":"<p>This will be assgined to you.</p>\n"},{"key":"scope","value":"xx-xxxxx-xxxx-xx, xxxx-xx-xxxxxx-xx","type":"text"}]},"url":"https://auth.test.railcl.com/connect/token","description":"<p>To establish a connection with BDSGateway, you must request a Bearer Token from the Bourque Single Sign-On application token endpoint. You will receive a response with the following body structure:<br />{<br />\"access_token\": \"xxxxxxxx-xxxxxxxx-xxxxxxxx\",<br />\"expires_in\": 3600,<br />\"token_type\": \"Bearer\",<br />\"scope\": \"bds-stored-procedure-gw\"<br />}</p>\n<p>The \"access_token\" property will hold the Bearer Token you've requested, which remains valid for one hour. It's essential to include this Bearer Token in the Authentication Header for all subsequent requests.</p>\n","urlObject":{"protocol":"https","path":["connect","token"],"host":["auth","test","railcl","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"dd5e09ef-64d5-476d-9dfb-15258457e280"}],"id":"e584b4dc-e877-47ec-ba11-7328c9847abf","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"id":"3bfbc9c1-d72f-462d-a308-8b1d21106370","type":"text/javascript","packages":{},"exec":[""]}},{"listen":"test","script":{"id":"68b5fe53-38d3-4b32-b32d-5df1f47e9203","type":"text/javascript","packages":{},"exec":[""]}}],"_postman_id":"e584b4dc-e877-47ec-ba11-7328c9847abf","description":""},{"name":"Version One (V1)","item":[{"name":"SubmitRequestV1","id":"bfc83c46-293b-4fd3-976d-05165b84fd31","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"accessTokenUrl","value":"<access-token-url>"},{"key":"tokenName","value":"<token-name>"},{"key":"clientSecret","value":"<client-secret>"},{"key":"clientId","value":"<client-id>"},{"key":"tokenType","value":"<token-type>"},{"key":"grant_type","value":"<grant_type>"},{"key":"client_authentication","value":"<client_authentication>"}]},"isInherited":false},"method":"POST","header":[{"key":"ApiKey","value":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx","type":"text","description":"<p>This will be assgined to you.</p>\n"},{"key":"Content-Type","value":"application/json","type":"text"},{"key":"CustomerNumber","value":"ABC-COMPANY","type":"text","description":"<p>Your customer number you have for all BDS Applications.</p>\n"},{"key":"UserName","value":"api_user","type":"text","description":"<p>The UserID you use to login to BDS Applications.</p>\n"}],"body":{"mode":"raw","raw":"{\r\n\"requestedAction\": \"HELLO WORLD\",\r\n\"data\": \"{\\\"message\\\": \\\"This is a test\\\"}\"\r\n}"},"url":"https://bds-api.railcl.com/api/BDSGateway/SubmitRequestV1","description":"<p>Please submit your request to this entry point in order to enqueue it for processing.</p>\n<p><strong>Responses:</strong></p>\n<ul>\n<li>200: Upon successful submission, you will receive a StoredProcedureServiceResult that includes the RequestID. This <strong>RequestID</strong> should be used when calling the GetRequestStatus entry point. Additionally, this response will contain a Message field with any supplementary information regarding the request.</li>\n<li>400: In case of a Bad Request, you will receive a Bad Request Response that includes a Message clarifying the nature of the issue with the request.</li>\n</ul>\n<p><strong>Data Model</strong></p>\n<p>StoredProcedureServiceResult<br />{<br />bool IsProcessed,<br />string Message,<br />int <strong>RequestID</strong>,<br />string Status<br />}</p>\n","urlObject":{"protocol":"https","path":["api","BDSGateway","SubmitRequestV1"],"host":["bds-api","railcl","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"bfc83c46-293b-4fd3-976d-05165b84fd31"},{"name":"GetRequestStatus","id":"6c090388-417a-4ebf-81e0-cda9315a74e7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"accessTokenUrl","value":"<access-token-url>"},{"key":"tokenName","value":"<token-name>"},{"key":"clientSecret","value":"<client-secret>"},{"key":"clientId","value":"<client-id>"},{"key":"tokenType","value":"<token-type>"},{"key":"grant_type","value":"<grant_type>"},{"key":"client_authentication","value":"<client_authentication>"}]},"isInherited":false},"method":"GET","header":[{"key":"ApiKey","value":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx","type":"text","description":"<p>This will be assgined to you.</p>\n"},{"key":"Content-Type","value":"application/json","type":"text"},{"key":"CustomerNumber","value":"ABC-COMPANY","type":"text","description":"<p>Your customer number you have for all BDS Applications.</p>\n"},{"key":"UserName","value":"api_user","type":"text","description":"<p>The UserID you use to login to BDS Applications.</p>\n"}],"url":"https://bds-api.railcl.com/api/BDSGateway/GetRequestStatus?requestID=123","description":"<p>After submitting a request via the SubmitRequest entry point, you can retrieve the status of your request by querying this entry point using the provided RequestID.</p>\n<p><strong>Responses:</strong></p>\n<ul>\n<li>200: Upon a successful request, you will receive a StatusResponseModel object that includes a Status and a Message detailing the status of your request. If the request has been completed, the Data field will contain a JSON encoded string with your data.</li>\n<li>400: In the event of a Bad Request, you will receive a Bad Request Response with a Message that provides an explanation of the nature of the error in the request.</li>\n</ul>\n<p><strong>Data Model:</strong></p>\n<p>StatusResponseModel<br />{<br />int <strong>RequestID</strong>,<br />string Message,<br />string Status,<br />string Data<br />}</p>\n","urlObject":{"protocol":"https","path":["api","BDSGateway","GetRequestStatus"],"host":["bds-api","railcl","com"],"query":[{"key":"requestID","value":"123"}],"variable":[]}},"response":[],"_postman_id":"6c090388-417a-4ebf-81e0-cda9315a74e7"}],"id":"7db4717e-04ce-4ba6-8178-789f86fc565a","description":"<p>To retrieve data using V1, you first need to call the SubmitRequestV1 endpoint to obtain a request ID. Next step is to call the GetRequestStatus endpoint to check the status of your request and retrieve the data once it's available.</p>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"id":"259a160d-c434-4a8a-85fc-1baa959cb099","type":"text/javascript","packages":{},"exec":[""]}},{"listen":"test","script":{"id":"4aeab23b-2fae-4362-bbbe-d7f05a168e84","type":"text/javascript","packages":{},"exec":[""]}}],"_postman_id":"7db4717e-04ce-4ba6-8178-789f86fc565a"},{"name":"Version Two (V2)","item":[{"name":"Hello World","event":[{"listen":"prerequest","script":{"id":"0a33fbf3-200b-4349-8053-8bf7ea0960ca","exec":[""],"type":"text/javascript","packages":{}}}],"id":"93867007-94b9-4649-aed3-df948c1137be","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"UserName","value":"api_user","type":"text"},{"key":"ApiKey","value":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"message\": \"This is Test call to the Hello World API\"\r\n}"},"url":"https://bds-api.railcl.com/api/v2/customers/ABC-COMPANY/actions/hello world","description":"<p>This API endpoint allows you to send a POST request to trigger a \"hello world\" action for a specific customer. The request should be sent to {{SPApiGatewayUrl}}/api/v2/customers/YMOL_TEST/actions/hello world.</p>\n<h3 id=\"request-body\">Request Body</h3>\n<p>The request should include a JSON payload in the raw request body type with the following parameter:</p>\n<ul>\n<li><code>message</code> (string, optional): A message to be included in the action.</li>\n</ul>\n<h3 id=\"response\">Response</h3>\n<p>In case of a successful execution, the API responds with a status code of 405 and a Content-Type of application/problem+json. The response body contains the following parameters:</p>\n<ul>\n<li><code>type</code> (string): The type of the problem encountered.</li>\n<li><code>title</code> (string): A title describing the problem.</li>\n<li><code>status</code> (number): The status code of the response.</li>\n<li><code>traceId</code> (string): A unique identifier for tracing the request.</li>\n</ul>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"9a71d3b2-ac84-47cf-bb5a-c6ec5b28a209","id":"9a71d3b2-ac84-47cf-bb5a-c6ec5b28a209","name":"Version Two (V2)","type":"folder"}},"urlObject":{"protocol":"https","path":["api","v2","customers","ABC-COMPANY","actions","hello world"],"host":["bds-api","railcl","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"93867007-94b9-4649-aed3-df948c1137be"}],"id":"9a71d3b2-ac84-47cf-bb5a-c6ec5b28a209","description":"<p>Version Two (V2) is a synchronous API that delivers data quickly in the response body. However, a timeout error will occur if the backend takes longer than 3 minutes to process the data.</p>\n<p>Each API in V2 has a unique endpoint. Additionally, you need to include the customer number as part of the endpoint.</p>\n<p>To receive metadata about the requestID from the backend server, include the <code>?dataonly=false</code> parameter in your GET request.</p>\n<p>Furthermore, it is essential to include the <code>UserName</code> header value in your request.</p>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"id":"e787d93e-6aff-4cf2-9617-6411adcfe7c5","type":"text/javascript","packages":{},"exec":[""]}},{"listen":"test","script":{"id":"7832aa31-c9bb-4bab-b054-51130495ab7b","type":"text/javascript","packages":{},"exec":[""]}}],"_postman_id":"9a71d3b2-ac84-47cf-bb5a-c6ec5b28a209"}],"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"clientSecret","value":"<client-secret>"},{"key":"clientId","value":"<client-id>"},{"key":"tokenName","value":"<token-name>"},{"key":"scope","value":"<scope>"},{"key":"accessTokenUrl","value":"<access-token-url>"},{"key":"grant_type","value":"<grant_type>"}]}},"event":[{"listen":"prerequest","script":{"id":"90ca244e-edd9-4793-8b3f-924f84d934eb","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"bdda0b2f-1e29-4c82-acf6-c88b9c7e7f74","type":"text/javascript","exec":[""]}}]}