This article catalogs the Microsoft Dynamics NAV OData endpoints the integration calls, grouped by entity. It is a reference for firewall whitelisting, troubleshooting, and determining whether the integration is affected when a NAV endpoint changes.
API Endpoints Intro
The integration calls Microsoft Dynamics NAV through its OData web services. The base URL is built from your NAV host, server instance/environment, and company name:
https://{nav-host}:{port}/{Environment}/OData/Company('{Company Name}')Example base URL: https://your-nav-host:7048/DynamicsNAV/OData/Company('Example%20Company'). In the endpoint patterns below, [Base URL] stands for this prefix. The company name is URL-encoded in the path (spaces become %20). The exact host, port, environment, and company come from your subscription settings (see the Connections and Settings article).
Table of Contents
Customer Endpoints
Product Endpoints
Location Endpoints
Shipping Endpoints
Sales Order & Order Tracking Endpoints
Invoice Endpoints
Authentication
Customer Endpoints
Get a Customer by Id (GET)
[Base URL]/Customers('{id}')Get a Customer by Number (GET)
[Base URL]/Customers?$filter=No eq '{customer_no}'Get a Customer by Email (GET)
[Base URL]/Customers?$filter=E_Mail eq '{customer_email}'Create a Customer (POST)
[Base URL]/Customers
Update a Customer (PATCH)
[Base URL]/Customers('{No}')Companies are written as customer records and use the same Customers endpoints.
Product Endpoints
Get a Product by Number/SKU (GET)
[Base URL]/Items?$filter=No eq '{sku}'Get a Product by Id (GET)
[Base URL]/Items('{id}')Get all Products (GET)
[Base URL]/Items?$top={limit}&$skip={page * limit}Get Products for Polling (GET)
[Base URL]/Items?$top={limit}&$skip={page * limit}&$filter=Last_Date_Modified ge DateTime'{utcTimeString}'Create a Product (POST)
[Base URL]/Items
Update a Product (PATCH)
[Base URL]/Items('{No}')Delete a Product (DELETE)
[Base URL]/Items/{id}Product variants are written as flat items and use the same Items endpoints.
Location Endpoints
Get a Location by Id (GET)
[Base URL]/Locations('{id}')Get all Locations (GET)
[Base URL]/Locations?$top={limit}&$skip={page * limit}Shipping Endpoints
Get a Shipping Method by Id (GET)
[Base URL]/ShippingAgents('{id}')Get all Shipping Methods (GET)
[Base URL]/ShippingAgents?$top={limit}&$skip={page * limit}Sales Order & Order Tracking Endpoints
Get a Sales Order by Id (GET)
[Base URL]/SalesOrders(Document_Type='Order',No='{salesOrderNo}')Create a Sales Order (POST)
[Base URL]/SalesOrders
Update a Sales Order (PATCH)
[Base URL]/SalesOrders(No='{salesOrderNo}',Document_Type='Order')Get Sales Orders by Modified Date for Polling (GET)
[Base URL]/SalesOrders?$top={limit}&$skip={page * limit}&$filter=Last_Updated_Date_Time ge datetime'{utcTimeString}'Get Sales Order Lines by Sales Order Id (GET)
[Base URL]/SalesOrderLines?$filter=Document_No eq '{salesOrderId}'Create a Sales Order Line (POST)
[Base URL]/SalesOrderLines
Update a Sales Order Line (PATCH)
[Base URL]/SalesOrderLines(Document_Type='{documentType}',Document_No='{documentNo}',Line_No='{lineNo}')Get Order Tracking (COLI) by Sales Order Id (GET)
[Base URL]/VBCOLI?$filter=Document_No eq '{salesOrderId}'Get Sales Shipments by Order No (GET)
[Base URL]/SalesShipments?$filter=Order_No eq '{salesOrderNo}'Get Sales Shipment Lines by Shipment No (GET)
[Base URL]/SalesShipmentLines?$filter=Document_No eq '{shipmentNo}'Invoice Endpoints
Get an Invoice by Order No (GET)
[Base URL]/SalesInvoices?$filter=Order_No eq '{salesOrderNo}'Posted invoices are read from the SalesInvoices service. This web service must be published in Microsoft Dynamics NAV (in addition to SalesOrders) for invoice capture to work — see the Installation Instructions.
Authentication
The integration authenticates to Microsoft Dynamics NAV using NTLM with the configured Username, Password, and Domain, presented on each OData request. There is no separate authorization or token endpoint. See the Connections and Settings article for credential configuration.
