Wizara

Primary Checklist: Troubleshooting 404 Errors in TruckMate MasterData API

For WebMTI Clients Only:

  1. Service Restart
    • Stop and Restart the Service: Before delving deeper, stop and restart the service that hosts the API. This action can resolve issues due to service crashes, memory leaks, or an unresponsive state.
  2. URL and Endpoint Verification
    • Correct URL: Ensure the URL is accurate, with no typos or incorrect paths (e.g., /masterData/clients).
    • API Base URL: Confirm that the base URL (e.g., https://[clientcode]rayform.webmti.com) is correct and specific to the environment (e.g., staging vs. production).
    • Case Sensitivity: Double-check that the URL respects case sensitivity, as it can differ between environments.
  3. Network Configuration
    • Firewall Rules: Verify that outbound traffic on port 443 (HTTPS) is allowed, and ensure no firewalls or network security devices are blocking it.
    • DNS Resolution: Ensure that the domain ([clientcode]rayform.webmti.com) resolves correctly to the intended IP address.
  4. API Configuration
    • Endpoint Accessibility: Test the API endpoint directly via a browser or Postman to confirm its accessibility outside of your application.
    • Authentication Requirements: Ensure that any necessary authentication tokens or headers are included in the request.
  5. Application/Server Configuration
    • Server Status: Verify that the server hosting the API is running and all related services are operational.
    • API Gateway Configuration: Ensure that the API gateway is correctly routing the request to the appropriate service.
  6. Reference the Self-Test Script
    • Run Self-Test: Utilize the self-test script provided at https://truckmate-app.wizara.com/customer-environments/[client]/api/test (replace [client] with the specific client name assigned to your business unit) to quickly verify if all critical endpoints, including the MasterData API, are functioning properly. If the test indicates an error, follow the above steps to troubleshoot.
    {
      "result": {
        "data": {
          "results": [
            {
              "name": "TMOrderApi",
              "status": "ok",
              "message": "Successfully fetched orders API"
            },
            {
              "name": "EmailTransport",
              "status": "ok",
              "message": "Email sent successfully"
            },
            {
              "name": "AsyncZonesRepository",
              "status": "ok",
              "message": "Getter returned successfully"
            },
            {
              "name": "AsyncClientsRepository",
              "status": "ok",
              "message": "Getter returned successfully"
            },
            {
              "name": "Orders API Endpoint",
              "status": "ok",
              "message": "Successfully fetched https://xyzrayform.webmti.com/tm/orders"
            },
            {
              "name": "Clients API Endpoint",
              "status": "ok",
              "message": "Successfully fetched https://xyzrayform.webmti.com/masterData/clients"
            },
            {
              "name": "Zones API Endpoint",
              "status": "ok",
              "message": "Successfully fetched https://xyzrayform.webmti.com/tm/zones"
            }
          ],
          "success": true
        }
      }
    }

Less Likely Possibilities (If Primary Checklist Fails)

  1. SSL/TLS Certificates
    • Verify there are no SSL/TLS certificate issues preventing secure communication with the API.
  2. API Rate Limiting
    • Check if there are any rate limits imposed on the API that could be rejecting your requests.
  3. Caching Issues
    • Investigate if a caching mechanism (e.g., CDN, local cache) might be serving outdated or incorrect responses.
  4. Disabled or Deprecated Endpoints
    • Ensure that the endpoint hasn't been deprecated or disabled in the API configuration.

Last Updated: Aug 14, 2024