Master data and authentication
Master data is what information has been set up in Wisefish on items, lots and more. The external production system can query items from Wisefish using GET requests.
This API is built into Microsoft Dynamics Business Central (BC). A typical installation will have the Wisefish system set up in the Microsoft SAAS environment so authentication needs to be implemented with OAuth 2.0 and App registration with a client secret.
Key concepts in BC are.
SAAS URL example from a Wisefish development tenant: https://businesscentral.dynamics.com/b9559d9b-8fc8-4233-b617-00a14ef0a761/SalesAndConsulting?company=MyCompany
This URL is built up like this: https://businesscentral.dynamics.com/{TenantId}/{Environment}?company={Company}
TenantId is the tenant for the company that is using the BC and Wisefish system, in the example above the tenant owner is Wisefish and it is intended for development.
Environment, there can be multiple environments, typically this could be to separate Live, Staging and Dev environments.
Company, there can be multiple companies in each tenant and environment
Authentication with OAuth2.0 requires the following information
Access token URL | https://login.microsoftonline.com/{TenantId}/oauth2/v2.0/token |
Client ID | 7ddde6ce-8d2b-4697-ad36-060a9e172d2c |
Client Secret | Varies, contact Wisefish to get assigned a secret |
Scope | https://api.businesscentral.dynamics.com/.default |
Here is documentation of some of the endpoints that are available, refer to the Token and Companies sections for code examples.
Category | Service | Entity path | Description |
---|---|---|---|
BC | https://login.microsoftonline.com/{TenantId}/oauth2/v2.0/token | Authenticate against SAAS Environment (Standard BC) | |
https://api.businesscentral.dynamics.com/v2.0/{TenantId}/{Environment}/api/v2.0/companies | List all companies in this environment (Standard BC) | ||
Lots | https://api.businesscentral.dynamics.com/v2.0/{TenantId}/{Environment}/api/ wisefish/wiFiEP/v1.0/companies(CompanyId)/lots In subsequent lines everything before and including the “(CompanyId)/” is not shown to save space and make this table more readable. | List all or part of lots in Wisefish | |
Items | /items | List all or part of items in Wisefish | |
Sales Agreement | /salesAgreementHeaders | List sales agreements in Wisefish | |
Sales Agreement Lines | /salesAgreementHeaders(SalesAgreementId)/salesAgreementLines | List item lines for the given sales agreement |