Skip to main content

Microsoft Dynamics NAV API Endpoints

The Microsoft Dynamics NAV OData web service endpoints the iPaaS.com integration uses, with base URL format, authentication, and per-entity operations.

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.

Related Documents

Did this answer your question?