Technical Design Doc D365 Web Service v1.41

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 162

9

JNI D365 Web Service Guide


Document Overview
Title Web service Technical Guide Version 1.18

Project JNI Portal Status Draft

Client JNI Type Internal

Doc # Doc Date April 22, 2022

Author VSI team Last Save July 20, 2022

Description

Version 1.41
Revision History

January 4th, 2022

Ver # Rev Date Author Distribution Brief Description


Date

1.1 April 22, 2022 VSI team April 22, 2022 Initial Draft.

1.2 April 29, 2022 VSI team April 29, 2002  3.2
Added 3.2.2 to 3.2.8
 3.3
Added 3.3.2 and 3.3.3

1.3 May 12, 2022 VSI team May 12, 2022  3.2
Added sub sections from 3.2.9 to 3.2.13
 3.3
Added subsections from 3.3.4 to 3.3.8

1.4 May 16, 2022 VSI team May 16, 2022  3.3
Modified Response Parameters of 3.3.4, 3.3.5 and 3.3.6
and added some additional request parameters in 3.3.4
and 3.3.6
Modified request and response parameters of 3.3.6 and
3.3.7

1.5 May 18, 2022 VSI team May 18, 2022  3.2
Implement changes in response of 3.2.9
Added subsection 3.2.14

1.6 May 20, 2022 VSI team May 20, 2022  3.3
Added subsections from 3.3.10 to 3.3.15

1.7 May 24, 2022 VSI team May 24, 2022  3.2
Changes implemented in 3.2.11
Added subsections 3.2.15 to 3.2.18

1.8 June 7, 2022 VSI team June 7, 2022  3.2


Added subsections 3.2.19 to 3.2.20
 3.3
Added sub-sections from 3.3.10 and 3.3.17.
Added Status Code in response from 3.3.3 to 3.3.16

1.9 June 16, 2022 VSI team June 16, 2022  3.2
Changes implemented in 3.2.9 and 3.2.17
Added subsections 3.2.21 to 3.2.24
 3.3
Added subsections 3.3.18 to 3.3.22
Modified Response of 3.3.1
Modified Request and Response parameters of 3.3.3 and
3.3.12 highlighted in light blue (cyan) color.

1.10 June 21, 2022 VSI team June 21,2022  3.2


Modification in 3.2.23 and 3.2.24
 3.3
Modified request and response parameters of sub-
sections 3.3.3, 3.3.5, 3.3.12, 3.3.13, 3.3.20, 3.3.21, and
3.3.22 highlighted in yellow color.

1.11 June 24, 2022 VSI team June 24, 2022  3.3
Added subsections 3.3.23 and 3.3.24.
Added request parameter in 3.3.20 highlighted in light
green color.

1.12 June 27, 2022 VSI team June 27, 2022  3.2
Modified subsection 3.2.23 and 3.2.24
 3.3
Modified Functionality of sub-section 3.3.24.
Added subsection 3.3.25 and 3.3.26

ADMIN999AD47B36 1
1.13 June 29, 2022 VSI team June 29, 2022  3.3
Added sub-sections 3.3.27 to 3.3.29
Modified Request and Response parameters of sub-
sections 3.3.21, 3.3.24 and 3.3.25

1.14 July 4, 2022 VSI team July 4,2022  3.3


Modified Request and response parameters of subsections
3.3.3, 3.3.12and 3.3.28 highlighted in gray color.
Modified request parameter of subsection 3.3.18
highlighted in yellow color and 3.3.21 highlighted in gray
color.

1.15 July 7,2022 VSI team July 7,2022  3.3


Modified the Response of subsection 3.3.26

1.16 July 13, 2022 VSI team July 13, 2022  3.3
Added sub-sections from 3.3.30 to 3.3.44
Modified sub-sections 3.3.8 and 3.3.9 highlighted in green
color
Modified response parameters of sub-section 3.3.3 and
3.3.12 highlighted in green color.

1.17 July 18, 2022 VSI team July 18, 2022  3.3
Added response parameters in sub-section 3.3.3
highlighted with pink color.
Changes made in the response of sub-sections from 3.3.33
to 3.3.36 marked with yellow color
Added sub-sections 3.3.45 to 3.3.47

1.18 July 20, 2022 VSI team July 20, 2022  3.2
Modified sub section 3.2.11 marked in yellow color
 3.3
Added sub-section 3.3.48 and modified request and
response parameters of sub-section 3.3.43 highlighted in
yellow color.
Changes in the response of sub-section 3.3.46 and 3.3.47
marked with yellow color

1.19 July 25, 2022 VSI team July 25,2022  3.2


Added filter example in sub-section 3.2.1 and 3.2.23
marked in turquoise color

1.20 July 27, 2022 VSI team July 27, 2022  3.3
Added sub-section 3.3.49
Changes made in the response of 3.3.30 and 3.3.31

1.21 August 3, 2022 VSI team August 3,  3.3


2022 Changes made in response of 3.3.36, 3.3.37, 3.3.39 and
3.3.41 marked in green color

1.22 August 5, 2022 VSI team August 5,  3.3


2022 Modified request parameters of sub-section 3.3.43
highlighted in green color.

1.23 August 10, 2022 VSI team August 10,  3.2


2022 Added sub-sections from 3.2.25 to 3.2.27
 3.3
Change in response of 3.3.34 marked in green color
Change in response of 3.3.36 marked in teal color

1.24 August 16,2022 VSI team August 16,  3.2


2022 Added sub section 3.2.28
 3.3
Modified sub-section 3.3.43 highlighted in cyan color.

1.25 August 22, 2022 VSI team August 22,  3.3

ADMIN999AD47B36 2
2022
Modified request parameters of sub-section 3.3.34
highlighted in Teal color.
Modified request and response parameters of sub-section
3.3.44 highlighted in bright green color.
Modified request parameter of sub-section 3.3.20
highlighted in turquoise color.

1.26 August 25, 2022 VSI team August 25,  3.3


2022 Modified request and response parameters of sub-section
3.3.20 highlighted in teal color.
Modified request parameters of sub-section 3.3.21
highlighted in bright green color.
Modified request and response parameters of sub-section
3.3.23 highlighted in yellow color.
Modified request parameter of sub-section 3.3.24
highlighted in turquoise color.

1.27 August 26, 2022 VSI team August 26,  3.2


2022 Added Physical field “LocationNumber” in sub-section
3.2.23 highlighted in turquoise color.
Added Physical field “LocationNumber” and virtual field
“AddressSelection” in sub-section 3.2.26 and 3.2.27
highlighted in green color.
Added "rsmJNIUseClientFreightAcct” in subsection 3.2.9
and added “ShortName” in subsection 3.2.3 marked in
gray color
Added subsection 3.2.29
 3.3
Modified response parameters of sub-sections 3.3.20 and
3.3.43 highlighted in bright green color.
Modified response parameters of sub-section
3.3.44 highlighted in yellow color.

1.28 September 5, VSI team September 5,  3.2


2022 2022 Added response parameters in sub-sections 3.2.23, 3.3.24,
3.2.26 and 3.2.27 highlighted in teal color.
 3.3
Added response-parameters in sub-section 3.3.20 and
3.3.43 highlighted in turquoise color.

1.29 September 23, VSI team September  3.3


2022 23, 2022 Modified Response parameters of sub-section 3.3.3 and
3.3.12, highlighted in teal color.
 Modified request and response parameters of sub-
sections 3.3.4, 3.3.5, 3.3.6 and 3.3.7, highlighted in yellow
color.
 Modified request and response parameters of sub-
sections 3.3.13, 3.3.14, 3.3.15, and 3.3.16, highlighted in
bright green color.

1.30 October 3, 2022 VSI team October 3,  3.2


2022 Added “PO Assignment” field in subsection 3.2.27
highlighted in yellow.
 3.3
Modified response parametes of sub-section 3.3.43
highlighted in yellow color.
Modified request and response parameters of subsection
3.3.44 highlighted in turquoise color.
Added subsection 3.3.50. (Existing PO Assignment API)

1.31 October 11, 2022 VSI team October 11,  3.3


2022

ADMIN999AD47B36 3
Added sub-section 3.3.51.

1.32 October 12, 2022 VSI team October 12,  3.2


2022 Added response parameters in sub-section 3.2.26
highlighted in yellow color.
Added sub-section 3.2.30.
 3.3
Added sub-sections 3.3.52, 3.3.53 and 3.3.54.

1.33 October 18, 2022 VSI team October 18,  3.3


2022 Added response subsection 3.3.55

1.34 October 20, 2022 VSI team October 20,  3.2


2022 Added response parameter in sub-section 3.2.30
highlighted in yellow color.
Added response parameter in sub-section 3.3.26
highlighted in pink color.
 3.3
Added request parameters in sub-section 3.3.52
highlighted in bright green color.

1.35 October 27, 2022 VSI team October 27,  3.3


2022 Added request and response parameters in sub-sections
3.3.3 highlighted in pink, 3.3.4 highlighted in green, 3.3.7
highlighted in bright green, 3.3.12 highlighted in pink,
3.3.13 highlighted in yellow, 3.3.15 highlighted in yellow,
3.3.20 highlighted in pink, 3.3.23 highlighted in pink,
3.3.43 highlighted in pink, 3.3.44 highlighted in pink,
3.3.52 highlighted in pink, 3.3.53 highlighted in pink.

1.36 November 3rd, VSI team November  3.2


2022 3rd, 2022 Added response parameters in sub-sections 3.2.9, 3.2.10,
and 3.2.17 highlighted in turquoise color.
Added response parameters in sub-section 3.2.23
highlighted in bright green color.
Added response parameters in sub-sections 3.2.26 and
3.2.27 highlighted in turquoise color.

1.37 November 21, VSI team November 21,  3.2


2022 2022 Added response parameter in subsection 3.2.27 marked in
yellow.
Added sub-section 3.2.31 and 3.2.32.
 3.3
Added sub-section 3.3.56.

1.38 November 23, VSI team November 23,  3.3


2022 2022 Added response parameters in sub-section 3.3.56
highlighted in bright green color.

1.39 December 8, VSI team December 8,  3.2


2022 2022 Added response parameters in sub-section 3.2.26 and
3.2.27 highlighted in grey color.
 3.3
Added sub-section 3.3.57.
Added sub-section 3.3.58
Added the update value logic in service class for 3.3.28
highlighted in yellow
Modified the response body 3.3.29 highlighted in yellow

1.40 December 29, VSI team December 29,  3.3


2022 2022 Modified response contract of sub-sections 3.3.36 and
3.3.51, highlighted in bright green color.
Added sub-section 3.3.59.

1.41 January 4, 2023 VSI team January 4,  4.1


2023

ADMIN999AD47B36 4
Added sub-sections 4.1.1 and 4.1.2

Distribution List

Approved By

Name Role Version

ADMIN999AD47B36 5
TABLE OF CONTENTS

1. INTRODUCTION..................................................................................................................................... 10
1.1 PURPOSE...................................................................................................................................10
1.2 SCOPE.......................................................................................................................................10
1.3 OVERVIEW.................................................................................................................................10

2. AUTHENTICATION AND AUTHORIZATION................................................................................................. 11


2.1 ACCESS TOKENS.......................................................................................................................11

3. WEB SERVICES.................................................................................................................................... 13
3.1 GET METHODS..........................................................................................................................13
3.2 GET SERVICES..........................................................................................................................13
3.2.1 Projects..............................................................................................................................13
3.2.2 Customer Group................................................................................................................14
3.2.3 Address Country Region....................................................................................................14
3.2.4 Address Districts................................................................................................................15
3.2.5 Address Cities....................................................................................................................15
3.2.6 Address Counties...............................................................................................................15
3.2.7 Address States...................................................................................................................16
3.2.8 Source Types.....................................................................................................................16
3.2.9 Customers..........................................................................................................................16
3.2.10 Customer’s Address...........................................................................................................20
3.2.11 Currencies..........................................................................................................................21
3.2.12 Address Postal Code..........................................................................................................22
3.2.13 Customer’s Contact...........................................................................................................22
3.2.14 Customers Transactional Field..........................................................................................23
3.2.15 Address Formats................................................................................................................23
3.2.16 Commission Setup.............................................................................................................24
3.2.17 Vendors.............................................................................................................................24
3.2.18 Vendor Groups..................................................................................................................26
3.2.19 Vendor Transactional Fields..............................................................................................27
3.2.20 Released Products.............................................................................................................27
3.2.21 Shipping Methods.............................................................................................................28
3.2.22 Exchange Rates..................................................................................................................29

ADMIN999AD47B36 6
3.2.23 Purchase Order Header.....................................................................................................29
3.2.24 Purchase Order Lines........................................................................................................31
3.2.25 Open customer invoices - JNI............................................................................................32
3.2.26 SalesOrder Header............................................................................................................33
3.2.27 SalesOrder Line.................................................................................................................36
3.2.28 Customer Payment Method..............................................................................................38
3.2.29 Vendor Invoice Journal.....................................................................................................39
3.2.30 Sales Order Invoice Email..................................................................................................41
3.2.31 Proj Invoice Jour Header...................................................................................................42
3.2.32 Proj Invoice Jour Lines.......................................................................................................43
3.3 POST SERVICES........................................................................................................................44
3.3.1 Employee Profile...............................................................................................................44
3.3.2 Get Customer Account Number........................................................................................45
3.3.3 Create Customer Profile....................................................................................................46
3.3.4 Add Customer Address Information.................................................................................53
3.3.5 Add Customer Contact Information..................................................................................55
3.3.6 Update Customer Address Information............................................................................57
3.3.7 Update Customer Contact Information............................................................................60
3.3.8 Create Commission Setup for Customer...........................................................................62
3.3.9 Update Commission Setup for Customer.........................................................................63
3.3.10 Calculate Customer Transactional Fields..........................................................................64
3.3.11 Get Vendor Account Number............................................................................................65
3.3.12 Create Vendor Profile........................................................................................................66
3.3.13 Add Vendor Address Information.....................................................................................72
3.3.14 Add Vendor Contact Information.....................................................................................74
3.3.15 Update Vendor Address Information...............................................................................76
3.3.16 Update Vendor Contact Information................................................................................79
3.3.17 Calculate Vendor Transactional Fields..............................................................................80
3.3.18 Update Customer..............................................................................................................81
3.3.19 Update Vendor..................................................................................................................82
3.3.20 Create Purchase Order Header.........................................................................................84
3.3.21 Create Purchase Order Lines.............................................................................................85

ADMIN999AD47B36 7
3.3.22 Confirm Purchase Order API.............................................................................................88
3.3.23 Update Purchase Order Header........................................................................................89
3.3.24 Update Purchase Order Lines............................................................................................90
3.3.25 Delete Purchase Order Lines.............................................................................................93
3.3.26 Get Purchase Order Confirmation Journal........................................................................95
3.3.27 Get Currency Exchange Rate.............................................................................................98
3.3.28 Create Attachment............................................................................................................98
3.3.29 Get Attachments.............................................................................................................100
3.3.30 BC Ledger Total................................................................................................................101
3.3.31 YTD Summary..................................................................................................................105
3.3.32 Commission Program Tier...............................................................................................106
3.3.33 GP Adjustment................................................................................................................110
3.3.34 Freight.............................................................................................................................111
3.3.35 Misc.................................................................................................................................112
3.3.36 Sample.............................................................................................................................113
3.3.37 Sales/Commission...........................................................................................................114
3.3.38 Adjustments....................................................................................................................116
3.3.39 Nets (Charged) or Credited.............................................................................................117
3.3.40 ChargeBack......................................................................................................................118
3.3.41 YTDGP/YTDVolume.........................................................................................................119
3.3.42 BacklogGP / BacklogVolume...........................................................................................121
3.3.43 Create Sales Order Header..............................................................................................122
3.3.44 Create Sales Order Lines.................................................................................................125
3.3.45 Get SalesOrder ID............................................................................................................128
3.3.46 Get Tracking Details........................................................................................................129
3.3.47 Move To Freight..............................................................................................................130
3.3.48 Confirm Sales Order........................................................................................................131
3.3.49 Commission Paid Total....................................................................................................133
3.3.50 Get PO ID for Existing PO Assignment............................................................................134
3.3.51 Get Sales Order Confirmation Journal............................................................................135
3.3.52 Sales Order Header Update API......................................................................................136
3.3.53 Sales Order Lines Update API..........................................................................................138

ADMIN999AD47B36 8
3.3.54 Sales Order Lines Delete API...........................................................................................141
3.3.55 QR-3 Invoices Posted API................................................................................................144
3.3.56 Get Customer Balance.....................................................................................................149
3.3.57 Create/Update Sales Order Notes/Attachments............................................................151
3.3.58 Get SO charges................................................................................................................154
3.3.59 All PO Confirmation Journal Lines API............................................................................156

4. BATCH JOBS..................................................................................................................................... 162


4.1 BATCH JOBS IN D365............................................................................................................162
4.1.1 Calculate Customer Transactional Fields........................................................................162
4.1.2 Calculate Vendor Transactional Fields............................................................................162

ADMIN999AD47B36 9
1.INTRODUCTION
1.1 PURPOSE

The purpose of web service technical guide is to define the use of service, management of
service, and to explain how the service can be customized to be consumed by “JNI Portal”
web app.

1.2 SCOPE

This document covers the technical aspects of web service which will be exposed by D365
for consumption in JNI Portal web app.

1.3 OVERVIEW
This document describes the below:
 Authorization
o Client Secret
 Web services

ADMIN999AD47B36 10
2.AUTHENTICATION AND AUTHORIZATION
To connect and use the service for data consumption, a valid Client ID and Client secret will be
needed. The account needs to be added to AAD directory and D365 local users as visually explained
below.

2.1 ACCESS TOKENS

Access token is mandatory for each type of request made to access D365 server. Access tokens
comes with 1-hour expiration validity. Microsoft is itself managing the caching of access token
and only generate new access token if expired. So, recommended is to always call request to MS
server for access token rather locally caching the token.

ADMIN999AD47B36 11
To retrieve the expiration datetime and other information of token, user can copy and paste the Access
token in web site https://jwt.io/#debugger and see the decoded values.

ADMIN999AD47B36 12
3.WEB SERVICES
3.1 GET METHODS

Below Mechanism is used for getting record, counts, pagination and filter
i) Count
(1) <URL>/data/<EntityName> /$count
ii) Pagination
(1) <URL>/data/<EntityName>?$skip=0&$top=10
(2) <URL>/data/<EntityName>?$skip=10&$top=10
(3) Till record count (received in point i)
iii) Filter
(1) <URL>/data/<EntityName>?$filter=ProjectGroup%20eq%20%27BC%20Ledger%27
(2) <URL>/data/<EntityName>?$filter=ModifiedDateTime1%20gt%202021-05-23T16:58:59Z

3.2 GET SERVICES

3.2.1 Projects
Name: <URL>/data/VSIProjects
Example: https://nadel-coa1.sandbox.operations.dynamics.com/data/VSIProjects

Example for filter on a particular purchase order:

https://nadel-coa1.sandbox.operations.dynamics.com/data/VSIProjects?$filter=ProjectID%20eq
%20%27<ProjectID>%27

Response:
[
        {
            "@odata.etag": "W/\"JzE4OTgzNDMyMDIsNTYzNzE0NTMyNic=\"",
            "dataAreaId": "jni",
            "ProjectID": "MARESCHALNICK",
            "WorkerRespSalesPersonnelNumber": "",
            "ProjectTemplate": "No",
            "ProjectName": "Nick Mareschal",
            "LocationID": "",
            "WorkerRespFinancialPersonnelNumber": "",
            "CustomerAccount": "80090001",
            "Status": "Active",
            "ProjectedStartDate": "2016-04-01T12:00:00Z",
            "Telephone": "",
            "EndDate1": "2154-12-31T12:00:00Z",
            "Email": "",
            "DimensionDisplayValue": "-80-200-",
            "ModifiedDateTime1": "2021-05-23T16:59:08Z",
            "WorkerResponsiblePersonnelNumber": "1020",

ADMIN999AD47B36 13
            "ProjectStage": "InProcess",
            "EndTime": 0,
            "StartTime": 0,
            "ModifiedBy1": "?",
            "ProjectGroup": "BC Ledger",
            "WorkerArchitectPersonnelNumber": "",
            "Date": "1900-01-01T12:00:00Z",
            "ProjectType": "Internal",
            "LedgerPostingSortPriority": "Categories",
            "ProjectContractID": "",
            "ProjectedEndDate": "2154-12-31T12:00:00Z",
            "ProjectOrTask": "Project",
            "ParentProject": ""
        }
]

3.2.2 Customer Group


Name: <URL>/data/CustomerGroups
Example: https://nadel-coa1.sandbox.operations.dynamics.com/data/CustomerGroups
Response:
[
        {
            "@odata.etag": "W/\"JzIzMTI1MjY4Myw1NjM3MTQ2MDgyJw==\"",
            "dataAreaId": "jni",
            "CustomerGroupId": "Cust Dep",
            "ClearingPeriodPaymentTermName": "",
            "CustomerAccountNumberSequence": "",
            "DefaultDimensionDisplayValue": "",
            "Description": "Customer Deposits",
            "IsSalesTaxIncludedInPrice": "No",
            "WriteOffReason": "",
            "PaymentTermId": "",
            "TaxGroupId": "AVATAX",
            "IsPublicSector_IT": "No",
            "ModifiedBy1": "?",
            "ModifiedDateTime1": "2022-04-21T19:08:19Z"
        }
]

3.2.3 Address Country Region


Name: <URL>/data/AddressCountryRegions
Example: https://nadel-coa1.sandbox.operations.dynamics.com/data/AddressCountryRegions
Response:
[
        {
            "@odata.etag": "W/\"JzE3NDY4NjcxODYsNTYzNzE0NDU3Nic=\"",
            "CountryRegion": "AFG",
            "ISOcode": "AF",

ADMIN999AD47B36 14
            "CurrencyCode": "AFN",
            "TimeZone": "GMTPLUS0430KABUL",
            "ParentCountryRegion": "",
            "AddressFormat": "0006",
            "BrazilCentralBankCountryCode": "",
            "UseZipPlus4": "No",
            "OKSMCode_RU": "",
            "ModifiedBy1": "?",
            "ModifiedDateTime1": "2022-04-21T19:10:29Z"
"ShortName": "Afghanistan"

        }
]

3.2.4 Address Districts


Name: <URL>/data/AddressDistricts
Example: https://nadel-coa1.sandbox.operations.dynamics.com/data/AddressDistricts
Response:
[]

3.2.5 Address Cities


Name: <URL>/data/AddressCities
Example: https://nadel-coa1.sandbox.operations.dynamics.com/data/AddressCities
Response:
[
        {
            "@odata.etag": "W/\"JzEsNTYzNzE0NDU3Nic=\"",
            "CityKey": "Aalborg",
            "CountryRegionId": "DNK",
            "CountyId": "",
            "Name": "Aalborg",
            "StateId": "",
            "CityInKana": "",
            "Description": "",
            "BrazilCityCode": "",
            "ModifiedBy1": "?",
            "ModifiedDateTime1": "2022-04-21T19:10:29Z"
        },
]

3.2.6 Address Counties


Name: <URL>/data/AddressCounties
Example: https://nadel-coa1.sandbox.operations.dynamics.com/data/AddressCounties
Response:
[
        {
            "@odata.etag": "W/\"JzIwMjE4MzQ5ODMsNTYzNzE0NDU3Nic=\"",
            "CountryRegionId": "FRA",

ADMIN999AD47B36 15
            "StateId": "Alsace",
            "CountyId": "Colmar",
            "Description": "Colmar",
            "ESCountryCode": "",
            "ITCountyCode": "",
            "ModifiedBy1": "?",
            "ModifiedDateTime1": "2022-04-21T19:10:29Z"
        }
]

3.2.7 Address States


Name: <URL>/data/AddressStates
Example: https://nadel-coa1.sandbox.operations.dynamics.com/data/AddressStates
Response:
[
        {
            "@odata.etag": "W/\"JzEsNTYzNzE0NDU3Nic=\"",
            "CountryRegionId": "AUS",
            "State": "ACT",
            "IntrastatCode": "",
            "Name": "Australian Capital Territory",
            "TimeZone": null,
            "BrazilStateCode": "",
            "DefaultStateForCountryRegion": "No",
            "ModifiedBy1": "?",
            "ModifiedDateTime1": "2022-04-21T19:10:30Z"
        }
]

3.2.8 Source Types


Name: <URL>/data/VSISourceTypes
Example: https://nadel-coa1.sandbox.operations.dynamics.com/data/VSISourceTypes
Response:
[]

3.2.9 Customers
Name: <URL>/data/VSICustomersV3
Example: https://nadel-coa1.sandbox.operations.dynamics.com/data/VSICustomersV3
Response:
[
        {
            "@odata.etag": "W/\"JzEyNzg0MDA1ODAsNTYzNzE0NjUwMTswLDA7MSw1NjM3MTY2MzY5Oz
EsNTYzNzE2NjM2OTszNTE3MTE2NDAsNTYzNzE1MzI1MTsxLDU2MzcxNTgxNzM7MCwwOzEsNTYzNzM1MjMyNzsw
LDA7MCwwOzEsNTYzNzE2NjM2OTszNTE3MTE2NDAsNTYzNzE1MzI1MSc=\"",
            "dataAreaId": "jni",
            "CustomerAccount": "80011114",
            "rsmJNIResale": "No",
            "PrimaryContactLinkedInDescription": "",

ADMIN999AD47B36 16
            "ElectronicLocationId": "",
            "CustomerGroupId": "Real Estat",
            "DimensionDepartmentCode": 80,
            "PrimaryContactPhonePurpose": "",
            "rsmJNICustPONumReq": "No",
            "PrimaryContactURLRecordId": 0,
            "rsmJNIBillingRepresentative": "A04H",
            "DeliveryAddressLocationId": "LOC000102934",
            "PrimaryContactFacebook": "",
            "DeliveryAddressCountryRegionISOCode": "US",
            "BrandingConsultant": "Jeff Biggs",
            "LastCreditCheckDate": "2021-02-05T12:00:00Z",
            "AddressTimeZone": null,
            "PersonFirstName": "",
            "InvoiceAddressDescription": "",
            "CreditRating": "079739875",
            "ParentCompanyPartyNumber": "",
            "InvoiceAddressCountryRegionId": "",
            "AddressDescription": "BASIN STREET PROPERTIES",
            "PrimaryContactFaxExtension": "",
            "AddressLocationRoles": "Business",
            "PrimaryContactEmailRecordId": 0,
            "rsmJNIClientFreightAcct": "",
            "InvoiceAddressLatitude": 0,
            "PersonProfessionalTitle": "",
            "DeliveryAddressValidFrom": "2020-05-18T17:29:59Z",
            "PersonMiddleName": "",
            "DeliveryAddressZipCode": "89501-1587",
            "PersonLastName": "",
            "PersonPhoneticLastName": "",
            "PrimaryContactPhoneExtension": "",
            "AddressLongitude": 0,
            "CreditLimit": 7000,
            "InvoiceAddressStreet": "",
            "rsmJNITaxExempt": "No",
            "PrimaryContactPhoneIsMobile": "No",
            "PrimaryContactFaxPurpose": "",
            "PrimaryContactTelexDescription": "",
            "PrimaryContactPhoneRecordId": 0,
            "DefaultDimensionDisplayValue": "",
            "StatisticsGroupId": "JS",
            "InvoiceAddressCounty": "",
            "DeliveryAddressDistrictName": "",
            "PrimaryContactPhoneDescription": "",
            "DeliveryTerms": "BestServe",
            "InvoiceAddressTimeZone": null,
            "NameAlias": "BASIN STREET PROPERT",

ADMIN999AD47B36 17
            "Priority": "Low - 10",
            "AddressCountryRegionISOCode": "US",
            "KnownAs": "BASIN STREET PROPERTIES",
            "ValidTo": "2154-12-31T23:59:59Z",
            "DimensionProgramValue": "",
"rsmJNIUseClientFreightAcct": "No",
            "PrimaryContactTwitterPurpose": "",
            "LogisticsValidFrom": "2020-06-01T19:44:31Z",
            "DimensionDepartmentValue": "Sales",
            "AddressLocationId": "LOC000005937",
            "PartyState": "",
            "InvoiceDate": "1900-01-01T12:00:00Z",
            "ModifiedDateTime1": "2022-05-16T09:26:36Z",
            "InvoiceAddressDistrictName": "",
            "InvoiceValidFrom": "1900-01-01T00:00:00Z",
            "PersonPhoneticFirstName": "",
            "PrimaryContactTwitter": "",
            "BCPersonnelNumber": "A0A5",
            "PrimaryContactTelex": "",
            "PartyCountry": "",
            "DeliveryAddressCounty": "WASHOE",
            "OnHoldStatus": "No",
            "InvoiceAddressCity": "",
            "PrimaryContactFacebookDescription": "",
            "DeliveryAddressBuildingComplement": "",
            "InvoiceAddressCountryRegionISOCode": "",
            "CreatedDateTime1": "2020-02-25T02:16:29Z",
            "PartyNumber": "PTY000003644",
            "PrimaryContactPhone": "",
            "OrganizationName": "BASIN STREET PROPERTIES",
            "PartyType": "Organization",
            "AddressState": "NV",
            "PersonPhoneticMiddleName": "",
            "DeliveryAddressStreet": "300 E 2nd St Ste 1210",
            "AddressCity": "Reno",
            "DeliveryAddressCity": "Reno",
            "InvoiceAddressLongitude": 0,
            "AddressZipCode": "89509-1650",
            "AddressStreetNumber": "",
            "DeliveryAddressCountryRegionId": "USA",
            "PrimaryContactEmail": "",
            "SalesAccountNumber": "BS",
            "DeliveryMode": "",
            "SalesTaxGroup": "AVATAX",
            "DunsNumber": "079739875",
            "OrganizationNumber": "",
            "SalesCurrencyCode": "USD",

ADMIN999AD47B36 18
            "InvoiceValidTo": "1900-01-01T00:00:00Z",
            "PrimaryContactLinkedIn": "",
            "DeliveryAddressDescription": "Basin Street Properties",
            "PrimaryContactFacebookPurpose": "",
            "PrimaryContactFaxRecordId": 0,
            "DeliveryAddressValidTo": "2154-12-31T23:59:59Z",
            "InvoiceAddressZipCode": "",
            "PrimaryContactURL": "",
            "PrimaryContactURLDescription": "",
            "AccountNum": "80011114",
            "DeliveryAddressLatitude": 0,
            "AddressLatitude": 0,
            "CreditLimitIsMandatory": "Yes",
            "PrimaryContactTelexPurpose": "",
            "PersonLastNamePrefix": "",
            "InvoiceAddressLocationId": "",
            "rsmJNIAvaValidation": "No",
            "PaymentMethod": "",
            "DeliveryAddressTimeZone": null,
            "CompanyType": "Blank",
            "AddressStreet": "316 California Ave # 350",
            "CustWriteOffReason": "",
            "PersonProfessionalSuffix": "",
            "LineOfBusinessId": "",
            "DimensionProgramCode": 0,
            "ModifiedBy1": "Admin",
            "rsmJNIParentCompanyName": "",
            "FullPrimaryAddress": "316 California Ave # 350\nReno,  NV, 89509-1650",
            "PrimaryContactURLPurpose": "",
            "DimensionLocationsCode": 120,
            "AddressDistrictName": "",
            "AddressCountryRegionId": "USA",
            "Blocked": "No",
            "DimensionLocationsValue": "Office Spl",
            "InvoiceAddressState": "",
            "PrimaryContactFax": "",
            "DeliveryAddressState": "NV",
            "TaxExemptNumber": "",
            "DeliveryAddressStreetNumber": "",
            "InvoiceAddressBuildingComplement": "",
            "InvoiceAddressStreetNumber": "",
            "DeliveryAddressLongitude": 0,
            "IsPurchRequestUsed": "No",
            "PrimaryContactFaxDescription": "",
            "PrimaryContactTwitterDescription": "",
            "ContactPersonId": "",
            "AddressCounty": "",

ADMIN999AD47B36 19
            "PaymentTerms": "N30",
            "PrimaryContactLinkedInPurpose": "",
"PortalKeyAddress": "12345-12345-12345-12345",

"CreatedByPortalAddress": "Yes",

"MelissaAddressKey": "12345-12345-12345-12345"

        }
    ]

3.2.10 Customer’s Address


Name: <URL>/data/PartyLocationPostalAddresses
Example: https://nadel-coa1.sandbox.operations.dynamics.com/data/PartyLocationPostalAddresses
Note: To search address of a particular customer first filters out the customer from the 3.2.9 and copy Party
Number of that customer after that in this api search with that Party Number to get the desired Customer’s
Address.
Response:
[
        {
            "@odata.etag": "W/\"JzEsNTYzNzE0NjA3NjsxNzM3MzY3ODkzLDU2MzcxNDUzMjcn\"",
            "PartyNumber": "PTY000000245",
            "LocationId": "LOC000000002",
            "ValidFrom": "2019-08-13T00:58:18Z",
            "IsPrimary": "Yes",
            "CityInKana": "",
            "IsRoleDelivery": "No",
            "IsPrivate": "No",
            "Address": "18757 Burbank Blvd., Suite 130 \nTarzana,CA91356\nUSA",
            "TimeZone": null,
            "Street": "18757 Burbank Blvd., Suite 130 ",
            "Latitude": 0,
            "Description": "San Fernando Valley",
            "IsRoleInvoice": "No",
            "Roles": "Home",
            "StreetInKana": "",
            "IsRoleHome": "Yes",
            "Apartment_RU": "",
            "IsPrimaryTaxRegistration": "No",
            "DunsNumber": "",
            "AttentionToAddressLine": "",
            "ValidTo": "2154-12-31T23:59:59Z",
            "County": "",
            "IsLocationOwner": "Yes",
            "DistrictName": "",
            "Building_RU": "",
            "IsPrivatePostalAddress": "No",
            "Longitude": 0,

ADMIN999AD47B36 20
            "City": "Tarzana",
            "StreetNumber": "",
            "IsRoleBusiness": "No",
            "CountryRegionId": "USA",
            "State": "CA",
            "PostBox": "",
            "BuildingCompliment": "",
            "ZipCode": "91356",
            "IsPostalAddress": "Yes",
            "CountryRegionISOCode": "US",
            "ModifiedBy1": "ckastner",
            "ModifiedDateTime1": "2019-08-13T00:58:16Z",
"PortalKeyAddress": "12345-12345-12345-12345",

"CreatedByPortalAddress": "Yes",

"MelissaAddressKey": "12345-12345-12345-12345"

        }
]

3.2.11 Currencies
Name: <URL>/data/VSIJNICurrencies
Example: https://nadel-coa1.sandbox.operations.dynamics.com/data/VSIJNICurrencies
Response:
 {

    "@odata.context": "https://nadel-coa1.sandbox.operations.dynamics.com/data/
$metadata#VSIJNICurrencies",
    "value": [
        {
            "@odata.etag": "W/\"JzE5NTI0MDI2MDgsNTYzNzE0NDU4Myc=\"",
            "CurrencyCode": "AUD",
            "Txt": "Australian Dollar",
            "RoundOffTypePurch": "Ordinary",
            "Symbol": "AUD",
            "IsEuro": "No",
            "RoundingPrecision": 0.01,
            "ModifiedBy1": "?",
            "RoundOffAssetDep_JP": 0,
            "RoundOffTypePrice": "Ordinary",
            "RoundOffTypeAssetDep_JP": "Ordinary",
            "CreatedBy1": "?",
            "RoundOffPurch": 0,
            "ModifiedDateTime1": "2020-04-14T03:02:42Z",
            "CurrencyCodeISO": "AUD",
            "CreatedDateTime1": "2022-07-19T20:12:10Z",
            "RoundOffSales": 0,

ADMIN999AD47B36 21
            "RoundOffPrice": 0,
            "RoundOffTypeSales": "Ordinary"
        }
]
}
3.2.12 Address Postal Code
Name: <URL>/data/AddressPostalCodesV3
Example: https://nadel-coa1.sandbox.operations.dynamics.com/data/AddressPostalCodesV3
Response:
[
{
"@odata.etag": "W/\"JzEsNTYzNzE0NDU3Nic=\"",
"ZipCode": "00210",
"CountryRegionId": "USA",
"StateId": "NH",
"CountyId": "ROCKINGHAM",
"CityId": "Portsmouth",
"DistrictId": "",
"StreetNumberMinimum": 0,
"StreetNumberMaximum": 0,
"StreetNumberValidity": "All",
"Street": "",
"TimeZone": null,
"CityAlias": "Portsmouth",
"ModifiedBy1": "?",
"ModifiedDateTime1": "2022-05-05T11:34:33Z"
}
]

3.2.13 Customer’s Contact


Name: <URL>/data/PartyContactsV3
Example: https://nadel-coa1.sandbox.operations.dynamics.com/data/PartyContactsV3
Note: To search address of a particular customer first filters out the customer from the 3.2.9 and copy Party
Number of that customer after that in this api search with that Party Number to get the desired Customer’s
Contact Details.

Response:
[
        {
            "@odata.etag": "W/\"Jzg2ODY3NzU5Miw1NjM3MTQ0NTc2OzEsNTYzNzE0NjA3NzswLDA7MS
w1NjM3MTQ1MzI2OzE1Mzk5MTMwOTQsNTYzNzE0NjgyNic=\"",
            "PartyNumber": "PTY000000245",
            "ElectronicAddressId": "000000001",
            "IsInstantMessage": "No",
            "IsMobilePhone": "No",
            "CountryRegionCode": "",
            "Purpose": "",
            "Locator": "",

ADMIN999AD47B36 22
            "LocatorExtension": "",
            "LocationId": "LOC000000003",
            "Description": "",
            "IsPrimary": "Yes",
            "Type": "Email",
            "IsPrivate": "No",
            "ModifiedBy1": "Admin",
            "ModifiedDateTime1": "2022-04-19T22:41:36Z"
        }
]

3.2.14 Customers Transactional Field


Name: <URL>/data/VSIJNICustomerTransactionalFields
Example: https://nadel-coa1.sandbox.operations.dynamics.com/data/VSIJNICustomerTransactionalFields
Response:
[
        {
            "@odata.etag": "W/\"JzEsNTYzNzE0NDU4NSc=\"",
            "dataAreaId": "jni",
            "AccountNum": "80011123",
            "OpenReceiveables": -3819.05,
            "AgingPeriod3": 9180.89,
            "InvoiceDate": "2022-03-20T12:00:00Z",
            "AgingPeriod4": 0,
            "BackLog": 5990,
            "CreditMax": 900000,
            "ModifiedBy1": "Admin",
            "LastOrderDate": "2022-04-07T17:18:56Z",
            "Available": 897829.05,
            "AgingPeriod2": 0,
            "ModifiedDateTime1": "2022-05-18T15:35:28Z",
            "AgingPeriod5": 0
        },
]

3.2.15 Address Formats


Name: <URL>/data/AddressFormats
Example: https://nadel-dev09a351abe73ad401c5devaos.axcloud.dynamics.com/data/AddressFormats
Response:

[
{

"@odata.etag": "W/\"JzEzMTczMDAxNjAsNTYzNzE0NDU3Nic=\"",
"AddressFormat": "0001",
"Description": "Street;City_State_PostCode; Country/Region",

ADMIN999AD47B36 23
"ModifiedBy1": "?",
"ModifiedDateTime1": "2022-05-24T08:49:08Z"

3.2.16 Commission Setup


Name: <URL>/data/JNICustCommissionBCs
Example: https://nadel-coa1.sandbox.operations.dynamics.com/data/ JNICustCommissionBCs
Response:
[
{

"@odata.etag": "W/\"JzEsNTYzNzE0NDU3Nic=\"",
"dataAreaId": "jni",
"CustomerID": "80090001",
"EmployeeID": "1020",
"CommissionSplitPercent": 100,
"ModifiedBy1": "?",
"ModifiedDateTime1": "2022-05-24T10:18:47Z"

}
]

3.2.17 Vendors
Name: <URL>/data/VSIVendorsV3
Example: https://nadel-coa1.sandbox.operations.dynamics.com/data/VSIVendorsV3
Response:
[
  {

            "@odata.etag": "W/\"JzExOTcyNjg0NjQsNTYzNzE0NDU3NjsxOTYyNTk0MDY4LDU2MzcxNj
AzMjY7MSw1NjM3MTcxNTc2OzAsMDswLDA7MCwwOzAsMDswLDA7MCwwOzAsMDswLDA7MSw1NjM3MTQ0NTc5Jw==
\"",
            "dataAreaId": "jni",
            "VendorAccountNumber": "10008991",
            "VendorInvoiceDeclarationId": "",
            "PaymentId": "",
            "AddressStateId": "KS",
            "DefaultPaymentDayName": "",
            "AddressDescription": "STOUSE SIGN & DECAL INC.",
            "AddressBooks": "",
            "VendorExceptionGroupId": "",
            "AddressCity": "NEW CENTURY",
            "BankAccount": "Commerce",
            "AddressLatitude": 0,
            "AddressZipCode": "66031",
            "MainContactPersonnelNumber": "",
            "PersonMiddleName": "",
            "IsW9Received": "No",
            "AddressBuildingCompliment": "",

ADMIN999AD47B36 24
            "DefaultDeliveryModeId": "",
            "PrimaryPhoneNumber": "(877) 764-5757",
            "AddressLocationId": "LOC000016899",
            "Notes": "",
            "AddressPostBox": "",
            "IsServiceVeteranOwned": "No",
            "VendorPriceToleranceGroupId": "",
            "Tax1099NameToUse": "VendorName",
            "Tax1099Type": null,
            "PrimaryContactFax": "(800) 955-0282",
            "ModifiedBy1": "rameezjamil",
            "AddressStreet": "300 NEW CENTURY CUSTOMER ID #279605",
            "PaymSpec": "CCD",
            "PrimaryContactURLRecordId": 5638115088,
            "AddressCountyId": "",
            "PrimaryEmailAddressPurpose": "Business",
            "PrimaryPhoneNumberDescription": "Ordering",
            "VendorType": "None",
            "AddressTimeZone": null,
            "AddressCountryRegionId": "USA",
            "PaymentTransactionCode": "",
            "OurAccountNumber": "",
            "PrimaryContactFaxIsPrivate": "No",
            "FormattedPrimaryAddress": "300 NEW CENTURY CUSTOMER ID #279605\nNEW CENTU
RY,  KS, 66031",
            "Tax1099BoxId": "",
            "PrimaryContactEmailRecordId": 5637164076,
            "DefaultDeliveryTermsCode": "",
            "OrganizationABCCode": "B",
            "CreditLimit": 0,
            "PrimaryContactPhoneRecordId": 5637164078,
            "TaxExemptNumber": "",
            "Blocked": "No",
            "VendorGroupId": "ALL",
            "AddressCountryRegionISOCode": "US",
            "BankAccountId": "Commerce",
            "VendorPartyType": "Organization",
            "AddressStreetInKana": "",
            "IsPrimaryPhoneNumberMobile": "No",
            "DefaultPaymentScheduleName": "",
            "ValidTo": "2154-12-31T23:59:59Z",
            "CurrencyCode": "USD",
            "NAFCode": "",
            "BankAccountNumber": "309023221",
            "ModifiedDateTime1": "2022-06-15T11:47:01Z",
            "VendorOrganizationName": "STOUSE SIGN & DECAL",
            "Tax1099IdType": "Unknown",

ADMIN999AD47B36 25
            "DefaultPaymentTermsName": "N30",
            "PersonFirstName": "",
            "PrimaryEmailAddressDescription": "Ordering",
            "AddressDistrictName": "",
            "ProductDescriptionVendorGroupId": "",
            "AddressLocationRoles": "Business",
            "PrimaryEmailAddress": "",
            "NameControl": "",
            "PrimaryPhoneNumberPurpose": "Business",
            "SalesTaxGroupCode": "",
            "PrimaryContactPersonId": "",
            "AddressStreetNumber": "",
            "PrimaryContactFaxDescription": "Ordering",
            "DIOTVendorType": "Blank",
            "CreditRating": "",
            "PersonLastName": "",
            "VendorKnownAsName": "",
            "OrganizationPhoneticName": "",
            "TaxAgent": "No",
            "DefaultVendorPaymentMethodName": "ACH",
            "VendorSearchName": "STOUSE SIGN & DECAL",
            "IsReportingTax1099": "No",
            "AddressLongitude": 0,
            "AddressCityInKana": "",
            "PersonLastNamePrefix": "",
            "OrganizationNumber": "",
            "IsW9CheckingEnabled": "No",
            "ValidFrom": "2022-05-10T18:25:57Z",
            "PrimaryContactFaxRecordId": 5637164077,
            "VendorPartyNumber": "PTY000009133",
            "PrimaryContactFaxPurpose": "Business",
            "Tax1099FederalTaxId": "43-1098022",
"PortalKeyAddress": "12345-12345-12345-12345",

"CreatedByPortalAddress": "Yes",

"MelissaAddressKey": "12345-12345-12345-12345"

        }

3.2.18 Vendor Groups


Name: <URL>/data/VendorGroups
Example: https://nadel-coa1.sandbox.operations.dynamics.com/data/VendorGroups
Response:
[
{

ADMIN999AD47B36 26
"@odata.etag": "W/\"JzEwMDI3NzQzMTgsNTYzNzE0NTMyNic=\"",
"dataAreaId": "jni",
"VendorGroupId": "1",
"ClearingPeriodPaymentTermName": "",
"IsExcludedFromSearchResults": "No",
"DefaultPaymentTermName": "N30",
"Description": "Hard Goods Vendor",
"VendorAccountNumberSequence": "",
"DefaultTaxGroupCode": "",
"IsPublicSector_IT": "No",
"ModifiedBy1": "?",
"ModifiedDateTime1": "2022-05-19T08:41:48Z"
}

3.2.19 Vendor Transactional Fields


Name: <URL>/data/VSIJNIVendorCalculatedFields
Example: https://nadel-coa1.sandbox.operations.dynamics.com/data/VSIJNIVendorCalculatedFields
Response:
[

 {
            "@odata.etag": "W/\"JzEwMzI5NjI3NDAsNTYzNzE0NDU3Nic=\"",
            "dataAreaId": "jni",
            "AccountNum": "10008991",
            "LastPODateTime": "1900-01-01T00:00:00Z",
            "POCountLines": 2,
            "POCountHeader": 2,
            "POHeaders": "40046955E, 40064048C",
            "ModifiedBy1": "Admin",
            "ModifiedDateTime1": "2022-06-02T10:08:21Z"
        },
]

3.2.20 Released Products


Name: <URL>/data/ VSIJNIReleasedProductsV2
Example: https://nadel-coa1.sandbox.operations.dynamics.com/data/VSIJNIReleasedProductsV2
Response:
[
:  {

            "@odata.etag": "W/\"JzQwNTAzNjI0Nyw1NjM3MTQ0NTc2OzAsMDsxLDU2MzcxNDQ1NzY7MS
w1NjM3MTQ0NTc2OzEsNTYzNzE0NDU3NjsxLDU2MzcxNDQ1Nzc7MSw1NjM3MTQ0NTc2OzEsNTYzNzE0NDU3Njsx
ODY0OTg0MzAsNTYzNzE0NDU3ODsxNTA0OTAxMDk0LDU2MzcxNDQ1Nzc7MCwwOzAsMDswLDA7MCwwOzEsNTYzNz
E0NDU3NjsxLDU2MzcxNDQ1NzY7MCwwOzAsMDswLDAn\"",
            "dataAreaId": "jni",
            "ItemNumber": "Apparel - Adult",
            "ProductSearchName": "ApparelAdult",
            "InventoryUnitSymbol": "ea",

ADMIN999AD47B36 27
            "UnitCostDate": "1900-01-01T12:00:00Z",
            "PurchaseSalesTaxItemGroupCode": "ALL",
            "PurchaseUnitSymbol": "ea",
            "SalesPriceQuantity": 1,
            "ProductNumber": "Apparel - Adult",
            "PurchasePriceDate": "1900-01-01T12:00:00Z",
            "IsRetailDiscountPOSRegistrationProhibited": "No",
            "DefaultOrderType": "Purch",
            "ProductTaxationOrigin": "National",
            "PurchasePriceQuantity": 1,
            "UnitCostQuantity": 1,
            "ProductGroupId": "MERCH",
            "ProjectCategoryId": "Merch",
            "ModifiedDateTime1": "2019-12-04T18:46:51Z",
            "SearchName": "ApparelAdult",
            "ProductType": "Service",
            "SalesPrice": 0,
            "ItemModelGroupId": "WA",
            "ModifiedBy1": "lwhisler",
            "SalesSalesTaxItemGroupCode": "ALL",
            "SalesPriceDate": "1900-01-01T12:00:00Z",
            "SalesUnitSymbol": "ea",
            "PurchasePrice": 0,
            "UnitCost": 0,
            "TrackingDimensionGroupName": "NONE",
            "StorageDimensionGroupName": "SW"
        }
]
3.2.21 Shipping Methods
Name: <URL>/data/DeliveryModesV2
Example: https://nadel-coa1.sandbox.operations.dynamics.com/data/DeliveryModesV2
Response:
[

  {
            "@odata.etag": "W/\"JzczMzg1MTEwNSw1NjM3MTQ2MDc2Jw==\"",
            "dataAreaId": "jni",
            "ModeCode": "FX 1D AM",
            "IntrastatTransportModeCode": "",
            "ChargeDeliveryGroupId": "",
            "DefaultExpediteCode": "",
            "ModeDescription": "FedEx First Overnight 8 AM",
            "JNIFreightAcctNum": "583501126",
            "ServiceCode": "",
            "JNIUseOnSalesOrder": "Yes",
            "CostMarkupPercent": 0,
            "UseFreightAccount": "Yes",

ADMIN999AD47B36 28
            "ModifiedBy1": "?",
            "ModifiedDateTime1": "2022-05-31T18:28:04Z"
        }
]

3.2.22 Exchange Rates


Name: <URL>/data/DeliveryModesV2
Example: https://nadel-coa1.sandbox.operations.dynamics.com/data/ExchangeRates

Note: To get the latest Exchange Rate you can use below url to filter it based on the date
https://nadel-coa1.sandbox.operations.dynamics.com/data/ExchangeRates?$filter=EndDate gt yyyy-MM-dd

Response:
[

{
            "@odata.etag": "W/\"JzEsNTYzNzE0NDc1NDsxLDU2MzcxNDQ2MDA7MSw1NjM3MTQ0NTc5Jw
==\"",
            "RateTypeName": "Default",
            "FromCurrency": "EUR",
            "ToCurrency": "CAD",
            "StartDate": "2013-12-01T12:00:00Z",
            "Rate": 140.72,
            "EndDate": "2154-12-31T12:00:00Z",
            "ConversionFactor": "Hundred",
            "RateTypeDescription": "Default global rate",
            "ModifiedBy1": "?",
            "ModifiedDateTime1": "2019-01-19T22:43:20Z"
        },
]

3.2.23 Purchase Order Header


Name: <URL>/data/VSIPurchaseOrderHeadersV2
Example: https://nadel-coa1.sandbox.operations.dynamics.com/data/VSIPurchaseOrderHeadersV2

Example for filter on a particular purchase order:


https://nadelcoa1.sandbox.operations.dynamics.com/data/VSIPurchaseOrderHeadersV2?
$filter=PurchaseOrderNumber%20eq%20%27<PurchOrderNumber>%27

Response:
[
            {

            "@odata.etag": "W/\"JzY5MjIzNjE0MCw1NjM3MTQ0NTc2OzAsMDsxLDU2MzcxNzgzMjY7MC
wwOzAsMCc=\"",
            "dataAreaId": "jni",
            "PurchaseOrderNumber": "5483470",
            "TotalDiscountPercentage": 0,
            "DeliveryAddressLocationId": "LOC000023470",
            "DeliveryAddressCountyId": "",

ADMIN999AD47B36 29
            "DeliveryAddressCountryRegionISOCode": "US",
            "DeliveryTermsId": "",
            "OrdererPersonnelNumber": "",
            "rsmJNIAddressAttention1": "",
            "PurchaseOrderName": "VENTURA PROMO PRODS INC (D)",
            "rsmJNIAddressAttention2": "",
            "FormattedInvoiceAddress": "",
            "DeliveryAddressZipCode": "",
            "PurchaseOrderStatus": "Invoiced",
            "DeliveryAddressDistrictName": "",
            "DeliveryCityInKana": "",
            "DeliveryAddressDunsNumber": "",
            "VendorPaymentMethodName": "CHECK",
            "PaymentScheduleName": "",
            "PaymentTermsName": "N30",
            "DocumentApprovalStatus": "Approved",
            "ModifiedDateTime1": "2021-04-10T08:07:55Z",
            "ReqAttention": "",
            "CreatedDateTime1": "2020-02-28T05:54:47Z",
            "TotalAmount": 0,
            "DeliveryAddressStreet": "Delivery to 5 US locations\n731 Lexington, 120 P
ark\nPrinceton and 2 SF offices\n",
            "IsDeliveryAddressPrivate": "No",
            "DeliveryAddressCity": "",
            "AccountingDate": "2020-02-27T12:00:00Z",
            "DeliveryAddressCountryRegionId": "USA",
            "DeliveryBuildingCompliment": "",
            "URL": "",
            "DeliveryAddressPostBox": "",
            "DeliveryAddressDescription": "Drop Ship locations:",
            "DeliveryStreetInKana": "",
            "rsmSampleOrder": "No",
            "DeliveryAddressLatitude": 0,
            "ProjectId": "",
            "DeliveryModeId": "FX GRD",
            "DeliveryAddressTimeZone": null,
            "rsmJobName": "Black History Month Pins/cards",
            "ModifiedBy1": "?",
            "FormattedDeliveryAddress": "Delivery to 5 US locations\n731 Lexington, 12
0 Park\nPrinceton and 2 SF offices",
            "CreatedBy1": "jkramer",
            "ConfirmedDeliveryDate": "1900-01-01T12:00:00Z",
            "DeliveryAddressName": "Jack Nadel International",
            "LanguageId": "en-US",
            "DeliveryAddressStateId": "",
            "TaxExemptNumber": "",
            "DeliveryAddressStreetNumber": "",

ADMIN999AD47B36 30
            "OrderVendorAccountNumber": "10093520",
            "CurrencyCode": "USD",
            "InvoiceAddressStreetNumber": "",
            "DeliveryAddressLongitude": 0,
            "RequesterPersonnelNumber": "",
            "DefaultLedgerDimensionDisplayValue": "",
            "IsDeliveryAddressOrderSpecific": "No",
            "Email": "orders@venturaline.com",
            "ContactPersonId": "",
            "RequestedDeliveryDate": "2020-02-27T12:00:00Z"
"LocationNumber": 5639710327,

"CreatedByPortal": "No",

"DeliveryWholeAddress": "8350 Broad St Ste 900\nMc Lean,  VA, 22102-
5150",
"PortalKeyAddress": "12345-12345-12345-12345",

"CreatedByPortalAddress": "Yes",

"MelissaAddressKey": "12345-12345-12345-12345",

"PurchaseOrderStatusLabel": "Open order"
        }

3.2.24 Purchase Order Lines


Name: <URL>/data/VSIPurchaseOrderLinesV2
Example: https://nadel-coa1.sandbox.operations.dynamics.com/data/VSIPurchaseOrderLinesV2
Response:
[

  {

            "@odata.etag": "W/\"JzIwOTY0NDE5MjksNTYzNzE0NDU3NjsxLDU2MzcxNzgzMjY7MCwwOz
AsMDswLDA7MCwwOzAsMCc=\"",
            "dataAreaId": "jni",
            "PurchaseOrderNumber": "5483470",
            "LineNumber": 1,
            "WorkflowState": "NotSubmitted",
            "rsmFirm": "Yes",
            "Name": "1\" Button with Full Color with Backer Card 3x4 \nPacked bulk",
            "DeliveryAddressName": "Jack Nadel International",
            "PurchUnit": "ea",
            "RequestedShippingDate": "2020-02-21T12:00:00Z",
            "RouteId": "",
            "ItemNumber": "Buttons, Patches & L",
            "LineRecID": 5637144576,

ADMIN999AD47B36 31
            "RequestedDeliveryDate": "2020-02-21T12:00:00Z",
            "rsmJNIFactoryNotes": "BL-2210F  \n1\" round full color \n \nBL-7428  \
nFull color backe",
            "MainAccountIdDisplayValue": "",
            "PurchasePriceQuantity": 1,
            "CurrencyCode": "USD",
            "CreatedBy1": "?",
            "rsmDlvMode": "FX GRD",
            "ProjectCategoryId": "Merch",
            "CreatedDateTime1": "2020-02-28T05:54:53Z",
            "ModifiedDateTime1": "2020-08-05T16:50:37Z",
            "LineAmount": 1260.9,
            "ExternalItemNumber": "BL-2210F",
            "OrderedPurchaseQuantity": 2700,
            "ConfirmedShippingDate": "1900-01-01T12:00:00Z",
            "ModifiedBy1": "?",
            "ValidTo": "2154-12-31T23:59:59Z",
            "rsmTrackable": "Yes",
            "ConfirmedDeliveryDate": "1900-01-01T12:00:00Z",
            "rsmFreightAccountNum": "583501126",
            "PurchaseOrderLineStatus": "Invoiced",
            "PurchasePrice": 0.467,
            "ValidFrom": "2020-02-28T05:54:19Z",
"PortalKey": "123456",
"InventTransId": "LOT002112802",
        }

3.2.25 Open customer invoices - JNI


Name: <URL>/data/JNICustTransOpens
Example: https://nadel-coa1.sandbox.operations.dynamics.com/data/JNICustTransOpens
Response:
{
    "@odata.context": "https://nadel-coa1.sandbox.operations.dynamics.com/data/
$metadata#JNICustTransOpens",
    "value": [
        {
            "@odata.etag": "W/\"JzIwMjA4Nzc2NzcsNTYzNzE0NjExNSc=\"",
            "rsmJNICommissionReversed": "No",
            "TDSAmount_IN": 0,
            "AccountNum": "80014487",
            "UseCashDisc": "Always",
            "RecVersion1": 2020877677,
            "SettledTotalAmount_IN": 0,
            "SettledLinePercent_IN": 0,

ADMIN999AD47B36 32
            "BankLCExportLine": 0,
            "TaxWithholdAmountOrigin_IN": 0,
            "rsmJNIRemoveFromCommissionReversal": "No",
            "CollectionLetterCode": "None",
            "RecId1": 5637146115,
            "LastInterestDate": "1900-01-01T12:00:00Z",
            "ExchAdjUnrealized": 0,
            "ReportingCurrencyAmount": -251.52,
            "CashDiscDate": "1900-01-01T12:00:00Z",
            "FineAmountPaymCur_BR": 0,
            "TransDate": "2019-08-20T12:00:00Z",
            "RefRecId": 5637149865,
            "PossibleCashDisc": 0,
            "FineAmount_BR": 0,
            "AmountCur": -251.52,
            "CollectionLetter": "Yes",
            "InterestAmount_BR": 0,
            "Partition1": 5637144576,
            "BankDiscNoticeDeadline": "1900-01-01T12:00:00Z",
            "AmountMST": -251.52,
            "SettlementPriorityCashDiscDate": "1900-01-01T12:00:00Z",
            "DueDate": "2019-08-20T12:00:00Z",
            "DataAreaId1": "jni",
            "ExchAdjUnrealizedReporting": 0,
            "InterestCode_BR": "",
            "FineCode_BR": "",
            "dataAreaId": "jni",
            "InterestAmountPaymCur_BR": 0,
            "TCSAmount_IN": 0,
            "ModifiedBy1": "Admin",
            "ModifiedDateTime1": "2022-08-10T01:04:37Z"
        }
]

3.2.26 SalesOrder Header


Name: <URL>/data/VSIJNISalesOrderHeaders
Example: https://nadel-coa1.sandbox.operations.dynamics.com/data/VSIJNISalesOrderHeaders
Response:

{
    "@odata.context": "https://nadel-coa1.sandbox.operations.dynamics.com/data/
$metadata#VSIJNISalesOrderHeaders",
    "value": [
        {

ADMIN999AD47B36 33
            "@odata.etag": "W/\"JzExNDk5MTA5MzcsNTYzODE3MjgyOTswLDA7MCwwOzEsNTYz
NzE2NjA1MTswLDAn\"",
            "dataAreaId": "jni",
            "SalesOrderNumber": "40072865",
            "OrderTotalTaxAmount": 0,
            "TotalDiscountPercentage": 0,
            "SalesOrderName": "RED VENTURES",
            "DeliveryAddressLocationId": "LOC000013815",
            "DeliveryAddressCountyId": "",
            "DeliveryAddressCountryRegionISOCode": "US",
            "SalesOrderPromisingMethod": "None",
            "InvoiceAddressStateId": "",
            "Margin": 122000,
            "InvoiceBuildingCompliment": "",
"rsmEstimatedFreight": 125,
            "InvoiceAddressCountryRegionId": "",
            "InvoiceAddressLatitude": 0,
            "FormattedInvoiceAddress": "",
            "ShippingCarrierServiceId": "",
            "InvoiceAddressStreet": "",
            "RequestedReceiptDate": "2022-08-03T12:00:00Z",
            "ShippingCarrierId": "",
            "SalesOrderProcessingStatus": "Confirmed",
            "DeliveryAddressDistrictName": "",
            "DeliveryAddressDunsNumber": "",
            "InvoiceAddressTimeZone": null,
            "OrderTotalChargesAmount": 0,
            "PaymentTermsName": "N30",
            "OrderTakerPersonnelNumber": "A02C",
            "InvoiceCustomerAccountNumber": "80011126",
            "SalesOrderStatus": "Backorder",
            "InvoiceAddressCountyId": "",
            "InvoiceAddressDistrictName": "",
            "IsInvoiceAddressPrivate": "No",
            "InvoiceAddressCity": "",
            "TotalSell": 204000,
            "ModifiedByCopy1": "rameezjamil",
            "ModifiedDateTimeCopy1": "2022-08-04T09:11:18Z",
            "smmSalesAmountTotal": 0,
            "DeliveryAddressStreet": "1101 RED VENTURES DRIVE",
            "DeliveryAddressCity": "FORT MILL",
            "InvoiceAddressLongitude": 0,
            "TotalCost": 82000,
            "DeliveryAddressCountryRegionId": "USA",
            "DeliveryBuildingCompliment": "",
            "OrderTotalAmount": 0,
            "TaxGroup": "AVATAX",

ADMIN999AD47B36 34
            "DeliveryAddressPostBox": "",
            "DeliveryAddressDescription": "RED VENTURES",
            "RequestedShippingDate": "2022-08-03T12:00:00Z",
            "InvoiceAddressZipCode": "",
            "TotalDiscountAmount": 0,
            "DeliveryAddressLatitude": 0,
            "GrossMargin": 59.80392156862745,
            "DeliveryAddressTimeZone": null,
            "rsmJobName": "Candy",
            "OrderingCustomerAccountNumber": "80011126",
            "DeliveryModeCode": "UPS 100WT",
            "InvoiceAddressPostBox": "",
            "SalesOrderOriginCode": "",
            "SalesStatus": "Backorder",
            "OrderResponsiblePersonnelNumber": "A045",
            "DeliveryAddressName": "RED VENTURES",
"CustomerRef": "not store",
            "ShippingCarrierServiceGroupId": "",
            "LanguageId": "en-US",
            "DeliveryAddressStateId": "SC",
            "OrderTotalDiscountAmount": 0,
            "DeliveryAddressStreetNumber": "",
            "ProjId": "60055675",
            "rsmJNIAddressSelection": "BillTo",
            "CurrencyCode": "EUR",
            "DeliveryAddressLongitude": 0,
            "InvoiceAddressStreetNumber": "",
"OrderTotal": 2700,
            "Email": "",
"rsmEstimatedTax": 0,
"LocationNumber": 5639710327,

"AddressSelection": "TBD",

"DeliveryAddressZipCode": "29707",

"CreatedByPortal": "No",

"DeliveryWholeAddress": "8350 Broad St Ste 900\nMc Lean,  VA, 2210
2-5150",
"RecommendedTax": 0,
"PortalKeyAddress": "12345-12345-12345-12345",

"CreatedByPortalAddress": "Yes",

"MelissaAddressKey": "12345-12345-12345-12345",

"SalesOrderStatusLabel": "Open order",
"CreatedDateTime1": "2022-10-27T11:17:12Z",
        }

ADMIN999AD47B36 35
    ]
}

3.2.27 SalesOrder Line


Name: <URL>/data/VSIJNISalesOrderLines
Example: https://nadel-coa1.sandbox.operations.dynamics.com/data/VSIJNISalesOrderLines
Response:
{
"@odata.context":
"https://nadel-coa1.sandbox.operations.dynamics.com/data/$metadata#VSIJNISalesOrderLines
",
"value": [
{
"@odata.etag":
"W/\"Jzk0OTE4NDM3Miw1NjM5NDM4MDg1OzAsMDsxLDU2Mzk4Mjk1Nzk7MCwwOzAsMDswL
DA7MSw1NjM5NDM4ODM1OzcyMjMwNjQ2Niw1NjM3MTQ3MjkwJw==\"",
"dataAreaId": "jni",
"InventoryLotId": "LOT002144059",
"JNICommission": 1,
"SalesUnitSymbol": "ea",
"rsmJNIFreightAccount": "No",
"rsmNET": 9,
"OrderedInventoryStatusId": "",
"DeliveryAddressLocationId": "LOC001926303",
"CalculateLineAmount": "Yes",
"DeliveryAddressCountyId": "",
"SalesRebateProductGroupId": "",
"DeliveryAddressCountryRegionISOCode": "IN",
"SalesOrderLineStatusLabel": "Open order",
"MultilineDiscountAmount": 0,
"rsmJNIShipToVendor": "",
"LineDiscountAmount": 0,
"LineNumber": 1,
"rsmJNIAddressAttention1": "",
"rsmJNISourcingVendAccount": "10010037",
"MainAccountIdDisplayValue": "",
"LineDescription": "desc",
"rsmJNIAddressAttention2": "",
"ItemNumber": "Bags",
"DeliveryAddressZipCode": "00771",
"RetailCalculatedTenderDiscountAmount": 0,
"MelissaAddressKey": "",
"RequestedReceiptDate": "2022-12-29T12:00:00Z",
"InventRefId": "40073900A",
"PackingUnitSymbol": "",
"vsiJNIPOAssignment": "New",

ADMIN999AD47B36 36
"OrderedSalesQuantity": 2,
"rsmMarginPercent": 10,
"DeliveryAddressDistrictName": "Uttar Pradesh",
"RetailCalculatedTenderDiscountPercentage": 0,
"DeliveryAddressDunsNumber": "",
"LineAmount": 20,
"SalesPriceQuantity": 1,
"LineDiscountPercentage": 0,
"PortalKey": "",
"ModifiedDateTime1": "2022-10-27T11:18:09Z",
"DeliveryWholeAddress": "A-5\nAndheri\n501501\nUttar Pradesh,Las Piedras-00771\
nIND\nIND",
"SalesPrice": 10,
"SalesTaxGroupCode": "AVATAX",
"RetailCalculatedLineDiscountPercentage": 0,
"SalesOrderNumber": "40073900",
"RetailCalculatedTotalDiscountAmount": 0,
"rsmMargin": 2,
"RetailCalculatedPeriodicDiscountAmount": 0,
"RecId1": 5639438085,
"rsmFirm": "No",
"DeliveryAddressStreet": "Andheri",
"DeliveryAddressCity": "Las Piedras",
"MultilineDiscountPercentage": 0,
"SalesOrderLineStatus": "Backorder",
"RemainInventPhysical": 2,
"AddressSelection": "To header ship-to",
"DeliveryAddressCountryRegionId": "IND",
"DeliveryBuildingCompliment": "A-5",
"DeliveryAddressPostBox": "501501",
"DeliveryAddressDescription": "Indian Inventory",
"rsmJNIShipToEmail": "",
"RequestedShippingDate": "2022-10-27T12:00:00Z",
"SalesProductCategoryName": "Bags",
"AccountNum": "80011834",
"ProjectId": "60056094",
"rsmJNIFactoryNotes": "fact",
"PortalKeyAddress": "",
"RetailCalculatedTotalDiscountPercentage": 0,
"DeliveryModeCode": "UPS 100WT",
"ModifiedBy1": "huzaifa.sohail1",
"RetailCalculatedManualLineDiscountPercentage": 0,
"InventRefTransId": "LOT002144060",
"RetailCalculatedManualLineDiscountAmount": 0,
"OrderLineReference": "",
"DeliveryAddressName": "DESKTOP METAL",
"rsmFreightAccountNum": "",

ADMIN999AD47B36 37
"InventTransId": "LOT002144059",
"DeliveryAddressStateId": "IND",
"RetailCalculatedPeriodicDiscountPercentage": 0,
"LocationNumber": 5639829579,
"rsmNETTotal": 18,
"rsmJNIDeliverySelection": "ToHeaderShipTo",
"rsmVendorSKU": "",
"DeliveryAddressStreetNumber": "177",
"rsmTrackable": "Yes",
"CurrencyCode": "USD",
"DeliveryAddressStreetInKana": "",
"RetailCalculatedLineDiscountAmount": 0,
"CreatedByPortalAddress": "Yes",
"CreatedDateTime1": "2022-10-27T11:17:12Z"
}
]
}

3.2.28 Customer Payment Method


Name: <URL>/data/CustomerPaymentMethods
Example: https://nadel-coa1.sandbox.operations.dynamics.com/data/CustomerPaymentMethods
Response:
{
    "@odata.context": "https://nadel-coa1.sandbox.operations.dynamics.com/data/
$metadata#CustomerPaymentMethods",
    "value": [
        {
            "@odata.etag": "W/\"JzE3NjM1MDc2NzIsNTYzNzE0NjA3Nic=\"",
            "dataAreaId": "jni",
            "Name": "ACH",
            "LastFileDate": "1900-01-01T12:00:00Z",
            "ValidateCheckNumberIsMandatory": "No",
            "ExportBillOfExchangeDuringInvoicePosting": "No",
            "ImportFormatClassName": "",
            "PaymentStatus": "Sent",
            "AttributePaymentIdEnabled": "No",
            "ValidatePaymentReferenceIsMandatory": "Yes",
            "ValidateDepositSlipIsMandatory": "No",
            "PaymentAccountDisplayValue": "Comerica",
            "DimensionControl": "No",
            "IsSEPA": "No",
            "SplitPayment": "No",
            "Description": "ACH",
            "SATPaymentType": null,
            "SumByPeriod": "Total",
            "ValidateOffsetTransactionTypeIsBank": "No",
            "AttributeBelgianStructuredPaymentIdEnabled": "No",

ADMIN999AD47B36 38
            "ReturnLayoutGroupId": "",
            "PaymentJournalName": "",
            "ExportLayoutGroupId": "",
            "ERFormatMapping": "",
            "ERModelMappingTable": 0,
            "CreateAndDrawBillOfExchangeDuringInvoicePosting": "No",
            "ERSolution": "",
            "EnablePostdatedCheckClearingPosting": "No",
            "BridgingPostingEnabled": "No",
            "RemittanceFormatClassName": "",
            "BankTransactionType": "DEP-ACH",
            "ValidateTransactionTypeIsBank": "Yes",
            "BillOfExchangeDraftType": "NoDraft",
            "DiscountGracePeriodDays": 0,
            "ReturnFormatClassName": "",
            "LastFileNumberToday": 0,
            "ERProvider": "",
            "PaymentType": "ElectronicPayment",
            "AccountType": "Bank",
            "ExportFormatClassName": "",
            "PrimaryMethodPayment": "Blank",
            "AttributeThirdPartyBankEnabled": "No",
            "DescriptionPrimaryMethodPayment": "",
            "AttributePaymentAccountEnabled": "No",
            "BridgingPostingAccountDisplayValue": "",
            "UseGERConfiguration": "No",
            "LastFileNumber": 0,
            "DirectDebit": "No",
            "PostingProfileBillsRemitCollection": "",
            "PostingProfileBillsRemitDiscount": "",
            "ModifiedBy1": "?",
            "ModifiedDateTime1": "2022-08-12T14:16:51Z"
        }
]
}
3.2.29 Vendor Invoice Journal
Name: <URL>/data/JNIVendInvoiceJours
Example: https://nadel-coa1.sandbox.operations.dynamics.com/data/JNIVendInvoiceJours
Response:

{
    "@odata.context": "https://nadel-coa1.sandbox.operations.dynamics.com/data/
$metadata#JNIVendInvoiceJours",
    "value": [
        {
            "@odata.etag": "W/\"JzEsNTYzNzMzMTM5OSc=\"",
            "InterCompanySalesId": "",

ADMIN999AD47B36 39
            "DocumentOrigin": "Manual",
            "PaymDayId": "",
            "numberSequenceGroup": "",
            "InvoiceAccount": "10034040",
            "InvoiceAmountMST": 38.5,
            "ReturnItemNum": "",
            "PostingProfile": "Gen",
            "Listcode": "IncludeNot",
            "DocumentNum": "",
            "TaxRoundOff": 0,
            "VendGroup": "PP",
            "PaymId": "",
            "TaxInvoicePurchId": "",
            "ItemBuyerGroupId": "",
            "VATNum": "",
            "TaxPrintOnInvoice": "No",
            "InterCompanyLedgerVoucher": "",
            "ExchRate": 100,
            "LogisticsElectronicAddress": 0,
            "Description": "Jack Nadel International",
            "SourceDocumentHeader": 5637518761,
            "VendPaymentGroup": "",
            "InvoiceAmount": 38.5,
            "Prepayment": "No",
            "OrderAccount": "10034040",
            "DlvTerm": "",
            "Proforma": "No",
            "dataAreaId": "jni",
            "InterCompanyPosted": "No",
            "SumLineDisc": 0,
            "LanguageId": "en-US",
            "ReportingCurrencyExchangeRate": 0,
            "BankLCImportLine": 0,
            "TaxSpecifyByLine": "No",
            "InvoiceDate": "2020-06-24T12:00:00Z",
            "ExchRateSecondary": 0,
            "InclTax": "No",
            "InvoiceType": "Standard",
            "SumMarkup": 0,
            "PurchId": "FARMX-9270",
            "SumMarkupMST": 0,
            "CashDisc": 0,
            "TaxGroup": "",
            "Qty": 1,
            "InvoiceId": "1035549",
            "DueDate": "2020-07-05T12:00:00Z",
            "CashDiscDate": "1900-01-01T12:00:00Z",

ADMIN999AD47B36 40
            "CashDiscPercent": 0,
            "VendorRequestedWorkerEmail": "",
            "RemittanceAddress": 5637166770,
            "Weight": 0,
            "DlvMode": "",
            "VendInvoiceGroup": "",
            "FixedDueDate": "2020-07-05T12:00:00Z",
            "PackedExtensions": null,
            "InvoiceRoundOff": 0,
            "Volume": 0,
            "DeliveryName": "Jack Nadel International",
            "EndDiscMST": 0,
            "DeliveryPostalAddress": 0,
            "ReverseChargeAmount": 0,
            "IntrastatDispatch": "",
            "EnterpriseNumber": "",
            "CountryRegionId": "USA",
            "InterCompanyCompanyId": "",
            "LedgerVoucher": "API000020106",
            "PaymentSched": "",
            "InternalInvoiceId": "API000020106",
            "CostLedgerVoucher": "API000020106",
            "SourceDocumentLine": 5637870727,
            "ParmId": "BSID000615117",
            "EUSalesList": "",
            "DocumentDate": "2020-06-05T12:00:00Z",
            "PurchaseType": "Purch",
            "Payment": "N30",
            "CashDiscCode": "",
            "SalesBalance": 38.5,
            "EndDisc": 0,
            "SumTax": 0,
            "DocumentURL": "https://jnadel.sharepoint.com/sites/OCR-T/Shared Doc
uments/147009480.pdf",
            "ModifiedDateTime1": "2020-06-24T22:16:16Z"
        }
    ]
}
3.2.30 Sales Order Invoice Email
Name: <URL>/data/JNISalesOrderInvoiceEmails
Example: https://nadel-coa1.sandbox.operations.dynamics.com/data/JNISalesOrderInvoiceEmails
Response:

{
    "@odata.context": "https://nadel-
dev107b10ff90bfa759a9devaos.axcloud.dynamics.com/data/
$metadata#JNISalesOrderInvoiceEmails",

ADMIN999AD47B36 41
    "value": [
        {
            "@odata.etag": "W/\"JzEsNTYzODAwOTMyNic=\"",
            "dataAreaId": "jni",
            "SalesId": "40071160",
            "InvoiceEmail": "lewandowski@gmail.com",
            "InvoiceEmailRecId": 5638009326,
            "Save": "No",
            "IsInvoice": "Yes",
            "IsConfirm": "Yes",
“ModifiedDateTime1": "2022-10-20T12:49:32Z"

        }
    ]
}

3.2.31 Proj Invoice Jour Header


Name: <URL>/data/rsmJNIProjInvoices
Example: https://nadel-coa1.sandbox.operations.dynamics.com/data/rsmJNIProjInvoices
Response:
{
    "@odata.context": "https://nadel-coa1.sandbox.operations.dynamics.com/data/
$metadata#rsmJNIProjInvoices",
    "value": [
        {
            "@odata.etag": "W/\"JzcyMDc1NzA4NSw1NjM3MTQ0NTc2OzE0Njg5OTE1Nyw1NjM3MTQ3OT
g1OzI2Njc5Mjk2NCw1NjM3MTQ1NTY1OzQ3NDA0NjA0MCw1NjM3MTUwODE2Jw==\"",
            "dataAreaId": "jni",
            "ProjInvoiceJourRecId": 5637144576,
            "InvoiceNumber": "PRI000000001",
            "Biller": "Cittie Luistro",
            "TotalTax": 0,
            "rsmJobName": "Jillian Petrie",
            "FreightSellAmount": 0,
            "ProjId": "60002405",
            "InvoiceAccount": "80014469",
            "BillingDate": "2020-03-01T12:00:00Z",
            "SalesId": "113785",
            "TotalInvoiceAmount": 0,
            "LedgerVoucher": "PRI000000001",
            "TotalCharges": 0,
            "ProjInvoiceId": "PRI000000001",
            "InvoiceDate": "2020-03-01T12:00:00Z",
            "TotalSell": 0,
            "FreightCostAmount": 0,
            "InvoiceDatetoClient": "2020-03-01T12:00:00Z",
            "ProposalId": "PRIP000000001",

ADMIN999AD47B36 42
            "ModifiedBy1": "jkramer",
            "ModifiedDateTime1": "2020-03-01T16:35:42Z"
        }
]
}

3.2.32 Proj Invoice Jour Lines


Name: <URL>/data/ProjInvoicesLines
Example: https://nadel-coa1.sandbox.operations.dynamics.com/data/ProjInvoiceLines
Response:
{
    "@odata.context": "https://nadel-coa1.sandbox.operations.dynamics.com/data/
$metadata#ProjInvoiceLines",
    "value": [
        {
            "@odata.etag": "W/\"JzcyMDc1NzA4NSw1NjM3MTQ0NTc2OzEsNTYzNzE0NDU3Nic=\"",
            "IsBudget": "No",
            "HourQty": 0,
            "Seq": 0,
            "RetainedNow": 0,
            "ContractLineNum": "",
            "InvoicedCV": 0,
            "TotalEstimatedCost": 0,
            "RecVersion1": 1,
            "InvoicedNowTotal": 0,
            "InvoicedNow": 0,
            "TotalEstimatedRevenue": 0,
            "ContractValue": 0,
            "PctInvoiced": 0,
            "ProjProposalId": "PRIP000000001",
            "RetainedPercent": 0,
            "EstimatedHourQty": 0,
            "ProjId": "60002405",
            "InvoiceAccount": "80014469",
            "ProposalId": "PRIP000000001",
            "RecId1": 5637144576,
            "InvNotes": "",
            "FundingSource": 5637146078,
            "HourRevenueMst": 0,
            "Invoiced": 0,
            "InvoicedLeadRetainage": 0,
            "ModifiedDateTime1": "2022-11-18T17:23:46Z",
            "CostRevenueMst": 0,
            "enterInvoiceNow": 0,
            "Partition1": 5637144576,
            "CapAmountAbove": 0,

ADMIN999AD47B36 43
            "InvoicedNowLeadRetainage": 0,
            "PctInclNow": 0,
            "InvoicedNowCost": 0,
            "ModifiedBy1": "?",
            "CostCostMst": 0,
            "DataAreaId1": "jni",
            "IsPreBill": "No",
            "HourCostMst": 0,
            "dataAreaId": "jni",
            "CapAmount": 0,
            "TotalRevenueMst": 0,
            "RevenueRevenueMst": 0,
            "PctComplete": 0,
            "TotalCostMst": 0,
            "InvoicedCost": 0,
            "ReleasedAmount": 0
        }
]
}

3.3 POST SERVICES

3.3.1 Employee Profile

This API will give you the Information of all Employees present in the organization depending
on the Personnel Number and Time Stamp parameters. If Personnel Number = “” then, the API
will give you all the profiles of Employees else, you will only get single record if Personnel
Number is given. The Time Stamp parameter will help in getting only the modified records out
in response after the first call is made to the API.

Name: <URL>/api/services/vsiJNIServiceGroup/vsiJNIService/getEmployeeProfiles
Example: https://nadel-coa1.sandbox.operations.dynamics.com/api/services/vsiJNIServiceGroup/
vsiJNIService/getEmployeeProfiles

First Time API Call Postman Request Parameters:

Giving TimeStamp = 1900-01-01T00:00:00Z, client will be able to extract all the data from
D365 for the first time and will get a current time stamp from the response body.

API Call after First Time:

Now, client will use the timestamp from the previous response body of the first time API call,
in order to get the modified or changed records only.
If there is no modified or changed record, the client will get an empty list. Otherwise, will get
data of only modified records in the list.

ADMIN999AD47B36 44
Request Body Example:

Request Body:

{
"_request":
{

"PersonnelNumber": "",
"TimeStamp": "1900-01-01T00:00:00Z"

}
}

Response:
{
     "$id": "1",
     "Status": "Success",
    "TimeStamp": "2022-04-22T07:59:21Z",
     "parmEmployeeList": [
        {
            "$id": "2",
            "PersonnelNumber": "marksimnitt1",
"PartyNumber": "PTY000000514",
            "FirstName": "Mark",
            "MiddleName": "",
            "LastName": "Simnitt",
            "LastNamePrefix": "",
            "ProjectID": "",
            "Ledger": false,
            "SendEmailAs": "",
            "DisplayEmailAs": "",
            "DisplayPhoneNumber": "",
            "Title": "",
            "LocationCode": "225",
            "LocationName": "Sacramento",
            "DepartmentCode": "80",
            "DepartmentName": "Sales",
            "ProgramCode": "",
            "ProgramName": "",
            "ContactAddress": "7265 SW Alden Street\nPortland,OR97223\nUSA",
            "Primary": true,
            "TimeStamp": "2022-04-21T19:08:39Z"
        }]
3.3.2 Get Customer Account Number
In order to create a customer profile, we must first run the “getAccountNumber” post service
to get the customer’s account number and then copy the account number from the response
body, which will be used in the “createCustomer” post service’s request body’s parameter
“AccountNumber” to create a new customer.

ADMIN999AD47B36 45
“Get Account Number” Post Service for getting Customer’s Account Number from Number
Sequence:

Name: <URL>/api/services/vsiJNIServiceGroup/vsiJNIService/getAccountNumber
Example:
https://nadel-coa1.sandbox.operations.dynamics.com/api/services/vsiJNICreateCustomerServiceGroup/
vsiJNICreateCustomerService/getAccountNumber

Response Body after running the service from PostMan:

{
    "$id": "1",
    "AccountNumber": "81007451",
    "Status": "Success",
    "Message": "Account Number fetched"
}

3.3.3 Create Customer Profile


“Create Customer” Post Service for Creating a New Customer with the Account Number fetched from 3.3.2. It will
give the branding consultant id and name as Employee Id and Employee Name respectively, along with commission
split percentage in response.

Name: <URL>/api/services/vsiJNIServiceGroup/vsiJNIService/createCustomer
Example:
https://nadel-coa1.sandbox.operations.dynamics.com/api/services/vsiJNICreateCustomerServiceGroup/
vsiJNICreateCustomerService/createCustomer

Request Parameters Explanation:

Request Parameter “Purpose” Mapping with the respective names:

1 = Business
2 = Invoice
3 = Payment
4 = Delivery
5 = Other

Request Parameter “Restriction” Mapping with the respective names:

1 = External
2 = Internal

Request Parameter “BrandingConsultant”:

For Branding Consultant, personnel number of the employee should be given in the request parameter to
set the customer’s name in the Branding Consultant Field on the form.

Request Parameter “DUNSNumber”:

For DUNSNumber a nine digit number should be given to request parameter.

ADMIN999AD47B36 46
Request Parameter “TypeID” in List Attachments parameter:

1 = URL
2 = Note
3 = File

Request Parameter “PortalKey” in List Parameters “EmailContacts”, “PhoneContacts” and


“Attachments”:
Portal Key should be unique and will be send by the portal in order to track or filter the records. It is
portal’s own key.

Request Parameter “PartyType” mapping with respective names:

0 = Person
1 = Organization

When the type is Person, the form is going to incorporate other fields like First Name, Middle Name, Last
Name, etc. The name fields are going to get populated simply by passing the full name in Name parameter
field of Customer request body.
For e.g. If the party type is Person and name is passed as James Morgan McGill, the name parameters
are going to get filled as,

First Name: James


Middle Name: Morgan
Last Name: McGill

Create Customer’s API gracefully handles the allocation of name parameters simply by using the name
parameter in the request body.

Request Body for creating a new customer:

{
    "_request": {
        "AccountNumber": "81007451",
"PartyType": 0,
        "Name": "Williamson Morgan McGill",
"KnownAs": "Jimmy",
         "ParentCompanyName": "PTY000000247",
        "CustomerGroup": "30",
        "Currency": "USD",
        "PaymTermID": "",
        "PaymTermMode": "",
        "DefaultDimensionDepartment": "60",
        "DefaultDimensionLocations": "120",
        "DefaultDimensionProgram": "1001",
        "DUNSNumber": "546792318",
        "BrandingConsultant": "1000",
        "Addresses": [{

            "AddressLocationName": "Home",
            "City": "Reno",
            "Street": "Blake-Street",
            "StreetNumber": "226",
            "CountryRegionID": "USA",

ADMIN999AD47B36 47
            "State": "NV",
            "ZipCode": "89509-1650",
            "County": "",
            "BuildingComplement":"",
            "DistrictName":"",
            "PostBox":"",
            "IsPrimary": 0,
            "Purpose": 5,
"PortalKey":"12345-12345-12345-12345",
            "MelissaAddressKey":"12345-12345-12345-12345"
        },
        {
            "AddressLocationName": "Office India",
            "City": "Las Piedras",
            "Street": "Blake-Street",
            "StreetNumber": "226",
            "CountryRegionID": "IND",
            "State": "IND",
            "ZipCode": "00771",
            "County": "",
            "BuildingComplement":"A-5",
            "DistrictName":"Uttar Pradesh",
            "PostBox":"501501",
            "IsPrimary": 1,
            "Purpose": 4,
"PortalKey":"12345-12345-12345-12345",
            "MelissaAddressKey":"12345-12345-12345-12345"  
        }],
        "EmailContacts": [
            {
                "ContactName": "Email Address",
                "Contact": "ronaldo@gmail.com",
                "IsPrimary": 1,
                "Purpose": 2,
                "PortalKey": "234567"
            },
            {
                "ContactName": "Email Address",
                "Contact": "williamson@gmail.com",
                "IsPrimary": 1,
                "Purpose": 1,
                "PortalKey": "123456"
            }
        ],
        "PhoneContacts": [
            {
                "ContactName": "Mobile Number",

ADMIN999AD47B36 48
                "Contact": "+9236090078601",
                "IsPrimary": 1,
                "Purpose": 3,
                "PortalKey": "345678"
            },
            {
                "ContactName": "Mobile Number",
                "Contact": "+9236090078001",
                "IsPrimary": 1,
                "Purpose": 4,
                "PortalKey": "456789"
            }
        ],
        "Attachments": [

            {
                "AttachmentName": "Tax",
                "Notes": "https://www.google.com/url?sa=i&url=https%3A%2F
%2F1000logos.net%2Fdynamics-365-logo
%2F&psig=AOvVaw1Pv8Ct8LF0eIYQneLLGxLO&ust=1651332822009000&source=images&cd=vf
e&ved=0CAkQjRxqFwoTCLD9_aPMufcCFQAAAAAdAAAAABAD", 
                "AttachmentTypeId": "URL",
                "Restriction": 1,
                "PortalKey": "567890"
            },
            {
                "AttachmentName": "Resale",
                "Notes": "https://www.google.com/url?sa=i&url=https%3A%2F
%2F1000logos.net%2Fdynamics-365-logo
%2F&psig=AOvVaw1Pv8Ct8LF0eIYQneLLGxLO&ust=1651332822009000&source=images&cd=vf
e&ved=0CAkQjRxqFwoTCLD9_aPMufcCFQAAAAAdAAAAABAD", 
                "AttachmentTypeId": "Note",
                "Restriction": 1,
                "PortalKey": "678901"
            },
            {
                "AttachmentName": "Tax",
                "Notes": "https://www.google.com/url?sa=i&url=https%3A%2F
%2F1000logos.net%2Fdynamics-365-logo
%2F&psig=AOvVaw1Pv8Ct8LF0eIYQneLLGxLO&ust=1651332822009000&source=images&cd=vf
e&ved=0CAkQjRxqFwoTCLD9_aPMufcCFQAAAAAdAAAAABAD", 
                "AttachmentTypeId": "File",
                "Restriction": 1,
                "PortalKey": "789012"
            }
        ]
        

ADMIN999AD47B36 49
    }
}

In the request body the highlighted AccountNumber has been copied and pasted from the
“getAccountNumber” post service.

Response Body when customer is successfully created:

{
    "$id": "1",
    "AccountNumber": "81007451",
    "PartyNumber": "PTY000024266",
"ParentCompanyName": "Ryan Hinn",
  "DefaultDimensionValue": 5637350076,
     "DepartmentCode": "60",
     "DepartmentName": "Operations",
     "LocationsCode": "120",
     "LocationsName": "Office Split Allocations",
     "ProgramCode": "1001",
     "ProgramName": "Programs and Stores Other",
"EmployeeID": "1000",
     "EmployeeName": "Courtney Wims",
     "CommisionSplit": 100.0,

    "Addresses": [

        {
            "$id": "2",
            "AddressLocationName": "Home",
            "City": "Reno",
            "Street": "Blake-Street",
            "StreetNumber": "226",
            "CountryRegionID": "USA",
            "State": "NV",
            "ZipCode": "89509-1650",
            "IsPrimary": 0,
            "Purpose": 5,
            "County": "",
            "BuildingComplement": "",
            "DistrictName": "",
            "PostBox": "",
            "LocationNumber": 5639587327,
"PortalKey":"12345-12345-12345-12345",
            "MelissaAddressKey":"12345-12345-12345-12345",
"Status": "Success",
            "StatusCode": 200,

ADMIN999AD47B36 50
            "Message": "Address successfully created."

        },
        {
            "$id": "3",
            "AddressLocationName": "Office India",
            "City": "Las Piedras",
            "Street": "Blake-Street",
            "StreetNumber": "226",
            "CountryRegionID": "IND",
            "State": "IND",
            "ZipCode": "00771",
            "IsPrimary": 1,
            "Purpose": 4,
            "County": "",
            "BuildingComplement": "A-5",
            "DistrictName": "Uttar Pradesh",
            "PostBox": "501501",
            "LocationNumber": 563958732,
"PortalKey":"12345-12345-12345-12345",
            "MelissaAddressKey":"12345-12345-12345-12345",
"Status": "Success",
            "StatusCode": 200,
            "Message": "Address successfully created."

        }
    ],
    "EmailContacts": [
        {
            "$id": "4",
            "ContactName": "Email Address",
            "Contact": "ronaldo@gmail.com",
            "IsPrimary": 1,
            "Purpose": 2,
            "PortalKey": "234567",
            "ElectronicAddressId": 5638070826
        },
        {
            "$id": "5",
            "ContactName": "Email Address",
            "Contact": "williamson@gmail.com",
            "IsPrimary": 1,
            "Purpose": 1,
            "PortalKey": "123456",
            "ElectronicAddressId": 5638070827
        }
    ],

ADMIN999AD47B36 51
    "PhoneContacts": [
        {
            "$id": "6",
            "ContactName": "Mobile Number",
            "Contact": "+9236090078601",
            "IsPrimary": 1,
            "Purpose": 3,
            "PortalKey": "345678",
            "ElectronicAddressId": 1343103532
        },
        {
            "$id": "7",
            "ContactName": "Mobile Number",
            "Contact": "+9236090078001",
            "IsPrimary": 1,
            "Purpose": 4,
            "PortalKey": "456789",
            "ElectronicAddressId": 1343103533
        }
    ],
    "Attachments": [
        {
            "$id": "8",
             "AttachmentName": "Tax",

            "Notes": "https://www.google.com/url?sa=i&url=https%3A%2F
%2F1000logos.net%2Fdynamics-365-logo
%2F&psig=AOvVaw1Pv8Ct8LF0eIYQneLLGxLO&ust=1651332822009000&source=images&cd=vf
e&ved=0CAkQjRxqFwoTCLD9_aPMufcCFQAAAAAdAAAAABAD",
             "AttachmentTypeId": "URL",

            "Restriction": 1,
            "PortalKey": "567890",
            "DocumentID": "4e3e748f-d116-464c-8b76-5ca56f875e1b"
        },
        {
            "$id": "9",
            "AttachmentName": "Resale",
            "Notes": "https://www.google.com/url?sa=i&url=https%3A%2F
%2F1000logos.net%2Fdynamics-365-logo
%2F&psig=AOvVaw1Pv8Ct8LF0eIYQneLLGxLO&ust=1651332822009000&source=images&cd=vf
e&ved=0CAkQjRxqFwoTCLD9_aPMufcCFQAAAAAdAAAAABAD",
            "AttachmentTypeId": "Note",
            "Restriction": 1,
            "PortalKey": "678901",
            "DocumentID": "7d8a1d9c-8dcd-48ba-b5de-46bc8406e3e2"
        },

ADMIN999AD47B36 52
        {
            "$id": "10",
            "AttachmentName": "Tax",
            "Notes": "https://www.google.com/url?sa=i&url=https%3A%2F
%2F1000logos.net%2Fdynamics-365-logo
%2F&psig=AOvVaw1Pv8Ct8LF0eIYQneLLGxLO&ust=1651332822009000&source=images&cd=vf
e&ved=0CAkQjRxqFwoTCLD9_aPMufcCFQAAAAAdAAAAABAD",
            "AttachmentTypeId": "File",
            "Restriction": 1,
            "PortalKey": "789012",
            "DocumentID": "c06357c8-c4ed-4f1b-81aa-8d5b72b3abb8"
        }
    ],
    "Status": "Success",
"StatusCode": 200,

    "Message": "Customer Successfully Created"
}

3.3.4 Add Customer Address Information

This API will add address information of a customer by passing in the Account Number of a
specific customer and other details.

Name: <URL>/api/services/
vsiJNIAddAddressServiceGroup/vsiJNIAddAddressService/addAddressInformation

Example: https://nadel-dev107b10ff90bfa759a9devaos.axcloud.dynamics.com/api/services/
vsiJNIAddAddressServiceGroup/vsiJNIAddAddressService/addAddressInformation

Request Body:

{
    "_request": {
        "AccountNumber": "81008023",
        "Addresses": [
            {
                "AddressLocationName": "HomeList1",
                "City": "Reno",
                "Street": "Blake-Street",
                "StreetNumber": "226",
                "CountryRegionID": "USA",
                "State": "CA",
                "ZipCode": "90015-227",
                "County": "Contra Costa",
                "BuildingComplement": "",
                "DistrictName": "",

ADMIN999AD47B36 53
                "PostBox": "",
                "IsPrimary": 1,
                "Purpose": 1,
"PortalKey": "12345-12345-12345-12345",
                 "MelissaAddressKey": "12345-12345-12345-12345"

            },
            {
                "AddressLocationName": "HomeList2",
                "City": "Reno",
                "Street": "Blake-Street",
                "StreetNumber": "226",
                "CountryRegionID": "USA",
                "State": "CA",
                "ZipCode": "90015-227",
                "County": "Contra Cos",
                "BuildingComplement": "",
                "DistrictName": "",
                "PostBox": "",
                "IsPrimary": 0,
                "Purpose": 2,
"PortalKey": "12345-12345-12345-12345",
                 "MelissaAddressKey": "12345-12345-12345-12345"

            }
        ]
    }
}
Response Body:

{
    "$id": "1",
    "AccountNumber": "81008023",
    "PartyNumber": "PTY000025075",
    "Addresses": [
        {
            "$id": "2",
            "AddressLocationName": "HomeList1",
            "City": "Reno",
            "Street": "Blake-Street",
            "StreetNumber": "226",
            "CountryRegionID": "USA",
            "State": "CA",
            "ZipCode": "90015-227",
            "IsPrimary": 1,
            "Purpose": "Business",
            "County": "CONTRA COS",

ADMIN999AD47B36 54
            "BuildingComplement": "",
            "DistrictName": "",
            "PostBox": "",
            "LocationNumber": 5639771828,
            "Status": "Success",
            "StatusCode": 200,
            "Message": "Address successfully created."
        },
        {
            "$id": "3",
            "AddressLocationName": "HomeList2",
            "City": "Reno",
            "Street": "Blake-Street",
            "StreetNumber": "226",
            "CountryRegionID": "USA",
            "State": "CA",
            "ZipCode": "90015-227",
            "IsPrimary": 0,
            "Purpose": "Invoice",
            "County": "CONTRA COS",
            "BuildingComplement": "",
            "DistrictName": "",
            "PostBox": "",
            "LocationNumber": 5639771829,
            "Status": "Success",
            "StatusCode": 200,
            "Message": "Address successfully created."
        }
    ],
    "Status": "Success",
    "StatusCode": 200,
    "Message": "All Addresses have been successfully added."
}

3.3.5 Add Customer Contact Information

This API will add contact information like Email and Phone Number to the respected customer
of whom Account Number is given based on the type number.

Name: <URL>/api/services/
vsiJNIAddContactServiceGroup/vsiJNIAddContactService/addContactInformation

ADMIN999AD47B36 55
Example: https://nadel-dev107b10ff90bfa759a9devaos.axcloud.dynamics.com/api/services/
vsiJNIAddContactServiceGroup/vsiJNIAddContactService/addContactInformation

Request Parameters Explanation:

Request Parameter “Type” Numbers Mapping with the respective names:

1 = Phone
2 = Email

Request Parameter “CreatedByPortal” and “PortalKey”:

CreatedByPortal = 1 means that the record is created by the Portal.


CreatedByPortal = 0 means that the record is not created by the Portal.
PortalKey is the portal’s own unique key which is used in order to track or filter the records.

Request Body:

{
    "_request": {
        "AccountNumber": "81008024",
        "Contacts": [
            {
                "ContactName": "New Number",
                "Contact": "+7635678901247",
                "IsPrimary": 1,
                "Type": 1,
                "Purpose": 3,
                "CreatedByPortal": 0,
                "PortalKey": "090078600"
            },
            {
                "ContactName": "New Email",
                "Contact": "newemail12345@gmail.com",
                "IsPrimary": 1,
                "Type": 2,
                "Purpose": 3,
                "CreatedByPortal": 1,
                "PortalKey": "090078600-0001111-222334455-001"
            }
        ]
    }
}

Response Body:

{
    "$id": "1",

ADMIN999AD47B36 56
    "AccountNumber": "81008024",
    "PartyNumber": "PTY000025097",
    "Contacts": [
        {
            "$id": "2",
            "ContactName": "New Number",
            "Contact": "+7635678901247",
            "IsPrimary": "Yes",
            "Purpose": "Payment",
            "Type": "Phone",
            "CreatedByPortal": "No",
            "ElectronicAddressId": "000073366",
            "PortalKey": "090078600",
            "Status": "Success",
            "StatusCode": 200,
            "Message": "Contact Information has been successfully added."
        },
        {
            "$id": "3",
            "ContactName": "New Email",
            "Contact": "newemail12345@gmail.com",
            "IsPrimary": "Yes",
            "Purpose": "Payment",
            "Type": "Email address",
            "CreatedByPortal": "Yes",
            "ElectronicAddressId": "000073367",
            "PortalKey": "090078600-0001111-222334455-001",
            "Status": "Success",
            "StatusCode": 200,
            "Message": "Contact Information has been successfully added."
        }
    ],
    "Status": "Success",
    "StatusCode": 200,
    "Message": "All contact information has been added."
}

3.3.6 Update Customer Address Information

This API will update the Address Information of a selected record for a specific customer by
giving the customer account number, Purpose, Party Number and Location Number in the
request parameter.

Party Number and Location Number will be fetched from the response by running the “Create
Customer Profile” API 3.3.3 or “Add Customer Address Information“ API 3.3.4 .

ADMIN999AD47B36 57
Name: <URL>/api/services/
vsiJNIEditAddressInformationServiceGroup/vsiJNIEditAddressInformationService/editAddressInformation

Example: https://nadel-dev107b10ff90bfa759a9devaos.axcloud.dynamics.com/api/services/
vsiJNIEditAddressInformationServiceGroup/vsiJNIEditAddressInformationService/editAddressInformation

Request Body:

{
    "_request": {
        "AccountNumber": "81008023",
        "Addresses": [
            {
                "LocationNumber": "5639764331",
                "AddressLocationName": "InventoryNew",
                "City": "Reno",
                "Street": "228, Blake-Street",
                "StreetNumber": "288",
                "CountryRegionID": "USA",
                "State": "CA",
                "ZipCode": "90015-227",
                "County": "Contra Costa",
                "BuildingComplement": "",
                "DistrictName": "",
                "PostBox": "",
                "IsPrimary": 1,
                "Purpose": 3,
"PortalKey": "12345-12345-12345-12345",
                 "MelissaAddressKey": "12345-12345-12345-12345"

            },
            {
                "LocationNumber": "5639764332",
                "AddressLocationName": "Inventory2New",
                "City": "Reno",
                "Street": "229, Blake-Street",
                "StreetNumber": "288",
                "CountryRegionID": "USA",
                "State": "CA",
                "ZipCode": "90015-227",
                "County": "Contra Costa",
                "BuildingComplement": "",
                "DistrictName": "",
                "PostBox": "",
                "IsPrimary": 0,
                "Purpose": 2,
"PortalKey": "12345-12345-12345-12345",

ADMIN999AD47B36 58
                 "MelissaAddressKey": "12345-12345-12345-12345"

            }
        ]
    }
}

Response Body:

{
    "$id": "1",
    "AccountNumber": "81008023",
    "PartyNumber": "PTY000025075",
    "Addresses": [
        {
            "$id": "2",
            "AddressLocationName": "InventoryNew",
            "City": "Reno",
            "Street": "228, Blake-Street",
            "StreetNumber": "288",
            "CountryRegionID": "",
            "State": "CA",
            "ZipCode": "90015-227",
            "IsPrimary": 1,
            "Purpose": "Payment",
            "County": "",
            "BuildingComplement": "",
            "DistrictName": "",
            "PostBox": "",
            "LocationNumber": 5639764331,
"PortalKey": "12345-12345-12345-12345",
                 "MelissaAddressKey": "12345-12345-12345-12345",
            "Status": "Success",
            "StatusCode": 200,
            "Message": "Address has been successfully updated."
        },
        {
            "$id": "3",
            "AddressLocationName": "Inventory2New",
            "City": "Reno",
            "Street": "229, Blake-Street",
            "StreetNumber": "288",
            "CountryRegionID": "",
            "State": "CA",
            "ZipCode": "90015-227",
            "IsPrimary": 0,

ADMIN999AD47B36 59
            "Purpose": "Invoice",
            "County": "",
            "BuildingComplement": "",
            "DistrictName": "",
            "PostBox": "",
            "LocationNumber": 5639764332,
"PortalKey": "12345-12345-12345-12345",
                 "MelissaAddressKey": "12345-12345-12345-12345",
            "Status": "Success",
            "StatusCode": 200,
            "Message": "Address has been successfully updated."
        }
    ],
    "Status": "Success",
    "StatusCode": 200,
    "Message": "All address information has been successfully updated."
}

3.3.7 Update Customer Contact Information

This API will update the contact information of the customer depending on the type i.e. Phone
or Email by passing the specific Customer’s Account Number, Purpose, Party Number and
Electronic Address Id of the contact to be updated.

Party Number and Electronic Address Id will be fetched from the response by running the
“Create Customer Profile” API 3.3.3 or “Add Customer Contact Information“ API 3.3.5

Name:
<URL>/api/services/vsiJNIEditContactInformationServiceGroup/vsiJNIEditContactInformationService/
editContactInformation

Example: https://nadel-dev107b10ff90bfa759a9devaos.axcloud.dynamics.com/api/services/
vsiJNIEditContactInformationServiceGroup/vsiJNIEditContactInformationService/editContactInformation
Request Body:

{
    "_request": {
        "AccountNumber": "81008024",
        "Contacts": [
            {
                "ElectronicAddressId": "000073359",
                "ContactName": "Updated New Email",
                "Contact": "huzaifa@gmail.com",
                "IsPrimary": 1,
                "Purpose": 1,
                "CreatedByPortal": 1,

ADMIN999AD47B36 60
                "PortalKey": "090078600-0001111-222334455-001"
            },
            {
                "ElectronicAddressId": "000073360",
                "ContactName": "Updated New Email2",
                "Contact": "newemail12323488998@gmail.com",
                "IsPrimary": 0,
                "Purpose": 3,
                "CreatedByPortal": 0,
                "PortalKey": "090078600-0001111-222334455-002"
            }
        ]
    }
}

Response Body:

{
    "$id": "1",
    "AccountNumber": "81008024",
    "PartyNumber": "PTY000025097",
    "Contacts": [
        {
            "$id": "2",
            "ContactName": "Updated New Email",
            "Contact": "huzaifa@gmail.com",
            "IsPrimary": "Yes",
            "Purpose": "Business",
            "Type": "Email address",
            "CreatedByPortal": "Yes",
            "ElectronicAddressId": "000073359",
            "PortalKey": "090078600-0001111-222334455-001",
            "Status": "Success",
            "StatusCode": 200,
            "Message": "Contact Information has been successfully updated."
        },
        {
            "$id": "3",
            "ContactName": "Updated New Email2",
            "Contact": "newemail12323488998@gmail.com",
            "IsPrimary": "No",
            "Purpose": "Payment",
            "Type": "Email address",
            "CreatedByPortal": "No",
            "ElectronicAddressId": "000073360",
            "PortalKey": "090078600-0001111-222334455-002",
            "Status": "Success",

ADMIN999AD47B36 61
            "StatusCode": 200,
            "Message": "Contact Information has been successfully updated."
        }
    ],
    "Status": "Success",
    "StatusCode": 200,
    "Message": "All contact information has been updated."
}

3.3.8 Create Commission Setup for Customer

This API will accept multiple Commission for a particular Customer Account.

Conditions:

1. If there are any commission setup entries preexist, the total of commission percentage
should be <=100.
2. If the entries does not exist, the total of commission percentage in the request body
should be <= 100

Name: <URL>/api/services/vsiJNICommissionServiceGroup/VSIJNICommissionSetupCreate/
createCommission

Example: https://nadel-dev09a351abe73ad401c5devaos.axcloud.dynamics.com/api/services/
vsiJNICommissionServiceGroup/VSIJNICommissionSetupCreate/createCommission

Request Parameters

1. Customer Account
2. Employee ID
3. Commission Setup

Request Body:

{
    "_request":
    {

        "CustomerAccount" : "80011114",
        "Commission" :
        [
          
            {
            "EmployeeID" : "1022",

ADMIN999AD47B36 62
            "CommisionSplit" : 20
            }
        ]
    }
}

Response Body when commission setup is successfully created:

Note:

1. Success Code : 200


2. Error Code : 301

{
    "$id": "1",
    "StatusCode": 200,
    "Message": "",
    "CustomerAccount": "80011114",
    "Data": [
        {
            "$id": "2",
            "StatusCode": 0,
            "Message": "",
            "EmployeeID": "1022",
            "CommisionSplit": 20.0
        }
    ]
}

3.3.9 Update Commission Setup for Customer

This API will accept multiple Commission for a particular Customer Account.

Conditions:

3. If there are any commission setup entries preexist, the total of commission percentage
should be < 100.
4. If the entries does not exist, the total of commission percentage in the request body
should be <= 100

Name: <URL>/api/services/vsiJNICommissionServiceGroup/VSIJNICommissionSetupUpdate/update
Example: https://nadel-dev09a351abe73ad401c5devaos.axcloud.dynamics.com/api/services/
vsiJNICommissionServiceGroup/VSIJNICommissionSetupUpdate/update

ADMIN999AD47B36 63
Request Parameters

1. Customer Account
2. Employee ID
3. Commission Setup

Request Body:

{
    "_request":
    {

        "CustomerAccount" : "80011114",
        "Commission" :
        [
          
           
             {
            "EmployeeID" : "A02h",
            "CommisionSplit" : 20
            }
        ]
    }
}

Response Body when commission setup is successfully updated:

{
    "$id": "1",
    "StatusCode": 200,
    "Message": "Success",
    "CustomerAccount": "80011114",
    "Data": [
        {
            "$id": "2",
            "StatusCode": 200,
            "Message": "Success",
            "EmployeeID": "A02h",
            "CommisionSplit": 20.0
        }
    ]
}

3.3.10 Calculate Customer Transactional Fields

ADMIN999AD47B36 64
This API will calculate all Transactional Fields for a particular customer and will also update in
the entity if there will be any change

Name: <URL>
api/services/VSIJNICustomerCalculatedFieldsGroup/VSIJNICustomerCalculatedFieldsService/
CalculateCustomerTransactionalFields

Example https://nadel-dev09a351abe73ad401c5devaos.axcloud.dynamics.com/api/services/
VSIJNICustomerCalculatedFieldsGroup/VSIJNICustomerCalculatedFieldsService/
CalculateCustomerTransactionalFields

Request Parameters

1. Customer Account

Request Body:

{
    "_request":
    {
        
       "CustomerAccount" : "80011114"
      
    }
}

Response Body:

{
    "$id": "1",
    "StatusCode": 200,
    "Message": "Successfully calculate customer transactional fields",
    "Customer Account": "80011114",
    "Invoice Date": "2021-11-11T12:00:00",
    "Last Order Date": "2022-04-06T17:24:11Z",
    "Open Receiveables": 0.0,
    "BackLog": 2497.0,
    "Credit Limit": 8500.0,
    "Available Balance": 6003.0,
    "Age30": 0.0,
    "Age60": 0.0,
    "Age90": 0.0,
    "Age120": 0.0
}
3.3.11 Get Vendor Account Number

ADMIN999AD47B36 65
In order to create a vendor profile, we must first run the “getAccountNumber” post service to
get the vendor’s account number and then copy the account number from the response body,
which will be used in the “createVendor” post service’s request body’s parameter
“AccountNumber” to create a new vendor.

“Get Account Number” Post Service for getting Vendor’s Account Number from Number
Sequence:

Name: <URL>/api/services/vsiJNICreateVendorServiceGroup/vsiJNICreateVendorService/
getAccountNumber

Example: https://nadel-dev107b10ff90bfa759a9devaos.axcloud.dynamics.com/api/services/
vsiJNICreateVendorServiceGroup/vsiJNICreateVendorService/getAccountNumber

Response Body after running the service from PostMan:

{
    "$id": "1",
    "AccountNumber": "12013203",
    "Status": "Success",
"StatusCode": 200,
    "Message": "Account number fetched"
}

3.3.12 Create Vendor Profile

“Create Vendor” Post Service for Creating a New Vendor with the Account Number fetched
from 3.3.11.

Name: <URL>/api/services/vsiJNICreateVendorServiceGroup/vsiJNICreateVendorService/createVendor
Example: https://nadel-dev107b10ff90bfa759a9devaos.axcloud.dynamics.com/api/services/
vsiJNICreateVendorServiceGroup/vsiJNICreateVendorService/createVendor

Request Parameters Explanation:

Request Parameter “Purpose” Mapping with the respective names:

1 = Business
2 = Invoice
3 = Payment
4 = Delivery
5 = Other

Request Parameter “DUNSNumber”:

For DUNSNumber a nine digit number should be given to request parameter.

Request Parameter “PortalKey” in List Parameters “EmailContacts” and “PhoneContacts”:

Portal Key should be unique and will be send by the portal in order to track or filter the records. It is
portal’s own key.

ADMIN999AD47B36 66
Request Parameter “PartyType” mapping with respective names:

0 = Person
1 = Organization

When the type is Person, the form is going to incorporate other fields like First Name, Middle Name, Last
Name, etc. Here, the situation is opposite, in “create customer API” we were only using the name
parameter, however, in this API we have to make use of three parameters namely, “FirstName”,
“MiddleName” and “LastName” in the request body for setting the whole name no matter what type we are
setting.

Request Parameter “TypeID” in List Attachments parameter:

1 = URL
2 = Note
3 = File

Request Body for creating a new vendor:


{
    "_request": {
        "AccountNumber": "12013242",
        "PartyType":1,
        "FirstName":"Jimmy",
        "MiddleName":"Morgan",
        "LastName":"McGill",
        "LanguageId":"en-US",
        "VendorGroup": "ALL",
        "TaxID":"22-1234567",
        "KnownAs":"McKinsey",
        "Currency": "",
        "PaymTermID": "",
        "PaymTermMode": "",
        "DefaultDimensionDepartment": "60",
        "DefaultDimensionLocations": "120",
        "DefaultDimensionProgram": "1001",
        "DUNSNumber": "546792318",
        "Addresses": [{

            "AddressLocationName": "Home",
            "City": "Reno",
            "Street": "Blake-Street",
            "StreetNumber": "226",
            "CountryRegionID": "USA",
            "State": "NV",
            "ZipCode": "89509-1650",
            "County": "",
            "BuildingComplement":"",
            "DistrictName":"",
            "PostBox":"",
            "IsPrimary": 0,

ADMIN999AD47B36 67
            "Purpose": 5,
"PortalKey":"12345-12345-12345-12345",
            "MelissaAddressKey":"12345-12345-12345-12345"

        },
        {
            "AddressLocationName": "Office India",
            "City": "Las Piedras",
            "Street": "Blake-Street",
            "StreetNumber": "226",
            "CountryRegionID": "IND",
            "State": "IND",
            "ZipCode": "00771",
            "County": "",
            "BuildingComplement":"A-5",
            "DistrictName":"Uttar Pradesh",
            "PostBox":"501501",
            "IsPrimary": 1,
            "Purpose": 4,
"PortalKey":"12345-12345-12345-12345",
            "MelissaAddressKey":"12345-12345-12345-12345"

        }],

        "EmailContacts": [
            {
                "ContactName": "Email Address",
                "Contact": "ronaldo@gmail.com",
                "IsPrimary": 1,
                "Purpose": 2,
                "PortalKey": "234567"
            },
            {
                "ContactName": "Email Address",
                "Contact": "williamson@gmail.com",
                "IsPrimary": 1,
                "Purpose": 1,
                "PortalKey": "123456"
            }
        ],
        "PhoneContacts": [
            {
                "ContactName": "Mobile Number",
                "Contact": "+9236090078601",
                "IsPrimary": 1,
                "Purpose": 3,
                "PortalKey": "345678"

ADMIN999AD47B36 68
            },
            {
                "ContactName": "Mobile Number",
                "Contact": "+9236090078001",
                "IsPrimary": 1,
                "Purpose": 4,
                "PortalKey": "456789"
            }
        ],
        "Attachments": [
            {
                "AttachmentName": "Resale",
                "Notes": "https://www.google.com/url?sa=i&url=https%3A%2F
%2F1000logos.net%2Fdynamics-365-logo
%2F&psig=AOvVaw1Pv8Ct8LF0eIYQneLLGxLO&ust=1651332822009000&source=images&cd=vf
e&ved=0CAkQjRxqFwoTCLD9_aPMufcCFQAAAAAdAAAAABAD", 
                "AttachmentTypeId": "Note",
                "Restriction": 1,
                "PortalKey": "678901"
            }
        ]
    }
}

Response Body when vendor is successfully created:

{
    "$id": "1",
    "AccountNumber": "12013242",
    "PartyNumber": "PTY000024444",
"DefaultDimensionValue": 5637350076,
     "DepartmentCode": "60",
     "DepartmentName": "Operations",
     "LocationsCode": "120",
     "LocationsName": "Office Split Allocations",
     "ProgramCode": "1001",
     "ProgramName": "Programs and Stores Other",

    "Addresses": [

        {
            "$id": "2",
            "AddressLocationName": "Home",
            "City": "Reno",
            "Street": "Blake-Street",
            "StreetNumber": "226",

ADMIN999AD47B36 69
            "CountryRegionID": "USA",
            "State": "NV",
            "ZipCode": "89509-1650",
            "IsPrimary": 0,
            "Purpose": 5,
            "County": "",
            "BuildingComplement": "",
            "DistrictName": "",
            "PostBox": "",
            "LocationNumber": 5639590327,
"PortalKey":"12345-12345-12345-12345",
            "MelissaAddressKey":"12345-12345-12345-12345",
"Status": "Success",
            "StatusCode": 200,
            "Message": "Address successfully created."

        },
        {
            "$id": "3",
            "AddressLocationName": "Office India",
            "City": "Las Piedras",
            "Street": "Blake-Street",
            "StreetNumber": "226",
            "CountryRegionID": "IND",
            "State": "IND",
            "ZipCode": "00771",
            "IsPrimary": 1,
            "Purpose": 4,
            "County": "",
            "BuildingComplement": "A-5",
            "DistrictName": "Uttar Pradesh",
            "PostBox": "501501",
            "LocationNumber": 5639590328,
"PortalKey":"12345-12345-12345-12345",
            "MelissaAddressKey":"12345-12345-12345-12345",
"Status": "Success",
            "StatusCode": 200,
            "Message": "Address successfully created."

        }
    ],

    "EmailContacts": [
        {
            "$id": "4",
            "ContactName": "Email Address",
            "Contact": "ronaldo@gmail.com",

ADMIN999AD47B36 70
            "IsPrimary": 1,
            "Purpose": 2,
            "PortalKey": "234567",
            "ElectronicAddressId": "000066718"
        },
        {
            "$id": "5",
            "ContactName": "Email Address",
            "Contact": "williamson@gmail.com",
            "IsPrimary": 1,
            "Purpose": 1,
            "PortalKey": "123456",
            "ElectronicAddressId": "000066719"
        }
    ],
    "PhoneContacts": [
        {
            "$id": "6",
            "ContactName": "Mobile Number",
            "Contact": "+9236090078601",
            "IsPrimary": 1,
            "Purpose": 3,
            "PortalKey": "345678",
            "ElectronicAddressId": "000066720"
        },
        {
            "$id": "7",
            "ContactName": "Mobile Number",
            "Contact": "+9236090078001",
            "IsPrimary": 1,
            "Purpose": 4,
            "PortalKey": "456789",
            "ElectronicAddressId": "000066721"
        }
    ],
    "Attachments": [
        {
            "$id": "8",
            "AttachmentName ": "Resale",
            "Notes": "https://www.google.com/url?sa=i&url=https%3A%2F
%2F1000logos.net%2Fdynamics-365-logo
%2F&psig=AOvVaw1Pv8Ct8LF0eIYQneLLGxLO&ust=1651332822009000&source=images&cd=vf
e&ved=0CAkQjRxqFwoTCLD9_aPMufcCFQAAAAAdAAAAABAD",
            "AttachmentTypeId": "Note",
            "Restriction": 1,
            "PortalKey": "678901",
            "DocumentID": "3f3c2f90-1507-4af7-8420-25cef7da7ba6"

ADMIN999AD47B36 71
        }
    ],
    "Status": "Success",
    "StatusCode": 200,
    "Message": "Vendor successfully created"
}

3.3.13 Add Vendor Address Information

This API will add address information of a vendor by passing in the Account Number of a
specific vendor and other details.

Name: <URL>/api/services/vsiJNIAddVendorAdressServiceGroup/vsiJNIAddVendorAddressService/
addAddressInformation

Example: https://nadel-dev107b10ff90bfa759a9devaos.axcloud.dynamics.com/api/services/
vsiJNIAddVendorAdressServiceGroup/vsiJNIAddVendorAddressService/addAddressInformation

Request Body:

{
    "_request": {
        "AccountNumber": "12013414",
        "Addresses": [
            {
                "AddressLocationName": "HomeList1",
                "City": "Reno",
                "Street": "Blake-Street",
                "StreetNumber": "226",
                "CountryRegionID": "USA",
                "State": "CA",
                "ZipCode": "90015-227",
                "County": "Contra Costa",
                "BuildingComplement": "",
                "DistrictName": "",
                "PostBox": "",
                "IsPrimary": 0,
                "Purpose": 1,
"PortalKey":"12345-12345-12345-12345",
             "MelissaAddressKey":"12345-12345-12345-12345"
            },
            {
                "AddressLocationName": "HomeList2",
                "City": "Reno",
                "Street": "Blake-Street",
                "StreetNumber": "226",
                "CountryRegionID": "USA",

ADMIN999AD47B36 72
                "State": "CA",
                "ZipCode": "90015-227",
                "County": "Contra Cos",
                "BuildingComplement": "",
                "DistrictName": "",
                "PostBox": "",
                "IsPrimary": 0,
                "Purpose": 1,
"PortalKey":"12345-12345-12345-12345",
             "MelissaAddressKey":"12345-12345-12345-12345",
            }
        ]
    }
}
Response Body:

{
    "$id": "1",
    "AccountNumber": "12013414",
    "PartyNumber": "PTY000025095",
    "Addresses": [
        {
            "$id": "2",
            "AddressLocationName": "HomeList1",
            "City": "Reno",
            "Street": "Blake-Street",
            "StreetNumber": "226",
            "CountryRegionID": "USA",
            "State": "CA",
            "ZipCode": "90015-227",
            "IsPrimary": 0,
            "Purpose": "Business",
            "County": "CONTRA COS",
            "BuildingComplement": "",
            "DistrictName": "",
            "PostBox": "",
            "LocationNumber": 5639771830,
"PortalKey":"12345-12345-12345-12345",
             "MelissaAddressKey":"12345-12345-12345-12345",
            "Status": "Success",
            "StatusCode": 200,
            "Message": "Address successfully created."
        },
        {
            "$id": "3",
            "AddressLocationName": "HomeList2",
            "City": "Reno",

ADMIN999AD47B36 73
            "Street": "Blake-Street",
            "StreetNumber": "226",
            "CountryRegionID": "USA",
            "State": "CA",
            "ZipCode": "90015-227",
            "IsPrimary": 0,
            "Purpose": "Business",
            "County": "CONTRA COS",
            "BuildingComplement": "",
            "DistrictName": "",
            "PostBox": "",
            "LocationNumber": 5639771831,
"PortalKey":"12345-12345-12345-12345",
             "MelissaAddressKey":"12345-12345-12345-12345",
            "Status": "Success",
            "StatusCode": 200,
            "Message": "Address successfully created."
        }
    ],
    "Status": "Success",
    "StatusCode": 200,
    "Message": "All Addresses have been successfully added."
}

3.3.14 Add Vendor Contact Information

This API will add contact information like Email and Phone Number to the respected vendor of
whom Account Number is given based on the type number.

Name: <URL>/api/services/vsiJNIAddVendorContactServiceGroup/vsiJNIAddVendorContactService/
addContactInformation

Example: https://nadel-dev107b10ff90bfa759a9devaos.axcloud.dynamics.com/api/services/
vsiJNIAddVendorContactServiceGroup/vsiJNIAddVendorContactService/addContactInformation

Request Parameters Explanation:

Request Parameter “Type” Numbers Mapping with the respective names:

1 = Phone
2 = Email

Request Parameter “CreatedByPortal” and “PortalKey”:

CreatedByPortal = 1 means that the record is created by the Portal.


CreatedByPortal = 0 means that the record is not created by the Portal.
PortalKey is the portal’s own unique key which is used in order to track or filter the records.

ADMIN999AD47B36 74
Request Body:

{
    "_request": {
        "AccountNumber": "12013414",
        "Contacts": [
            {
                "ContactName": "New Number",
                "Contact": "+7635678901247980",
                "IsPrimary": 1,
                "Type": 1,
                "Purpose": 3,
                "CreatedByPortal": 0,
                "PortalKey": "090078600"
            },
            {
                "ContactName": "New Email",
                "Contact": "NewEmail1236778@gmail.com",
                "IsPrimary": 1,
                "Type": 2,
                "Purpose": 3,
                "CreatedByPortal": 1,
                "PortalKey": "090078600-0001111-222334455-001"
            }
        ]
    }
}

Response Body:

{
    "$id": "1",
    "AccountNumber": "12013414",
    "PartyNumber": "PTY000025095",
    "Contacts": [
        {
            "$id": "2",
            "ContactName": "New Number",
            "Contact": "+7635678901247980",
            "IsPrimary": "Yes",
            "Purpose": "Payment",
            "Type": "Phone",
            "CreatedByPortal": "No",
            "ElectronicAddressId": "000073368",
            "PortalKey": "090078600",

ADMIN999AD47B36 75
            "Status": "Success",
            "StatusCode": 200,
            "Message": "Contact Information has been successfully added."
        },
        {
            "$id": "3",
            "ContactName": "New Email",
            "Contact": "NewEmail1236778@gmail.com",
            "IsPrimary": "Yes",
            "Purpose": "Payment",
            "Type": "Email address",
            "CreatedByPortal": "Yes",
            "ElectronicAddressId": "000073369",
            "PortalKey": "090078600-0001111-222334455-001",
            "Status": "Success",
            "StatusCode": 200,
            "Message": "Contact Information has been successfully added."
        }
    ],
    "Status": "Success",
    "StatusCode": 200,
    "Message": "All contact information has been added."
}

3.3.15 Update Vendor Address Information

This API will update the Address Information of a selected record for a specific vendor by
giving the vendor account number, Purpose, Party Number and Location Number in the
request parameter.

Party Number and Location Number will be fetched from the response by running the “Create
Vendor Profile” API 3.3.12 or “Add Vendor Address Information“ API 3.3.13.

Name: <URL>/api/services/vsiJNIEditVendorAddressServiceGroup/vsiJNIEditVendorAddressService/
editAddressInformation

Example: https://nadel-dev107b10ff90bfa759a9devaos.axcloud.dynamics.com/api/services/
vsiJNIEditVendorAddressServiceGroup/vsiJNIEditVendorAddressService/editAddressInformation

Request Body:

{
    "_request": {
        "AccountNumber": "12013414",
        "Addresses": [
            {

ADMIN999AD47B36 76
                "LocationNumber": "5639770326",
                "AddressLocationName": "InventoryNew",
                "City": "Reno",
                "Street": "228, Blake-Street",
                "StreetNumber": "288",
                "CountryRegionID": "USA",
                "State": "CA",
                "ZipCode": "90015-227",
                "County": "Contra Costa",
                "BuildingComplement": "",
                "DistrictName": "",
                "PostBox": "",
                "IsPrimary": 1,
                "Purpose": 3,
"PortalKey":"12345-12345-12345-12345",
             "MelissaAddressKey":"12345-12345-12345-12345"
            },
            {
                "LocationNumber": "5639770327",
                "AddressLocationName": "Inventory2New",
                "City": "Reno",
                "Street": "229, Blake-Street",
                "StreetNumber": "288",
                "CountryRegionID": "USA",
                "State": "CA",
                "ZipCode": "90015-227",
                "County": "Contra Costa",
                "BuildingComplement": "",
                "DistrictName": "",
                "PostBox": "",
                "IsPrimary": 0,
                "Purpose": 2,
"PortalKey":"12345-12345-12345-12345",
             "MelissaAddressKey":"12345-12345-12345-12345"

            }
        ]
        
    }
}
Response Body:

{
    "$id": "1",
    "AccountNumber": "12013414",
    "PartyNumber": "PTY000025095",
    "Addresses": [

ADMIN999AD47B36 77
        {
            "$id": "2",
            "AddressLocationName": "InventoryNew",
            "City": "Reno",
            "Street": "228, Blake-Street",
            "StreetNumber": "288",
            "CountryRegionID": "",
            "State": "CA",
            "ZipCode": "90015-227",
            "IsPrimary": 1,
            "Purpose": "Payment",
            "County": "",
            "BuildingComplement": "",
            "DistrictName": "",
            "PostBox": "",
            "LocationNumber": 5639770326,
            "Status": "Success",
            "StatusCode": 200,
            "Message": "Address has been successfully updated."
        },
        {
            "$id": "3",
            "AddressLocationName": "Inventory2New",
            "City": "Reno",
            "Street": "229, Blake-Street",
            "StreetNumber": "288",
            "CountryRegionID": "",
            "State": "CA",
            "ZipCode": "90015-227",
            "IsPrimary": 0,
            "Purpose": "Invoice",
            "County": "",
            "BuildingComplement": "",
            "DistrictName": "",
            "PostBox": "",
            "LocationNumber": 5639770327,
            "Status": "Success",
            "StatusCode": 200,
            "Message": "Address has been successfully updated."
        }
    ],
    "Status": "Success",
    "StatusCode": 200,
    "Message": "All address information has been successfully updated."
}

ADMIN999AD47B36 78
3.3.16 Update Vendor Contact Information

This API will update the contact information of the vendor depending on the type i.e. Phone or
Email by passing the specific Vendor’s Account Number, Purpose, Party Number and Electronic
Address Id of the contact to be updated.

Party Number and Electronic Address Id will be fetched from the response by running the
“Create Vendor Profile” API 3.3.12 or “Add Vendor Contact Information“ API 3.3.143.3.5

Name: <URL>/api/services/vsiJNIEditVendorContactServiceGroup/vsiJNIEditVendorContactService/
editContactInformation

Example: https://nadel-dev107b10ff90bfa759a9devaos.axcloud.dynamics.com/api/services/
vsiJNIEditVendorContactServiceGroup/vsiJNIEditVendorContactService/editContactInformation
Request Body:

{
    "_request": {
        "AccountNumber": "12013414",
        "Contacts": [
            {
                "ElectronicAddressId": "000073370",
                "ContactName": "Updated New Email",
                "Contact": "armughan@gmail.com",
                "IsPrimary": 1,
                "Purpose": 1,
                "CreatedByPortal": 1,
                "PortalKey": "090078600-0001111-222334455-001"
            },
            {
                "ElectronicAddressId": "000073371",
                "ContactName": "Updated New Email2",
                "Contact": "newemail12323488998@gmail.com",
                "IsPrimary": 0,
                "Purpose": 3,
                "CreatedByPortal": 0,
                "PortalKey": "090078600-0001111-222334455-002"
            }
        ]
    }
}

Response Body:

{
    "$id": "1",
    "AccountNumber": "12013414",
    "PartyNumber": "PTY000025095",

ADMIN999AD47B36 79
    "Contacts": [
        {
            "$id": "2",
            "ContactName": "Updated New Email",
            "Contact": "armughan@gmail.com",
            "IsPrimary": "Yes",
            "Purpose": "Business",
            "Type": "Phone",
            "CreatedByPortal": "Yes",
            "ElectronicAddressId": "000073370",
            "PortalKey": "090078600-0001111-222334455-001",
            "Status": "Success",
            "StatusCode": 200,
            "Message": "Contact Information has been successfully updated."
        },
        {
            "$id": "3",
            "ContactName": "Updated New Email2",
            "Contact": "newemail12323488998@gmail.com",
            "IsPrimary": "No",
            "Purpose": "Payment",
            "Type": "Email address",
            "CreatedByPortal": "No",
            "ElectronicAddressId": "000073371",
            "PortalKey": "090078600-0001111-222334455-002",
            "Status": "Success",
            "StatusCode": 200,
            "Message": "Contact Information has been successfully updated."
        }
    ],
    "Status": "Success",
    "StatusCode": 200,
    "Message": "All contact information has been updated."
}

3.3.17 Calculate Vendor Transactional Fields

This API will calculate all Transactional Fields for a particular vendor and will also update in the
entity if there will be any change

Name: <URL>
api/services/VSIJNIVendorCalculatedFieldsServiceGroup/VSIJNIVendorTransactionalFields/
CalculateVendorTransactionalFields

ADMIN999AD47B36 80
Example: https://nadel-dev09a351abe73ad401c5devaos.axcloud.dynamics.com/api/services/
VSIJNIVendorCalculatedFieldsServiceGroup/VSIJNIVendorTransactionalFields/
CalculateVendorTransactionalFields

Request Parameters

1. Vendor Account

Request Body:

{
    "_request":
    {
        
       "VendorAccount" : "10008991"
      
    }
}

Response Body:

{
    "$id": "1",
    "StatusCode": 200,
    "Message": "Successfully calculated vendor transactional fields",
    "Vendor Account": "10008991",
    "Last Order Date": "1900-01-01T00:00:00Z",
    "PO Headers": "40046955E, 40064048C",
    "PO Headers Count": 2,
    "PO Lines Count": 2
}

3.3.18 Update Customer


This API will update a specific customer by taking its Account Number.

Name: <URL>/api/services/vsiJNIUpdateCustomerServiceGroup/vsiJNIUpdateCustomerService/
updateCustomer

Example: https://nadel-dev107b10ff90bfa759a9devaos.axcloud.dynamics.com/api/services/
vsiJNIUpdateCustomerServiceGroup/vsiJNIUpdateCustomerService/updateCustomer

Request Parameters Explanation:

Request Parameter “Priority” Mapping with the respective names:

0 = Low - 10
1 = Low - 9
2 = Low - 8
3 = Medium - 7
4 = Medium - 6

ADMIN999AD47B36 81
5 = Medium - 5
6 = Medium - 4
7 = High - 3
8 = High - 2
9 = High - 1

Request Body:

{
    "_request":
    {
        "CustomerAccountNumber":"81007470",
        "CustomerGroup":"Real Estat",

"ParentCompanyName":"PTY000000249",

        "KnownAs":"Jimmy",
        "DUNSNumber":"321654979",
        "ShippingMethod":"",
        "ClientFreightAccountNumber":"123456",
        "TermOfPayment":"N30",
        "DeliveryTerms":"BestServe",
        "SaleTaxGroup":"AVATAX",
        "SalesAccountNumber":"BS",
        "Priority": 5
    }
}

Response Body:

{
    "$id": "1",
    "AccountNumber": "81007470",
    "Status": "Success",
    "StatusCode": 200,
    "Message": "Customer successfully updated."
}

3.3.19 Update Vendor


This API will update a specific vendor by taking its Account Number.

Name: <URL>/api/services/vsiJNIUpdateVendorServiceGroup/vsiJNIUpdateVendorService/
updateVendor

Example: https://nadel-dev107b10ff90bfa759a9devaos.axcloud.dynamics.com/api/services/
vsiJNIUpdateVendorServiceGroup/vsiJNIUpdateVendorService/updateVendor

ADMIN999AD47B36 82
Request Parameters Explanation:

Request Parameter “Priority” Mapping with the respective names:

0 = Low - 10
1 = Low - 9
2 = Low - 8
3 = Medium - 7
4 = Medium - 6
5 = Medium - 5
6 = Medium - 4
7 = High - 3
8 = High - 2
9 = High - 1

Request Body:

{
    "_request":
    {
        "VendorAccountNumber":"12013229",
        "VendorGroup":"Real Estat",
        "KnownAs":"Jimmy",
        "DUNSNumber":"321654979",
        "ShippingMethod":"",
        "TermOfPayment":"N30",
        "DeliveryTerms":"BestServe",
        "SaleTaxGroup":"AVATAX"
    }
}

Response Body:

{
    "$id": "1",
    "AccountNumber": "12013229",
    "Status": "Success",
    "StatusCode": 200,
    "Message": "Vendor successfully updated."
}

3.3.20 Create Purchase Order Header


This API will create the purchase order header for a vendor by taking Vendor Account Number
and Project ID /Branding Consultant ID.

Name: <URL>/api/services/vsiJNIPurchaseOrderServiceGroup/vsiJNIPurchaseOrderService/
createPurchaseOrderHeader

ADMIN999AD47B36 83
Example: https://nadel-dev107b10ff90bfa759a9devaos.axcloud.dynamics.com/api/services/
vsiJNIPurchaseOrderServiceGroup/vsiJNIPurchaseOrderService/createPurchaseOrderHeader

Request Parameters Explanation:

Request Parameter “SamplePO” Mapping with the respective names:

0 = Not a Sample PO
1 = Sample PO

Request Parameter “OneTimeDeliveryAddress” Mapping with the respective names:

0 = Default Address
1 = One Time Delivery Address

If OneTimeDeliveryAddress = 1, then further address parameters need to be sent, so that, Delivery


address can be set. If One Time Delivery Address = 0, then no need to set the address parameters.

Request Body:

{
    "_request": {
        "VendorId": "12013232",
“JobName”: "Vendor",
        "BrandingConsultant": "NADELCRAIG",
         "PersonnelNumber": "Admin",

         "DeliveryMode":"UPS GRD",

        "Currency": "",
        "OneTimeDeliveryAddress": 1,
        "DeliveryAddress": "Indian Inventory",
        "CountryRegionID": "IND",
        "Street": "Andheri",
        "StreetNumber": "177",
        "City": "Las Piedras",
        "State": "IND",
        "County": "",
        "ZipCode": "00771",
        "BuildingComplement":"A-5",
        "DistrictName":"Uttar Pradesh",
        "PostBox":"501501",
"PortalKey":"12345-12345-12345-12345",
             "MelissaAddressKey":"12345-12345-12345-12345",
        "DeliveryDate": "5/31/2022",
"InHandsDate": "6/30/2022",
        "DeliveryName": "Office",
        "AttentionInformation": "Attention Notice",
"Location":"Attention Notice 2",

        "Site": "",
        "Warehouse": "",

ADMIN999AD47B36 84
        "SamplePO": 1,
        "CreatedByPortal": 1
    }
}

Response Body:

{
    "$id": "1",
    "VendorId": "12013232",
    "BrandingConsultant": "NADELCRAIG",
"PersonnelNumber": "Admin",
    "PurchaseOrderId": "20163947",
"OneTimeAddress": "A-5\nAndheri\n501501\nUttar Pradesh,Las Piedras-00771\nIND\
nIND",
     "LocationNumber": 5639728327,
    "PurchaseOrderStatus": "Open order",
"DeliveryAddress": "Indian Inventory",
     "City": "Las Piedras",
     "Street": "Andheri",
     "StreetNumber": "177",
     "CountryRegionID": "IND",
     "State": "IND",
     "ZipCode": "00771",
     "County": "",
     "BuildingComplement": "A-5",
     "DistrictName": "Uttar Pradesh",
     "PostBox": "501501",
"PortalKey":"12345-12345-12345-12345",
            "MelissaAddressKey":"12345-12345-12345-12345",
    "Status": "Success",
    "StatusCode": 200,
    "Message": "Purchase order has been successfully created"
}

3.3.21 Create Purchase Order Lines


This API will create purchase order lines by taking Purchase Order ID and also confirm the
purchase order if “ConfirmPO” request parameter is 1. Portal Key will be send from the
portal’s side to keep track of lines.

Name: <URL>/api/services/vsiJNIPurchaseOrderLinesServiceGroup/vsiJNIPurchaseOrderLinesService/
createPurchaseOrderLines

Example: https://nadel-dev107b10ff90bfa759a9devaos.axcloud.dynamics.com/api/services/
vsiJNIPurchaseOrderLinesServiceGroup/vsiJNIPurchaseOrderLinesService/createPurchaseOrderLines

Request Body:

ADMIN999AD47B36 85
{
    "_request" :
    {
        "PurchaseOrderId":"20164017",
        "ConfirmPO": 0,
        "POLines": [{
            "PortalKey": "123456",
            "JNIItemNumber": "Event Booth & Signag",
"TextDescriptionField": "Textiles",
            "ItemNumber": "124",
            "ShipDate": "5/31/2022",
            "InHandsDate": "6/10/2022",
            "Firm": 1,
            "Site":"JNI",
            "Warehouse":"JNI",
            "Quantity": 2.00,
            "NET": 5.00,
            "ModeOfDelivery": "",
            "JNIFreight": 1,
            "AccountNumber": "524612",
            "FactoryNotes": "Product is packed in different cartons",
            "Trackable": 1,
            "VendorRetention":"",
            "Currency": ""
        },
        {
            "PortalKey": "123456",
            "JNIItemNumber": "Bar & Party Accessor",
"TextDescriptionField": "Textiles",

            "ItemNumber": "124",
            "ShipDate": "5/31/2022",
            "InHandsDate": "6/10/2022",
            "Firm": 1,
            "Site":"JNI",
            "Warehouse":"JNI",
            "Quantity": 6.00,
            "NET": 5.00,
            "ModeOfDelivery": "",
            "JNIFreight": 1,
            "AccountNumber": "524612",
            "FactoryNotes": "Product is packed in different cartons",
            "Trackable": 1,
            "VendorRetention":"",
            "Currency": ""
        }
]

ADMIN999AD47B36 86
    }
}

Response Body:

{
    "$id": "1",
    "PurchaseOrderId": "20164017",
    "PurchaseOrderStatus": "Open order",
    "ApprovalStatus": "Approved",
    "POLines": [
        {
            "$id": "2",
            "PortalKey": "123456",
            "LineNumber": 1,
            "JNIItemNumber": "Event Booth & Signag",
            "DescriptionField": "Textiles",
            "ItemNumber": "124",
            "ShipDate": "2022-05-31T12:00:00",
            "InHandsDate": "2022-06-10T12:00:00",
            "Firm": 1,
            "Site": "JNI",
            "Warehouse": "JNI",
            "Quantity": 2.0,
            "NET": 5.0,
            "NETTotal": 10.00,
            "ModeOfDelivery": "",
            "JNIFreight": 1,
            "AccountNumber": "524612",
            "FactoryNotes": "Product is packed in different cartons",
            "Trackable": 1,
            "VendorRetention": "",
            "Currency": "JPY",
            "LineRecId": 5638199851,
            "InventTransId": "LOT001915732",
            "Status": "Success",
            "StatusCode": 200,
            "Message": "Purchase order line has been successfully created"
        },
        {
            "$id": "3",
            "PortalKey": "123456",
            "LineNumber": 2,
            "JNIItemNumber": "Bar & Party Accessor",
            "DescriptionField": "Textiles",

ADMIN999AD47B36 87
            "ItemNumber": "124",
            "ShipDate": "2022-05-31T12:00:00",
            "InHandsDate": "2022-06-10T12:00:00",
            "Firm": 1,
            "Site": "JNI",
            "Warehouse": "JNI",
            "Quantity": 6.0,
            "NET": 5.0,
            "NETTotal": 30.00,
            "ModeOfDelivery": "",
            "JNIFreight": 1,
            "AccountNumber": "524612",
            "FactoryNotes": "Product is packed in different cartons",
            "Trackable": 1,
            "VendorRetention": "",
            "Currency": "JPY",
            "LineRecId": 5638199852,
            "InventTransId": "LOT001915734",
            "Status": "Success",
            "StatusCode": 200,
            "Message": "Purchase order line has been successfully created"
        }
    ],
    "Status": "Success",
    "StatusCode": 200,
    "Message": "All purchase lines have been successfully created."
}

3.3.22 Confirm Purchase Order API


This API will confirm the purchase order by taking Purchase Order ID.

Name: <URL>/api/services/
vsiJNIConfirmPOServiceGroup/vsiJNIConfirmPOService/confirmPurchaseOrder

Example: https://nadel-dev107b10ff90bfa759a9devaos.axcloud.dynamics.com/api/services/
vsiJNIConfirmPOServiceGroup/vsiJNIConfirmPOService/confirmPurchaseOrder

Request Body:

{
    "_request" :
    {
        "PurchaseOrderId":"20163947"
    }
}

ADMIN999AD47B36 88
Response Body:

{
    "$id": "1",
    "PurchaseOrderId": "20163947",
    "PurchaseOrderStatus": "Open order",
    "ApprovalStatus": "Confirmed",
    "Status": "Success",
    "StatusCode": 200,
    "Message": "Purchase Order has been confirmed."
}

3.3.23 Update Purchase Order Header


This API will update PO Header fields by taking “Purchase Order ID” as request parameter. We
can also confirm PO with this if the Purchase Order already has lines in it. Otherwise it will throw
Exception.

Name: <URL>/api/services/vsiJNIPurchaseOrderServiceGroup/vsiJNIUpdatePurchaseOrderService/
updatePurchaseOrder

Example: https://nadel-dev107b10ff90bfa759a9devaos.axcloud.dynamics.com/api/services/
vsiJNIPurchaseOrderServiceGroup/vsiJNIUpdatePurchaseOrderService/updatePurchaseOrder

Request Body:

{
    "_request": {
        "ConfirmPO": 1,
        "PurchaseOrderId": "20163951",
"BrandingConsultant": "NADELJACK",
        "PersonnelNumber": "selinsipahi1",
"JobName":"vendor",
         "DeliveryMode":"UPS 3D",
        "Currency": "",
        "DeliveryAddress": "Home22",
        "CountryRegionID": "USA",
        "Street": "Escobar Ave2",
        "StreetNumber": "177",
        "City": "LOS GATOS",
        "State": "CA",
        "County": "LOS ANGELE",
        "ZipCode": "89509-1650",
        "BuildingComplement":"",
        "DistrictName":"",
        "PostBox":"",
"PortalKey":"12345-12345-12345-12345",
             "MelissaAddressKey":"12345-12345-12345-12345",
        "DeliveryDate": "5/31/2022",

ADMIN999AD47B36 89
"InHandsDate": "8/30/2022",
        "DeliveryName": "Office2",
        "AttentionInformation": "Attention Notice2",
"Location": "Attention Notice Updated",
        "Site": "JNI",
        "Warehouse": "JNI"
    }
}

Response Body:

{
    "$id": "1",
    "PurchaseOrderId": "20163951",
    "PurchaseOrderStatus": "Open order",
    "ApprovalStatus": "Confirmed",
"BrandingConsultant": "NADELJACK",
"PersonnelNumber": "Selin Sipahi",
    "Status": "Success",
    "StatusCode": 200,
    "Message": "Purchase order header has been successfully updated."
}

3.3.24 Update Purchase Order Lines

This API will update PO Lines by taking the “Purchase Order ID” and the respective “ Line Rec
ID”. It will take multiple lines at once in an array and will give status of each line separately, it
will also reports error information regarding an invalid Item Id or quantity or line Rec Id or Site
or Warehouse in any of the inserted lines. If a line is added successfully and you encounter
error on the next one, you should remove the first line from the array before running the API
after correcting the invalid line.

Name:
<URL>/api/services/vsiJNIPurchaseOrderLinesServiceGroup/vsiJNIUpdatePurchaseOrderLinesService/
updatePurchaseOrderLines

Example: https://nadel-dev107b10ff90bfa759a9devaos.axcloud.dynamics.com/api/services/
vsiJNIPurchaseOrderLinesServiceGroup/vsiJNIUpdatePurchaseOrderLinesService/
updatePurchaseOrderLines

Request Body:

{
    "_request": {
        "PurchaseOrderId":"20163984",
        "ConfirmPO": 1,

ADMIN999AD47B36 90
        "POLines": [{
            "PortalKey": "123456",
            "LineRecId": 5638184076,
            "JNIItemNumber": "Health & Safety Prod",
"TextDescriptionField": "Health notes new",
            "ItemNumber": "1241",
            "ShipDate": "5/31/2022",
            "InHandsDate": "6/10/2022",
            "Firm": 1,
            "Site":"JNI",
            "Warehouse":"JNI",
            "Quantity": 15.00,
            "NET": 5.00,
            "ModeOfDelivery": "",
            "JNIFreight": 1,
            "AccountNumber": "524612",
            "FactoryNotes": "Product is packed in different packaging updated"
,
            "Trackable": 1,
            "VendorRetention":"",
            "Currency": ""
        },
        {
            "PortalKey": "123456",
            "LineRecId": 5638184078,
            "JNIItemNumber": "Creative",
"TextDescriptionField": "Creative notes new",
            "ItemNumber": "1241",
            "ShipDate": "5/31/2022",
            "InHandsDate": "6/10/2022",
            "Firm": 1,
            "Site":"JNI",
            "Warehouse":"JNI",
            "Quantity": 11.00,
            "NET": 5.00,
            "ModeOfDelivery": "",
            "JNIFreight": 1,
            "AccountNumber": "524612",
            "FactoryNotes": "Product is packed in different packaging updated,
            "Trackable": 1,
            "VendorRetention":"",
            "Currency": ""
        }]
          
    }
}

ADMIN999AD47B36 91
Response Body:

{
    "$id": "1",
    "PurchaseOrderId": "20163984",
    "PurchaseOrderStatus": "Open order",
    "ApprovalStatus": "Confirmed",
    "POLines": [
        {
            "$id": "2",
            "PortalKey": "123456",
            "JNIItemNumber": "Health & Safety Prod",
            "DescriptionField": "Health notes new",
            "ItemNumber": "1241",
            "ShipDate": "2022-05-31T12:00:00",
            "InHandsDate": "2022-06-10T12:00:00",
            "Firm": 1,
            "Site": "",
            "Warehouse": "",
            "Quantity": 15.0,
            "NET": 5.0,
            "NETTotal": 75.00,
            "ModeOfDelivery": "",
            "JNIFreight": 1,
            "AccountNumber": "524612",
            "FactoryNotes": "Product is packed in different packaging updated"
,
            "Trackable": 1,
            "VendorRetention": "",
            "Currency": "USD",
            "LineRecId": 5638184076,
            "InventTransId": "LOT001909005",
            "Status": "Success",
            "StatusCode": 200,
            "Message": "Purchase order line has been successfully updated."
        },
        {
            "$id": "3",
            "PortalKey": "123456",
            "JNIItemNumber": "Creative",
            "DescriptionField": "Creative notes new",
            "ItemNumber": "1241",
            "ShipDate": "2022-05-31T12:00:00",
            "InHandsDate": "2022-06-10T12:00:00",
            "Firm": 1,
            "Site": "",
            "Warehouse": "",

ADMIN999AD47B36 92
            "Quantity": 11.0,
            "NET": 5.0,
            "NETTotal": 55.00,
            "ModeOfDelivery": "",
            "JNIFreight": 1,
            "AccountNumber": "524612",
            "FactoryNotes": "Product is packed in different packaging updated"
,
            "Trackable": 1,
            "VendorRetention": "",
            "Currency": "USD",
            "LineRecId": 5638184078,
            "InventTransId": "LOT001909009",
            "Status": "Success",
            "StatusCode": 200,
            "Message": "Purchase order line has been successfully updated."
        }
    ],
    "Status": "Success",
    "StatusCode": 200,
    "Message": "All purchase lines have been successfully updated."
}

3.3.25 Delete Purchase Order Lines


This API will delete PO lines by taking “PurchaseOrderId” and “LineRecId”. It can also confirm
the PO after deleting lines.

Name: <URL>/
api/services/vsiJNIPurchaseOrderLinesServiceGroup/vsiJNIDeletePurchaseOrderLineDeleteService/
deletePurchaseOrderLines

Example: https://nadel-dev107b10ff90bfa759a9devaos.axcloud.dynamics.com/api/services/
vsiJNIPurchaseOrderLinesServiceGroup/vsiJNIDeletePurchaseOrderLineDeleteService/
deletePurchaseOrderLines

Request Body:

{
    "_request": {
        "PurchaseOrderId":"20163991",
        "ConfirmPO": 1,
        "POLines": [{
            "LineRecId": 5638194576
        },
        {
            "LineRecId": 5638194577
        }]

ADMIN999AD47B36 93
    }
}

Response Body:

{
    "$id": "1",
    "PurchaseOrderId": "20163991",
    "PurchaseOrderStatus": "Open order",
    "ApprovalStatus": "Confirmed",
    "POLines": [
        {
            "$id": "2",
            "PortalKey": "123456",
            "JNIItemNumber": "Event Booth & Signag",
            "DescriptionField": "Event Booth & Signage",
            "ItemNumber": "124",
            "ShipDate": "2022-05-31T12:00:00",
            "InHandsDate": "2022-06-10T12:00:00",
            "Firm": 1,
            "Site": "",
            "Warehouse": "",
            "Quantity": 2.0,
            "NET": 5.0,
            "NETTotal": 10.0,
            "ModeOfDelivery": "",
            "JNIFreight": 1,
            "AccountNumber": "524612",
            "FactoryNotes": "Product is packed in different cartons",
            "Trackable": 1,
            "VendorRetention": "",
            "Currency": "",
            "LineRecId": 5638194576,
            "InventTransId": "LOT001915548",
            "Status": "Success",
            "StatusCode": 200,
            "Message": "Purchase order line has been successfully deleted. "
        },
        {
            "$id": "3",
            "PortalKey": "123456",
            "JNIItemNumber": "Bar & Party Accessor",
            "DescriptionField": "Bar & Party Accessories",
            "ItemNumber": "124",
            "ShipDate": "2022-05-31T12:00:00",
            "InHandsDate": "2022-06-10T12:00:00",

ADMIN999AD47B36 94
            "Firm": 1,
            "Site": "",
            "Warehouse": "",
            "Quantity": 6.0,
            "NET": 5.0,
            "NETTotal": 30.0,
            "ModeOfDelivery": "",
            "JNIFreight": 1,
            "AccountNumber": "524612",
            "FactoryNotes": "Product is packed in different cartons",
            "Trackable": 1,
            "VendorRetention": "",
            "Currency": "",
            "LineRecId": 5638194577,
            "InventTransId": "LOT001915550",
            "Status": "Success",
            "StatusCode": 200,
            "Message": "Purchase order line has been successfully deleted. "
        }
    ],
    "Status": "Success",
    "StatusCode": 200,
    "Message": "All purchase lines have been successfully deleted."
}
3.3.26 Get Purchase Order Confirmation Journal
This API will get Purchase Order Confirmation Journal Header and Lines corresponding of
Purchase ID and the latest journal based on PurchOrderDate

Name: api/services/VSIJNIPOConfirmationJournalServiceGroup/VSIJNIPOConfirmationJournalService/
POConfirmationJournal

Example: https://nadel-dev09a351abe73ad401c5devaos.axcloud.dynamics.com/api/services/
VSIJNIPOConfirmationJournalServiceGroup/VSIJNIPOConfirmationJournalService/
POConfirmationJournal

Request Body:

{
    "_request":
    {
         "PurchaseOrderID" : " "40020658A"

    }
}
Response Body:

{
    "$id": "1",

ADMIN999AD47B36 95
    "StatusCode": 200,
    "Message": "Success",
    "InvoiceAccount": "10037940",
    "PurchID": "40020658A",
    "PurchaseJournal": "40020658A-2",
    "Name": "BAG MAKERS INC.",
    "Date": "2020-10-15T12:00:00",
    "Currency": "USD",
    "AmountINTransactionCurrency": 387.49,
    "OrderSendStatus": 0,
    "OrderRequestVendorStatus": 0,
    "Lines": [
        {
            "$id": "2",
            "LineNumber": 1.0,
            "ProcurementCategory": 0,
            "ItemID": "Bags",
            "Name": "SEE PREVIOUS PO#7596270--EXACT REPEAT\n9.5 X 12 WHITE BAG
S\nTW",
            "PurchaseQuantity": 500.0,
            "PurchasePrice": 0.36,
            "LineAmount": 180.0,
            "LineAmountTax": 0.0,
            "ShipDate": "2020-08-07T12:00:00",
            "DeliveryDate": "2020-08-12T12:00:00",
            "FactoryNotes": "",
            "DeliveryMode": "FX GRD",
            "AccountNumber": "583501126",
            "ItemNumber": "9.5X 12",
"POLineRecId": 5638244112,
             "SalesOrderId": "40020658",
             "SOLineRecId": 5639357292

        },
        {
            "$id": "3",
            "LineNumber": 2.0,
            "ProcurementCategory": 0,
            "ItemID": "Bags",
            "Name": "SEE PREVIOUS PO#7596270--EXACT REPEAT\n12 X 15 WHITE PLAS
TIC ",
            "PurchaseQuantity": 500.0,
            "PurchasePrice": 0.415,
            "LineAmount": 207.5,
            "LineAmountTax": 0.0,
            "ShipDate": "2020-08-07T12:00:00",
            "DeliveryDate": "2020-08-11T12:00:00",

ADMIN999AD47B36 96
            "FactoryNotes": "",
            "DeliveryMode": "FX GRD",
            "AccountNumber": "583501126",
            "ItemNumber": "12 X 15",
"POLineRecId": 5638244112,
             "SalesOrderId": "40020658",
             "SOLineRecId": 5639357292

        },
        {
            "$id": "4",
            "LineNumber": 3.0,
            "ProcurementCategory": 0,
            "ItemID": "Bags",
            "Name": "Price adj.",
            "PurchaseQuantity": -1.0,
            "PurchasePrice": 0.01,
            "LineAmount": -0.01,
            "LineAmountTax": 0.0,
            "ShipDate": "1900-01-01T12:00:00",
            "DeliveryDate": "2020-08-11T12:00:00",
            "FactoryNotes": "",
            "DeliveryMode": "",
            "AccountNumber": "",
            "ItemNumber": "",
"POLineRecId": 5638244112,
             "SalesOrderId": "40020658",
             "SOLineRecId": 5639357292

        }
    ]
}

3.3.27 Get Currency Exchange Rate


This API will get currency exchange rate based on ‘from currency’, ‘to currency’, ‘from date
[Optional] – if not mentioned then it will consider current date’.

Name: <URL>/api/services//vsiJNIUtilGroup/vsiJNIUtilService/getExchangeRate
Example: https://nadel-dev1204ffb6f3b540b1e6aos.axcloud.dynamics.com/api/services/vsiJNIUtilGroup/
vsiJNIUtilService/getExchangeRate

Request Body:

{
    "_request": {
        "FromCurrency":"EUR",

ADMIN999AD47B36 97
        "ToCurrency":"USD",
        "Date":"01/01/2020"
    }
}

Response Body:

{
    "$id": "1",
    "FromCurrency": "EUR",
    "ToCurrency": "USD",
    "validFrom": "2019-12-01T12:00:00",
    "validTO": "2020-02-29T12:00:00",
    "Amount": 1.10159,
    "Status": "Success",
    "StatusCode": 200,
    "Message": "Exchange rate found"
}

3.3.28 Create Attachment


This API will create attachments related to [Customer/Vendor/Sales Order/Sales Line/Purchase
Order/Purchase Line/Employee].

This API updates the attachment and details if already created.

Name: <URL>/api/services//vsiJNIUtilGroup/vsiJNIUtilService/createAttachment
Example: https://nadel-dev1204ffb6f3b540b1e6aos.axcloud.dynamics.com/api/services/vsiJNIUtilGroup/
vsiJNIUtilService/ createAttachment

Request Parameters Explanation:


FileName – Attachment of type ‘File’ name with extension.
FileExtension - Extension of the file
FileContent - Base64 string of document
LineNum - Line num for Sales line / purchase line scenario
AttachmentName - Name of the attachment
Notes - Notes of the attachment
Attachment type id - Represents File/Note/URL
Restriction - 0-Internal/1-External
PortalKey - Portal Key will come from portal’s side

Document type represents document number.

1 – Sales order
2 – Sales line
3 – Purchase order
4 – Purchase line
5 – Customers
6 – Vendors
7 - Employees

ADMIN999AD47B36 98
Request Body:

    "_request": {

        "FileName":"Show invoice copy.pdf",

        "FileExtension":"pdf",

        "FileContent":"",

        "LineNum":1,

        "Id": "81007516",

        "DocumentType": 5,

        "AttachmentName":"Show invoice copy",

        "Notes":"file notes",

        "AttachmentTypeId":"File",

        "Restriction":1,

        "PortalKey":"12345"

    }

Response Body:

{
    "$id": "1",
    "FileName": "Show invoice copy.pdf",
    "AttachmentTypeId": "File",
    "FileExtension": "pdf",
    "Id": "81007516",
    "LineNum": 1,
    "DocumentType": 5,
    "Restriction": 1,
    "PortalKey": "12345",
    "Notes": "file notes",
    "AttachmentName": "Show invoice copy",
    "FileContent": "",
    "Status": "Success",
    "StatusCode": 200,
    "Message": "Attachment created successfully."
}

ADMIN999AD47B36 99
3.3.29 Get Attachments
This API will get attachments related to [Customer/Vendor/Sales Order/Sales Line/Purchase
Order/Purchase Line/Employee].

Parameters it requires: Recid – Represents record id; Type – represents an integer number for
uniquely identification of document type.

1 – Sales order

2- Sales line

3 – Purchase order

4 – Purchase line

5 – Customer

6 – Vendor

7 - Employee

Name: <URL>/api/services//vsiJNIUtilGroup/vsiJNIUtilService/getAttachments
Example: https://nadel-dev1204ffb6f3b540b1e6aos.axcloud.dynamics.com/api/services/vsiJNIUtilGroup/
vsiJNIUtilService/ getAttachments

Request Body:

{
    "_request": {
        "RecId":"5637674474",
        "type":4
    }
}

Response Body:

{
"$id": "1",

     "Status": "Success",
     "StatusCode": 200,
     "Message": "Action completed successfully.",
     "AttachmentsList": [
{
            "$id": "2",
            "RecId": 5639441826,
            "Id": "40070941",
            "DocumentTypeId": "Billing note",
            "FileExtension": "",

ADMIN999AD47B36 100
            "DocumentTypeGroup": "Note",
            "Name": "Description billing note",
            "File": "",
            "Notes": "Notes billing note"
         }
]

3.3.30 BC Ledger Total


This API will get the totals of a corresponding Branding Consultant in the range of from date to
To Date.

Name: <URL>/api/services/VSIJNIBCLedegerServiceGroup/VSIJNIBCLedgerService/
CalculateBCLedgerFields

Example: https://nadel-dev09a351abe73ad401c5devaos.axcloud.dynamics.com/api/services/
VSIJNIBCLedegerServiceGroup/VSIJNIBCLedgerService/CalculateBCLedgerFields

Request Body:

{
    "_request":
    {
        "BrandingConsultantID" : "1022",
        "FromDate" : "1/1/2022",
        "ToDate" : "6/1/2022"
    }
}

Response Body:

{
    "$id": "1",
    "StatusCode": 200,
    "Message": "Success",
    "BrandingConsultant": "1022",
    "Data": [
        {
            "$id": "2",
            "Description": "Total Beginning Balance",
            "PRCharges": 0.0,
            "Volume": 0.0,
            "TotalCommission": 0.0,
            "Reserve": 0.0,
            "NetCommission": 0.0,
            "NetBCCommissionDue": 1703.21,
            "AccruedReserve": 0.0

ADMIN999AD47B36 101
        },
        {
            "$id": "3",
            "Description": "GP % Adjustments",
            "PRCharges": -2190.86,
            "Volume": 0.0,
            "TotalCommission": 0.0,
            "Reserve": 0.0,
            "NetCommission": -2190.86,
            "NetBCCommissionDue": -2190.86,
            "AccruedReserve": 0.0
        },
        {
            "$id": "4",
            "Description": "Freight",
            "PRCharges": -6611.77,
            "Volume": 0.0,
            "TotalCommission": 0.0,
            "Reserve": 0.0,
            "NetCommission": -6611.77,
            "NetBCCommissionDue": -6611.77,
            "AccruedReserve": 0.0
        },
        {
            "$id": "5",
            "Description": "Misc",
            "PRCharges": 3602.27,
            "Volume": 0.0,
            "TotalCommission": 0.0,
            "Reserve": 0.0,
            "NetCommission": 3602.27,
            "NetBCCommissionDue": 3602.27,
            "AccruedReserve": 0.0
        },
        {
            "$id": "6",
            "Description": "Samples",
            "PRCharges": -830.26,
            "Volume": 0.0,
            "TotalCommission": 0.0,
            "Reserve": 0.0,
            "NetCommission": -830.26,
            "NetBCCommissionDue": -830.26,
            "AccruedReserve": 0.0
        },
        {
            "$id": "7",

ADMIN999AD47B36 102
            "Description": "Total AP - Misc",
            "PRCharges": -6030.62,
            "Volume": 0.0,
            "TotalCommission": 0.0,
            "Reserve": 0.0,
            "NetCommission": -6030.62,
            "NetBCCommissionDue": -6030.62,
            "AccruedReserve": 0.0
        },
        {
            "$id": "8",
            "Description": "Sales/Commissions",
            "PRCharges": 0.00,
            "Volume": 204464.26,
            "TotalCommission": 36812.72,
            "Reserve": 592.17,
            "NetCommission": 36220.55,
            "NetBCCommissionDue": 36220.55,
            "AccruedReserve": 592.17
        },
        {
            "$id": "9",
            "Description": "Adjustments",
            "PRCharges": 0.00,
            "Volume": 0.0,
            "TotalCommission": 0.0,
            "Reserve": 0.0,
            "NetCommission": 0.0,
            "NetBCCommissionDue": 0.0,
            "AccruedReserve": 0.0
        },
        {
            "$id": "10",
            "Description": "Nets (Charged) or Credited",
            "PRCharges": 0.00,
            "Volume": 0.0,
            "TotalCommission": 0.0,
            "Reserve": 0.0,
            "NetCommission": 0.0,
            "NetBCCommissionDue": 0.0,
            "AccruedReserve": 0.0
        },
        {
            "$id": "11",
            "Description": "Chargebacks",
            "PRCharges": 0.00,
            "Volume": 0.0,

ADMIN999AD47B36 103
            "TotalCommission": 0.0,
            "Reserve": 0.0,
            "NetCommission": 0.0,
            "NetBCCommissionDue": 0.0,
            "AccruedReserve": 0.0
        },
        {
            "$id": "12",
            "Description": "Total Sales/Commissions/Adjustments",
            "PRCharges": 0.00,
            "Volume": 204464.26,
            "TotalCommission": 36812.72,
            "Reserve": 592.17,
            "NetCommission": 36220.55,
            "NetBCCommissionDue": 36220.55,
            "AccruedReserve": 592.17
        },
        {
            "$id": "13",
            "Description": "Commissions Paid Total",
            "PRCharges": -592.17,
            "Volume": 0.0,
            "TotalCommission": 0.0,
            "Reserve": 0.0,
            "NetCommission": -592.17,
            "NetBCCommissionDue": -592.17,
            "AccruedReserve": 0.0
        },
        {
            "$id": "14",
            "Description": "Total Ending Balance",
            "PRCharges": -6622.79,
            "Volume": 204464.26,
            "TotalCommission": 36812.72,
            "Reserve": 592.17,
            "NetCommission": 29597.76,
            "NetBCCommissionDue": 31300.97,
            "AccruedReserve": 592.17
        }
    ],
    "GPAdjustments": [],
    "Freight": [],
    "Misc": [],
    "Samples": [],
    "TotalAPMisc": [],
    "SalesCommissions": [],
    "Adjustments": [],

ADMIN999AD47B36 104
    "NetsCredited": [],
    "ChargeBack": [],
    "TotalSalesCommissionAdjustments": [],
    "CommissionPaidTotal": [],
    "TotalLines": []
}

3.3.31 YTD Summary


This API will get the YTD Summary of corresponding Branding Consultant in the range of from
date to To Date.

Name: <URL>/api/services/VSIJNIBCLedegerServiceGroup/VSIJNIYTDService/calculateYTD
Example: https://nadel-dev09a351abe73ad401c5devaos.axcloud.dynamics.com/api/services/
VSIJNIBCLedegerServiceGroup/VSIJNIYTDService/calculateYTD

Request Body:

{
    "_request":
    {
        "BrandingConsultantID" : "1022",
        "FromDate" : "1/1/2022",
        "ToDate" : "6/1/2022"
    }
}

Response Body:

{
    "$id": "1",
    "StatusCode": 200,
    "Message": "Success",
    "BrandingConsultant": "1022",
    "Data": [
        {
            "$id": "2",
            "YTGP": 11843.48,
            "YTDVolume": 37462.7,
            "YTDGPPct": 31.614058783803623337346213700,
            "BacklogVolume": 195882.52,
            "BacklogGP": 68992.62,
            "EstimatedBacklogCommission": 34496.31,
            "CommissionTierDescription": "Non-Tiger YE March 2023",
            "GPTONextCommissionTier": 238156.52
        }
    ]
}

ADMIN999AD47B36 105
3.3.32 Commission Program Tier
This API will get the records of Commission Program Tier

Name: <URL>/api/services/VSIJNIBCLedegerServiceGroup/VSIJNICommissionProgramTierService/
calculateCommissionProgramTier

Example: https://nadel-dev09a351abe73ad401c5devaos.axcloud.dynamics.com/api/services/
VSIJNIBCLedegerServiceGroup/VSIJNICommissionProgramTierService/
calculateCommissionProgramTier

Request Body:

{
    "_request":
    {
        "ToDate" : "6/1/2022"
    }
}

Response Body:

{
    "$id": "1",
    "StatusCode": 200,
    "Message": "Success",
    "Data": [
        {
            "$id": "2",
            "CommissionProgramID": "CP000000001",
            "CommissionTierNumber": 1,
            "CommissionTierDescription": "Default",
            "FromGPValue": -10000000.0,
            "ToGPValue": 249999.99,
            "MinimumGPPrecent": 37.0,
            "CommissionPercentage": 50.0,
            "CalculateReserve": 1,
            "ReservePercent": 5.0
        },
        {
            "$id": "3",
            "CommissionProgramID": "CP000000002",
            "CommissionTierNumber": 1,
            "CommissionTierDescription": "Default 2020",
            "FromGPValue": -10000000.0,
            "ToGPValue": 249999.99,
            "MinimumGPPrecent": 37.0,

ADMIN999AD47B36 106
            "CommissionPercentage": 50.0,
            "CalculateReserve": 1,
            "ReservePercent": 5.0
        },
        {
            "$id": "4",
            "CommissionProgramID": "CP000000003",
            "CommissionTierNumber": 1,
            "CommissionTierDescription": "Default 2021",
            "FromGPValue": -10000000.0,
            "ToGPValue": 249999.99,
            "MinimumGPPrecent": 37.0,
            "CommissionPercentage": 50.0,
            "CalculateReserve": 1,
            "ReservePercent": 5.0
        },
        {
            "$id": "5",
            "CommissionProgramID": "CP000000001",
            "CommissionTierNumber": 2,
            "CommissionTierDescription": "Golden Tiger",
            "FromGPValue": 250000.0,
            "ToGPValue": 424999.99,
            "MinimumGPPrecent": 36.0,
            "CommissionPercentage": 50.0,
            "CalculateReserve": 0,
            "ReservePercent": 0.0
        },
        {
            "$id": "6",
            "CommissionProgramID": "CP000000002",
            "CommissionTierNumber": 2,
            "CommissionTierDescription": "Golden Tiger 2020",
            "FromGPValue": 250000.0,
            "ToGPValue": 424999.99,
            "MinimumGPPrecent": 36.0,
            "CommissionPercentage": 50.0,
            "CalculateReserve": 0,
            "ReservePercent": 0.0
        },
        {
            "$id": "7",
            "CommissionProgramID": "CP000000003",
            "CommissionTierNumber": 2,
            "CommissionTierDescription": "Golden Tiger 2021",
            "FromGPValue": 250000.0,
            "ToGPValue": 424999.99,

ADMIN999AD47B36 107
            "MinimumGPPrecent": 36.0,
            "CommissionPercentage": 50.0,
            "CalculateReserve": 0,
            "ReservePercent": 0.0
        },
        {
            "$id": "8",
            "CommissionProgramID": "CP000000001",
            "CommissionTierNumber": 3,
            "CommissionTierDescription": "Super Tiger",
            "FromGPValue": 425000.0,
            "ToGPValue": 694999.99,
            "MinimumGPPrecent": 34.0,
            "CommissionPercentage": 50.0,
            "CalculateReserve": 0,
            "ReservePercent": 0.0
        },
        {
            "$id": "9",
            "CommissionProgramID": "CP000000002",
            "CommissionTierNumber": 3,
            "CommissionTierDescription": "Super Tiger 2020",
            "FromGPValue": 425000.0,
            "ToGPValue": 694999.99,
            "MinimumGPPrecent": 34.0,
            "CommissionPercentage": 50.0,
            "CalculateReserve": 0,
            "ReservePercent": 0.0
        },
        {
            "$id": "10",
            "CommissionProgramID": "CP000000003",
            "CommissionTierNumber": 3,
            "CommissionTierDescription": "Super Tiger 2021",
            "FromGPValue": 425000.0,
            "ToGPValue": 694999.99,
            "MinimumGPPrecent": 34.0,
            "CommissionPercentage": 50.0,
            "CalculateReserve": 0,
            "ReservePercent": 0.0
        },
        {
            "$id": "11",
            "CommissionProgramID": "CP000000001",
            "CommissionTierNumber": 4,
            "CommissionTierDescription": "Mega Tiger",
            "FromGPValue": 695000.0,

ADMIN999AD47B36 108
            "ToGPValue": 1000000000.0,
            "MinimumGPPrecent": 32.0,
            "CommissionPercentage": 50.0,
            "CalculateReserve": 0,
            "ReservePercent": 0.0
        },
        {
            "$id": "12",
            "CommissionProgramID": "CP000000002",
            "CommissionTierNumber": 4,
            "CommissionTierDescription": "Mega Tiger 2020",
            "FromGPValue": 695000.0,
            "ToGPValue": 10000000000.0,
            "MinimumGPPrecent": 32.0,
            "CommissionPercentage": 50.0,
            "CalculateReserve": 0,
            "ReservePercent": 0.0
        },
        {
            "$id": "13",
            "CommissionProgramID": "CP000000003",
            "CommissionTierNumber": 4,
            "CommissionTierDescription": "Mega Tiger 2021",
            "FromGPValue": 695000.0,
            "ToGPValue": 10000000000.0,
            "MinimumGPPrecent": 32.0,
            "CommissionPercentage": 50.0,
            "CalculateReserve": 0,
            "ReservePercent": 0.0
        }
    ]
}

3.3.33 GP Adjustment
This API will get the records of GP Adjustment of Branding Consultant in the range of from
date to To Date, this API requires Category in the Request Body.

Name: <URL>/api/services/VSIJNIBCLedegerServiceGroup/VSIJNIBCLedgerGPAdjustmentService/
calculateBCLedgerGPAdjustment

Example: https://nadel-dev09a351abe73ad401c5devaos.axcloud.dynamics.com/api/services/
VSIJNIBCLedegerServiceGroup/VSIJNIBCLedgerGPAdjustmentService/calculateBCLedgerGPAdjustment

Request Body:

{
    "_request":
    {

ADMIN999AD47B36 109
        "BrandingConsultantID" : "1022",
        "FromDate" : "1/1/2022",
        "ToDate" : "6/1/2022",
        "CategoryID" : "Commission Adj"
    }
}

Response Body:

{
    "$id": "1",
    "StatusCode": 200,
    "Message": "Success",
    "BrandingConsultant": "1022",
    "Total": -2190.86,
    "Data": [
        {
            "$id": "2",
            "Date": "2022-01-05T12:00:00",
            "ProjectName": "Ryan Walsh",
            "TrackingNumber": "",
            "ShipFromAddress": "",
            "ShipToAddress": "",
            "AmountinTransactionCurrency": -4236.56,
            "Carrier": 0,
            "RecipientCompanyName": "",
            "DeliveryMode": "",
            "MovedToFreightSalesID": "",
            "CategoryID": "Commission Adj",
            "Description": "Commission adjustment for 12/31/2021",
            "CommissionAdjustmentID": "GPCA000006",
            "OriginReferenceID": "",
            "VendInvoiceID": ""
        }
    ]
}

3.3.34 Freight
This API will get the records of Freight of Branding Consultant in the range of from date to To
Date, this API requires Category in the Request Body.

Name: <URL>/api/services/VSIJNIBCLedegerServiceGroup/VSIJNIBCLedgerFreightService/
calculateBCLedgeFreight

Example: https://nadel-dev09a351abe73ad401c5devaos.axcloud.dynamics.com/api/services/
VSIJNIBCLedegerServiceGroup/VSIJNIBCLedgerFreightService/calculateBCLedgeFreight

ADMIN999AD47B36 110
Request Body:

{
    "_request":
    {
        "BrandingConsultantID" : "1022",
        "FromDate" : "1/1/2022",
        "ToDate" : "6/1/2022",
        "CategoryID" : "Freight"
    }
}

Response Body:

{
    "$id": "1",
    "StatusCode": 200,
    "Message": "Success",
    "BrandingConsultant": "1022",
    "Total": -6611.77,
    "Data": [
        {
            "$id": "2",
            "Date": "2022-01-03T12:00:00",
            "ProjectName": "Ryan Walsh",
            "RecID": 5640207296,
            "TrackingNumber": "1Z9365EX1396110459",
            "ShipFromAddress": "2910 18TH STREET\nBOULDER,  CO, 80304",
            "ShipToAddress": "929 BAINES STREET\nEast Palo Alto,  CA, 94303",
            "AmountinTransactionCurrency": -17.71,
            "Carrier": "UPS",
            "RecipientCompanyName": "",
            "DeliveryMode": "UPS Next Day Air Saver",
            "MovedToFreightSalesID": "",
            "CategoryID": "",
            "Description": "",
            "CommissionAdjustmentID": "",
            "OriginReferenceID": "",
            "VendInvoiceID": ""
        }
    ]
}

3.3.35 Misc
This API will get the records of Misc of Branding Consultant in the range of from date to To
Date, this API requires Category in the Request Body.

ADMIN999AD47B36 111
Name: <URL>/api/services/VSIJNIBCLedegerServiceGroup/VSIJNIBCLedgerMiscService/
calculateBCLedgerMisc

Example: https://nadel-dev09a351abe73ad401c5devaos.axcloud.dynamics.com/api/services/
VSIJNIBCLedegerServiceGroup/VSIJNIBCLedgerMiscService/calculateBCLedgerMisc

Request Body:

{
    "_request":
    {
        "BrandingConsultantID" : "1022",
        "FromDate" : "1/1/2022",
        "ToDate" : "6/1/2022",
        "CategoryID" : "Misc"
    }
}

Response Body:

{
    "$id": "1",
    "StatusCode": 200,
    "Message": "Success",
    "BrandingConsultant": "1022",
    "Total": 3602.27,
    "Data": [
        {
            "$id": "2",
            "Date": "2022-01-12T12:00:00",
            "ProjectName": "Ryan Walsh",
            "TrackingNumber": "",
            "ShipFromAddress": "",
            "ShipToAddress": "",
            "AmountinTransactionCurrency": 45.0,
            "Carrier": 0,
            "RecipientCompanyName": "",
            "DeliveryMode": "",
            "MovedToFreightSalesID": "",
            "CategoryID": "Misc",
            "Description": "manual crdt",
            "CommissionAdjustmentID": "",
            "OriginReferenceID": "JBNUM000076609",
            "VendInvoiceID": ""
        }

    ]
}

ADMIN999AD47B36 112
3.3.36 Sample
This API will get the records of Sample of Branding Consultant in the range of from date to To
Date, this API requires Category in the Request Body.

Name: <URL>/api/services/VSIJNIBCLedegerServiceGroup/VSIJNIBCLedgerSampleService/
calculateBCLedgerSample

Example: https://nadel-dev09a351abe73ad401c5devaos.axcloud.dynamics.com/api/services/
VSIJNIBCLedegerServiceGroup/VSIJNIBCLedgerSampleService/calculateBCLedgerSample

Request Body:

{
    "_request":
    {
        "BrandingConsultantID" : "1022",
        "FromDate" : "1/1/2022",
        "ToDate" : "6/1/2022",
        "CategoryID" : "Merch"
    }
}

Response Body:

{
    "$id": "1",
    "StatusCode": 200,
    "Message": "Success",
    "BrandingConsultant": "1022",
    "Total": -900.86,
    "Data": [
        {
            "$id": "2",
            "Date": "2022-01-21T12:00:00",
            "ProjectName": "Ryan Walsh",
            "TrackingNumber": "",
            "RecID": 5640282251,
            "ShipFromAddress": "",
            "ShipToAddress": "",
            "AmountinTransactionCurrency": -9.33,
            "Carrier": 0,
            "RecipientCompanyName": "",
            "DeliveryMode": "",
            "MovedToFreightSalesID": "40020045",
            "CategoryID": "Merch",
            "Description": "Screen-printing, Pad Printing & Embroidery",
            "CommissionAdjustmentID": "",

ADMIN999AD47B36 113
            "PurchaseID": "20158078",
            "OriginalReference": "",
            "VendInvoiceID": "7386",
"DocumentURL": "https://jnadel.sharepoint.com/sites/OCR-T/Shared D
ocuments/200835331.pdf",
            "VendorName": "SUPER SCREEN INC.",
            "CreatedDateTime": "2022-01-21T22:05:20Z",
            "CreatedBy": "jaldana",
            "TransID": "TRNDC002981230",
            "VendorAccount": ""
        }
    ]
}
3.3.37 Sales/Commission
This API will get the records of Sales/Commission of Branding Consultant in the range of from
date to To Date.
Name: <URL>/api/services/VSIJNIBCLedegerServiceGroup/VSIJNIBCLedgerSalesCommissionService/
calculateSalesComm

Example: https://nadel-dev09a351abe73ad401c5devaos.axcloud.dynamics.com/api/services/
VSIJNIBCLedegerServiceGroup/VSIJNIBCLedgerSalesCommissionService/calculateSalesComm

Request Body:

{
    "_request":
    {
        "BrandingConsultantID" : "1022",
        "FromDate" : "1/1/2022",
        "ToDate" : "6/1/2022",
        "CategoryID" : ""
    }
}

Response Body:

{
    "$id": "1",
    "StatusCode": 200,
    "Message": "Success",
    "BrandingConsultant": "1022",
    "TotalBCRevenue": 204464.26,
    "TotalBCGP": 73625.43,
    "BCAvgMargin": 36.008948458767317085147301540,
    "TotalBCCommission": 36812.72,
    "TotalBCReserve": 592.17,
    "Data": [

ADMIN999AD47B36 114
        {
            "$id": "2",
            "ProjectName": "Team Aqua Cards",
            "Date": "2022-01-11T12:00:00",
            "SalesOrderNumber": "40059989",
            "InvoiceID": "55054831",
            "ClientName": "GENENTECH, INC.",
            "InvoiceTotal": 308.26,
            "TotalSell": 239.34,
            "OrderCost": 0.0,
            "ServiceFee": 0.0,
            "TotalCost": 135.6,
            "GPAmount": 103.74,
            "Margin": 43.344197,
            "NetGPAmount": 0.0,
            "NetMargin": 0.0,
            "CommissionPercentage": 100.0,
            "BCRevenue": 239.34,
            "BCGP": 103.74,
            "BCCommission": 51.87,
            "BCReserve": 0.0,
            "ExcludedFromCommissionLevelCalculation": 0,
            "ExclusionApprovedBy": "",
            "IsCommissionExcluded": false,
            "IsChargeback": false,
            "CommissionJournal": "JBNUM000076281",
            "OriginReference": "",
            "JNIInvoiceID": "",
            "VendorName": "",
            "Description": "",
            "CreatedDateTime": "2022-01-11T23:55:03Z",
            "CreatedBy": ""
        }
]    
}

3.3.38 Adjustments
This API will get the records of Adjustments of Branding Consultant in the range of from date
to To Date.
Name:
<URL>/api/services/VSIJNIBCLedegerServiceGroup/VSIJNIBCLedgerAdjustmentService/
calculateAdjustments

Example: https://nadel-dev09a351abe73ad401c5devaos.axcloud.dynamics.com/api/services/
VSIJNIBCLedegerServiceGroup/VSIJNIBCLedgerAdjustmentService/calculateAdjustments

ADMIN999AD47B36 115
Request Body:

{
    "_request":
    {
        "BrandingConsultantID" : "1022",
        "FromDate" : "1/1/2022",
        "ToDate" : "6/1/2022",
        "CategoryID" : ""
    }
}

Response Body:

{
    "$id": "1",
    "StatusCode": 200,
    "Message": "",
    "BrandingConsultant": "1022",
    "TotalBCRevenue": 0.0,
    "TotalBCGP": 0.0,
    "BCAvgMargin": 0.0,
    "TotalBCCommission": 0.0,
    "TotalBCReserve": 0.0,
    "Data": []
}

3.3.39 Nets (Charged) or Credited


This API will get the records of Nets (Charged) or Credited of Branding Consultant in the range
of from date to To Date.

Name:
<URL>/api/services/VSIJNIBCLedegerServiceGroup/VSIJNIBCLedgerNetsChargedCreditService/
calculateNetCharges

Example: https://nadel-dev09a351abe73ad401c5devaos.axcloud.dynamics.com/api/services/
VSIJNIBCLedegerServiceGroup/VSIJNIBCLedgerNetsChargedCreditService/calculateNetCharges

Request Body:

{
    "_request":
    {
        "BrandingConsultantID" : "1022",
        "FromDate" : "1/1/2022",
        "ToDate" : "6/1/2022",
        "CategoryID" : ""
    }

ADMIN999AD47B36 116
}

Response Body:

{
    "$id": "1",
    "StatusCode": 200,
    "Message": "Success",
    "BrandingConsultant": "1022",
    "TotalBCRevenue": -6750.0,
    "TotalBCGP": 0.0,
    "BCAvgMargin": 0.0,
    "TotalBCCommission": 0.0,
    "TotalBCReserve": 0.0,
    "Data": [
        {
            "$id": "2",
            "ProjectName": "BOSE SPEAKERS",
            "Date": "2022-03-22T12:00:00",
            "SalesOrderNumber": "40069433",
            "InvoiceID": "PCN003395",
            "ClientName": "DYNATRACE",
            "InvoiceTotal": -7143.38,
            "TotalSell": -6750.0,
            "OrderCost": 0.0,
            "ServiceFee": 0.0,
            "TotalCost": -6750.0,
            "GPAmount": 0.0,
            "Margin": 0.0,
            "NetGPAmount": 0.0,
            "NetMargin": 0.0,
            "CommissionPercentage": 100.0,
            "BCRevenue": -6750.0,
            "BCGP": 0.0,
            "BCCommission": 0.0,
            "BCReserve": 0.0,
            "ExcludedFromCommissionLevelCalculation": 0,
            "ExclusionApprovedBy": "",
            "IsCommissionExcluded": false,
            "IsChargeback": false,
            "CommissionJournal": "JBNUM000087643",
            "OriginReference": "",
            "JNIInvoiceID": "",
            "VendorName": "",
            "Description": "",
            "CreatedDateTime": "2022-03-22T23:00:05Z",

ADMIN999AD47B36 117
            "CreatedBy": ""
        }
    ]
}

3.3.40 ChargeBack
This API will get the records of Chargeback of Branding Consultant in the range of from date to
To Date.
Name:
<URL>/api/services/VSIJNIBCLedegerServiceGroup/VSIJNIBCLedgerChargebackService/
calculateChargeback

Example: https://nadel-dev09a351abe73ad401c5devaos.axcloud.dynamics.com/api/services/
VSIJNIBCLedegerServiceGroup/VSIJNIBCLedgerChargebackService/calculateChargeback

Request Body:

{
    "_request":
    {
        "BrandingConsultantID" : "1022",
        "FromDate" : "1/1/2022",
        "ToDate" : "6/1/2022",
        "CategoryID" : ""
    }
}

Response Body:

{
    "$id": "1",
    "StatusCode": 200,
    "Message": "",
    "BrandingConsultant": "1022",
    "TotalBCRevenue": 0.0,
    "TotalBCGP": 0.0,
    "BCAvgMargin": 0.0,
    "TotalBCCommission": 0.0,
    "TotalBCReserve": 0.0,
    "Data": []
}

3.3.41 YTDGP/YTDVolume
This API will get the records of YTDGP/ YTDVolume of Branding Consultant in the range of from
date to To Date.

Name:
<URL>/api/services/VSIJNIBCLedegerServiceGroup/VSIJNIBCLedgerYTDGPService/calculateYTDGP

ADMIN999AD47B36 118
Example: https://nadel-dev09a351abe73ad401c5devaos.axcloud.dynamics.com/api/services/
VSIJNIBCLedegerServiceGroup/VSIJNIBCLedgerYTDGPService/calculateYTDGP

Request Body:

{
    "_request":
    {
        "BrandingConsultantID" : "1022",
        "FromDate" : "1/1/2022",
        "ToDate" : "6/1/2022",
        "CategoryID" : ""
    }
}

Response Body:

{
    "$id": "1",
    "StatusCode": 200,
    "Message": "",
    "BrandingConsultant": "1022",
    "TotalBCRevenue": 1585012.49,
    "TotalBCGP": 555460.31,
    "BCAvgMargin": 35.044538355656743121311302730,
    "TotalBCCommission": 266500.980,
    "TotalBCReserve": 592.17,
    "Data": [
        {
            "$id": "2",
            "ProjectName": "",
            "Date": "2019-08-23T12:00:00",
            "SalesOrderNumber": "",
            "InvoiceID": "DF1",
            "ClientName": "",
            "InvoiceTotal": 432.88,
            "TotalSell": 432.88,
            "OrderCost": 0.0,
            "ServiceFee": 0.0,
            "TotalCost": 264.83,
            "GPAmount": 168.06,
            "Margin": 38.82,
            "NetGPAmount": 0.0,
            "NetMargin": 0.0,
            "CommissionPercentage": 0.0,
            "BCRevenue": 432.88,

ADMIN999AD47B36 119
            "BCGP": 168.06,
            "BCCommission": 84.03,
            "BCReserve": 8.4,
            "ExcludedFromCommissionLevelCalculation": 0,
            "ExclusionApprovedBy": "",
            "IsCommissionExcluded": false,
            "IsChargeback": false,
            "CommissionJournal": "JBNUM000000009",
            "OriginReference": "",
            "JNIInvoiceID": "",
            "VendorName": "",
            "Description": "",
            "CreatedDateTime": "1900-01-01T00:00:00Z",
            "CreatedBy": ""
        }
]
}

3.3.42 BacklogGP / BacklogVolume


This API will get the records of BacklogGP/ BacklogVolume of Branding Consultant in the range
of from date to To Date.

Name:
<URL>/api/services/VSIJNIBCLedegerServiceGroup/VSIJNIBCLedgerYTDBacklogService/
calculateYTDBacklog

Example: https://nadel-dev09a351abe73ad401c5devaos.axcloud.dynamics.com/api/services/
VSIJNIBCLedegerServiceGroup/VSIJNIBCLedgerYTDBacklogService/calculateYTDBacklog

Request Body:

{
    "_request":
    {
        "BrandingConsultantID" : "1022",
        "FromDate" : "1/1/2022",
        "ToDate" : "6/1/2022",
        "CategoryID" : ""
    }
}

Response Body:

{
    "$id": "1",
    "StatusCode": 200,
    "Message": "Success",
    "BrandingConsultant": "1022",

ADMIN999AD47B36 120
    "Data": [
        {
            "$id": "2",
            "SalesID": "40020045",
            "CustomerAccount": "80011523",
            "JobName": "Lululemon- Jackets",
            "OrderDate": "2020-07-22T19:49:26Z",
            "InHandDate": "2022-01-28T12:00:00",
            "TotalOpenSell": 0.0,
            "TotalOpenCost": 0.0,
            "OpenEstimatedGP": 0.0,
            "OpenEstimatedGPPercentage": 0.0,
            "BCCommissionPercentage": 100.0,
            "EstimatedBCCommission": 0.0
        }
]
}

3.3.43 Create Sales Order Header


This API will create the sales order header for a customer by taking both Customer and Vendor
Account Number. Project ID, Shipping Method and Payment Method parameters must be
passed, so that, confirmation can be smoothly done.

Name: <URL>/ api/services/vsiJNISalesOrderServiceGroup/vsiJNICreateSaleOrderHeaderService/


createSalesOrderHeader

Example: https://nadel-dev107b10ff90bfa759a9devaos.axcloud.dynamics.com/api/services/
vsiJNISalesOrderServiceGroup/vsiJNICreateSaleOrderHeaderService/createSalesOrderHeader

Request Parameters Explanation:


Request Parameter “Address Selection” Mapping with the respective names:

1 = One time
2 = Bill to
3 = Address book
4 = Multiple ship-to
5 = TBD

Request Parameter “Credit Card Fee Charge”:

0= Freight
1= BC Ledger

Request Parameter “Invoice Email”:

Invoice Email is an array which will take multiple JSON objects for storing multiple Invoice emails. The
JSON objects contain five parameters including “Name” for mentioning name of the email, “Email” for
inserting invoice email, “Save” for saving the Email to the respective customer whose Customer Account
Number / ID is passed in the request parameter, “Confirmation” for setting the confirmation flag and
“Invoiced” for setting the Invoice flag.

ADMIN999AD47B36 121
Request Body:

{{

    "_request": {
        "CustomerId": "81008004",
        "BrandingConsultant": "1000",
"AccountsCoordinator": "1000",
        "JobName": "Vendor",
        "AddressSelection": 3,
"AddressLocationNumber":5639710327,

        "DeliveryAddress": "Indian Inventory",
        "CountryRegionID": "IND",
        "Street": "Andheri",
        "StreetNumber": "177",
        "City": "Las Piedras",
        "State": "IND",
        "ZipCode": "00771",
        "County": "",
        "BuildingComplement":"A-5",
        "DistrictName":"Uttar Pradesh",
        "PostBox":"501501",
"PortalKey":"12345-12345-12345-12345",
             "MelissaAddressKey":"12345-12345-12345-12345",
        "DeliveryName": "Office",
        "AttentionInformation": "Attention Notice",
"Location": "Location",
"Buyer":"1234567",

"CustomerPONumber":"123456",

        "ShipDate": "5/31/2022",
        "InHandsDate": "12/29/2022",
        "Currency": "",
        "Site": "JNI",
        "Warehouse": "JNI",
         "MethodOfPayment":"CC",

         "CreditCardFeeCharge":1,
        "ShippingMethod":"UPS GRD",
        "InvoiceEmail":
[{"Name":"Inventory1","Email":"lewandowski@gmail.com","Save":true,"Confirmation":true,
"Invoiced":true},

{"Name":"Inventory2","Email":"pogba@gmail.com","Save":false,"Confirmation":true,
"Invoiced":true},
{"Name":"Inventory3","Email":"salah@gmail.com","Save":true,"Confirmation":true,
"Invoiced":true}],

ADMIN999AD47B36 122
        "CreatedByPortal": 1
    }
}
Response Body:

{
    "$id": "1",
    "CustomerId": "81008004",
    "SalesOrderId": "40071076",
    "SalesOrderStatus": "Open order",
"AddressSelection": "One time",
     "OneTimeAddress": "A-5\nAndheri\n501501\nUttar Pradesh,Las Piedras-00771\
nIND\nIND",

     "LocationNumber": 5639726076,

"DeliveryAddress": "Indian Inventory",
     "City": "Las Piedras",
     "Street": "Andheri",
     "StreetNumber": "177",
     "CountryRegionID": "IND",
     "State": "IND",
     "ZipCode": "00771",
     "County": "",
     "BuildingComplement": "A-5",
     "DistrictName": "Uttar Pradesh",
     "PostBox": "501501",
"PortalKey":"12345-12345-12345-12345",
           "MelissaAddressKey":"12345-12345-12345-12345",

"SOInvoiceEmailLines": [
        {
            "$id": "2",
            "Name": "",
            "Email": "lewandowski@gmail.com",
            "Save": false,
            "Confirmation": true,
            "Invoiced": true,
            "InvoiceEmailRecId": 5637985330
        },
        {
            "$id": "3",
            "Name": "",
            "Email": "pogba@gmail.com",
            "Save": false,
            "Confirmation": true,
            "Invoiced": true,
            "InvoiceEmailRecId": 5637985331

ADMIN999AD47B36 123
        },
        {
            "$id": "4",
            "Name": "",
            "Email": "salah@gmail.com",
            "Save": false,
            "Confirmation": true,
            "Invoiced": true,
            "InvoiceEmailRecId": 5637985332
        } ],

    "Status": "Success",
    "StatusCode": 200,
    "Message": "Sales order has been successfully created."
}

3.3.44 Create Sales Order Lines


This API will create a single or multiple sales order lines by taking Sales Order Id. It can also
confirm the sales order by taking “1” in Confirm SO parameter and will give the respective
Purchase Order Id and Project Id in response.

Name: <URL>/ api/services/vsiJNISalesOrderServiceGroup/vsiJNICreateSalesOrderLineService/


createSalesOrderLines

Example: https://nadel-dev107b10ff90bfa759a9devaos.axcloud.dynamics.com/api/services/
vsiJNISalesOrderServiceGroup/vsiJNICreateSalesOrderLineService/createSalesOrderLines

Request Parameters Explanation:


Request Parameter “Address Selection” Mapping with the respective names:

0 = To Vendor (Will use request parameters ShipToVendorAccount[The vendor account whose


address is required] and AddressLocationNumber [The unique location number of the address
associated with the vendor] )

1 = To Address Book (Will use request parameter AddressLocationNumber [The unique location
number of the address associated with customer used in SO Header creation])

2 = To Header Ship To (No additional request parameter required here.)

3 = One Time (Will use request parameters DeliveryAddress, CountryRegionId, Street,


StreetNumber, City, State, ZipCode, County, BuildingComplement, DistrictName, PostBox for
creating a new address.)

Request Parameter “Line Status” Mapping with the respective names:

0 = None
1 = Open order
2 = Delivered
3 = Invoiced
4 = Canceled

Request Parameter “Direct Delivery Vendor”:

ADMIN999AD47B36 124
Direct Delivery Vendor is the Vendor’s account number or ID that needs to be passed in.

Request Parameter “POAssignment”:


0 = Default
1 = New
2 = Existing

Request Body:

{
    "_request": {
        "SaleOrderId": "40070991",
        "SOLines": [
            {
                "JNIItemNumber": "Socks, Caps, Footwea",
                "DirectDeliveryVendor": "10010035",
"POAssignment": 0,
                 "PurchaseOrderId":"",
                 "RSMJNIShipToEmail":"abcd@jni.com",
                "AddressSelection": 3,
                "ShipToVendorAccount":"10010035",
                "AddressLocationNumber": 5637217547,
                "AttentionInformation": "Attention Notice",
                "Location": "Location",
                 "DeliveryAddress": "Indian Inventory",

                  "CountryRegionID": "IND",
                 "Street": "Andheri",
                 "StreetNumber": "177",
                 "City": "Las Piedras",
                 "State": "IND",
                 "County": "",
                 "ZipCode": "00771",
                 "BuildingComplement": "A-5",
                 "DistrictName": "Uttar Pradesh",
                 "PostBox": "501501",
"PortalKey":"12345-12345-12345-12345",
             "MelissaAddressKey":"12345-12345-12345-12345",
                "DescriptionField": "description",
                "FactoryNotes": "factory notes",
                "VendorSKU": "vendor sku",
                "Quantity": 175.00,
                "Sell": 800.00,
                "NET": 900.00,
                "ShippingMethod": "UPS GRD",
                "JNIFreightAccount": 1,
                "AccountNumber": "12345",
                "ShipDate": "5/31/2022",
                "InHandsDate": "6/30/2022",

ADMIN999AD47B36 125
                "Firm": 1,
                "LineStatus": 1,
                "Currency": "USD",
                "Trackable": 1,
                "PortalKey": "123456"
        ]
    }
}

Response Body:

{
    "$id": "1",
    "SalesOrderId": "40070991",
    "SalesOrderStatus": "Open order",
    "ApprovalStatus": "None",
    "PurchaseOrder": "",
    "ProjectId": "",
    "SOLines": [
        {
            "$id": "2",
            "LineNumber": 1.0,
            "PurchaseOrder": "",
            "JNIItemNumber": "Socks, Caps, Footwea",
            "DirectDeliveryVendor": "10010035",
"POAssignment": "Default",
                 "PurchaseOrderId":"",
                 "RSMJNIShipToEmail":"abcd@jni.com",

            "VendorName": "BRANDMUSCLE",
             "AttentionInformation": "Attention Notice",

             "Location": "Location",
             "AddressSelection": "One time",
             "OneTimeAddress": "A-5\nAndheri\n501501\
nUttar Pradesh,Las Piedras-00771\nIND\nIND",
             "LocationNumber": 5639741829,
             "ShipToVendorAccount": "",
             "DeliveryAddress": "Indian Inventory",
             "City": "Las Piedras",
             "Street": "Andheri",
             "StreetNumber": "177",
             "CountryRegionID": "IND",
             "State": "IND",
             "ZipCode": "00771",
             "County": "",

ADMIN999AD47B36 126
             "BuildingComplement": "A-5",
             "DistrictName": "Uttar Pradesh",
             "PostBox": "501501",
"PortalKey":"12345-12345-12345-12345",
             "MelissaAddressKey":"12345-12345-12345-12345",
            "DescriptionField": "description",
            "FactoryNotes": "factory notes",
            "VendorSKU": "vendor sku",
            "DeliverRemainder": 175.0,
            "Quantity": 175.0,
            "Sell": 800.0,
            "NET": 900.0,
            "EstimatedMargin": -12.5,
            "SellTotal": 140000.00,
            "NetTotal": 157500.00,
            "Comission": -8750.0,
            "ShippingMethod": "UPS GRD",
            "JNIFreightAccount": 1,
            "AccountNumber": "12345",
            "ShipDate": "2022-05-31T12:00:00",
            "InHandsDate": "2022-06-30T12:00:00",
            "Firm": 1,
            "LineStatus": "Open order",
            "Currency": "USD",
            "Trackable": 1,
            "PortalKey": "123456",
            "LineRecId": 5639360084,
            "InventTransId": "LOT002112514",
            "Status": "Success",
            "StatusCode": 200,
            "Message": "Sales order line has been successfully created"
        }
    ],
    "Status": "Success",
    "StatusCode": 200,
    "Message": "All sales order lines have been successfully created and updat
ed."
}

3.3.45 Get SalesOrder ID


This API will get the SalesOrder Id of particular Branding Consultant which are not Cancelled or
Invoiced.

Name:
<URL>/api/services/VSIJNIBCLedegerServiceGroup/VSIJNIGetSaleOrderIDService/getSalesOrderID

ADMIN999AD47B36 127
Example:
https://nadel-coa1.sandbox.operations.dynamics.com/api/services/VSIJNIBCLedegerServiceGroup/
VSIJNIGetSaleOrderIDService/getSalesOrderID

Request Body:

{
    "_request":
    {
        "BrandingConsultantID" : "1022"
    }
}

Response Body:

{
    "$id": "1",
    "StatusCode": 200,
    "Message": "Success",
    "BrandingConsultant": "1022",
    "Data": [
        {
            "$id": "2",
            "SalesOrderID": "40020045"
        }
]
}

3.3.46 Get Tracking Details


This API will get the details of particular Freight’s Tracking Number.

Name:
<URL>/api/services/VSIJNIBCLedegerServiceGroup/VSIJNIFreightTrackingNumberService/
getTrackingDetails

Example:
https://nadel-coa1.sandbox.operations.dynamics.com/api/services/VSIJNIBCLedegerServiceGroup/
VSIJNIFreightTrackingNumberService/getTrackingDetails

Request Body:

{
    "_request":
    {
        "FreightTrackingNumber" : "1Z9365EX1396110459"
    }
}

ADMIN999AD47B36 128
Response Body:

{
    "$id": "1",
    "StatusCode": 200,
    "Message": "Success",
    "FreightNumber": "FT003022758",
    "FreightCostPrice": -17.71,
    "ShipStatus": "Delivered",
    "ShippingMethod": "{UPS 013}",
    "ShipDate": "2021-12-10T12:00:00",
    "DeliveryDate": "2021-12-13T12:00:00",
    "ProjectID": "",
    "SalesID": "",
    "PurchID": "",
    "CustAccount": "",
    "PODName": "",
    "JNIReference2": "PO20153184",
    "JNIReference3": "PO20153184",
    "JNIReference4": "",
    "JNIReference5": "",
    "HundredWeightTrackingNumber": "",
    "JNIResponsible": "1022",
    "ShipperName": "HEXA CUSTOM",
    "ShipperCompany": "",
    "ShipperAddress": "2910 18TH STREET\nBOULDER,  CO, 80304",
    "ShipperCity": "BOULDER",
    "ShipperCountry": "USA",
    "ShipperState": "CO",
    "ShipperStreet": "2910 18TH STREET",
    "ShipperZip": "",
    "RecipientName": "COREY WOOLFOLK",
    "RecipientCompany": "",
    "RecipientAddress": "929 BAINES STREET\nEast Palo Alto,  CA, 94303",
    "RecipientCity": "EAST PALO ALTO",
    "RecipientCountry": "USA",
    "RecipientState": "CA",
    "RecipientStreet": "929 BAINES STREET",
    "RecipientZip": "",
    "RecipientPhone": "19252247230",
    "PackageType": "",
    "PackageCount": "000001",
    "Weight": 1.0,
    "WeightUOM": "",
    "Length": 1400.0,
    "Width": 600.0,
    "Height": 200.0,

ADMIN999AD47B36 129
    "DimensionUOM": "LBS",
    "DimesionWeight": 13.0
}

3.3.47 Move To Freight


This API will get the details of particular Freight’s Tracking Number.

Name:
<URL>/api/services/VSIJNIBCLedegerServiceGroup/VSIJNIMoveToFreightService/MoveToFreight
Example:
https://nadel-coa1.sandbox.operations.dynamics.com/api/services/VSIJNIBCLedegerServiceGroup/
VSIJNIBCLedgerFreightService/calculateBCLedgeFreight

Request Body:

{
    "_request":
    {
        "RecID": "5640264112",
        "BrandingConsultantID": "1022",
        "SalesID": "40020045",
        "PostingDate": "7/19/2022"
    }
}
Response Body:

{
    "$id": "1",
    "StatusCode": 200,
    "Message": "Success",
    "BrandingConsultant": "1022",
    "SalesOrderID": "40020045",
    "LedgerJournalId": "JBNUM000079043"
}

3.3.48 Confirm Sales Order


This API will confirm the sales order after sales lines are being added to it.

Name:
<URL>/api/services/vsiJNISalesOrderServiceGroup/vsiJNIConfirmSalesOrderService/confirmSalesOrder
Example: https://nadel-dev107b10ff90bfa759a9devaos.axcloud.dynamics.com/api/services/
vsiJNISalesOrderServiceGroup/vsiJNIConfirmSalesOrderService/confirmSalesOrder

ADMIN999AD47B36 130
Request Body:

{
    "_request":{
        "SaleOrderId":"40071147"
    }
}

Response Body:

{
    "$id": "1",
    "SalesOrderId": "40071147",
    "SalesOrderStatus": "Open order",
    "ApprovalStatus": "Confirmation",
    "SOLines": [
        {
            "$id": "2",
            "LineNumber": 1.0,
            "PurchaseOrderId": "40071147A",
            "ProjectId": "60054285",
            "JNIItemNumber": "Socks, Caps, Footwea",
            "DirectDeliveryVendor": "10010037",
            "POAssignment": "Default",
            "VendorName": "ACORN PAPER PRODUCTS",
            "AttentionInformation": "Attention Notice",
            "Location": "Location",
            "AddressSelection": "To header ship-to",
            "OneTimeAddress": "Blake-Street",
            "LocationNumber": 5639811576,
            "ShipToVendorAccount": "",
            "DeliveryAddress": "Indian Inventory",
            "City": "Reno",
            "Street": "Blake-Street",
            "StreetNumber": "226",
            "CountryRegionID": "USD",
            "State": "CA",
            "ZipCode": "90015-227",
            "County": "CONTRA COS",
            "BuildingComplement": "",
            "DistrictName": "",
            "PostBox": "",
            "DescriptionField": "description",
            "FactoryNotes": "factory notes",
            "VendorSKU": "vendor sku",
            "DeliverRemainder": 10.0,
            "Quantity": 10.0,

ADMIN999AD47B36 131
            "Sell": 800.0,
            "NET": 900.0,
            "EstimatedMargin": -12.5,
            "SellTotal": 8000.0,
            "NetTotal": 9000.0,
            "Comission": -500.0,
            "ShippingMethod": "UPS GRD",
            "JNIFreightAccount": 1,
            "AccountNumber": "12345",
            "ShipDate": "2022-11-30T12:00:00",
            "InHandsDate": "2022-10-13T12:00:00",
            "Firm": 1,
            "LineStatus": "Open order",
            "Currency": "EUR",
            "Trackable": 1,
            "PortalKey": "f3d0573d-3014-4478-a8cc-59f6916c7d78",
            "LineRecId": 5639415576,
            "InventTransId": "LOT002113684"
        }
    ],
    "Status": "Success",
    "StatusCode": 200,
    "Message": "Sales order has been confirmed."
}
3.3.49 Commission Paid Total
This API will get the records of Commission Paid Total of Branding Consultant in the range of
from date to To Date, this API requires Category in the Request Body.

Name: <URL>/api/services/VSIJNIBCLedegerServiceGroup/VSIJNICommissionPaidTotalService/
calculateCommissionPaidTotal

Example:
https://nadel-coa1.sandbox.operations.dynamics.com/api/services/VSIJNIBCLedegerServiceGroup/
VSIJNICommissionPaidTotalService/calculateCommissionPaidTotal

Request Body:

{
    "_request":
    {
        "BrandingConsultantID": "1022",
        "FromDate": "1/1/2022",
        "ToDate": "6/1/2022",
         "CategoryID": "Commission Payments"

    }
}

ADMIN999AD47B36 132
Response Body:

    "$id": "1",
    "StatusCode": 200,
    "Message": "Success",
    "BrandingConsultant": "1022",
    "Total": -158380.05,
    "Data": [
        {
            "$id": "2",
            "Date": "2021-07-16T12:00:00",
            "CategoryID": "Commission Payments",
            "BCName": "Ryan Walsh",
            "Description": "PD Commission 07/10/2021",
            "AmountinTransactionCurrency": -20000.0,
            "CreatedDateTime": "2021-07-16T23:18:16Z",
            "CreatedBy": "boris.yang"
        }
]
}

3.3.50 Get PO ID for Existing PO Assignment


This API will fetch the PO IDs for the sales order line while creation when PO Assignment is
selected as “Existing”.

Name: <URL>
api/services/vsiJNISalesOrderServiceGroup/vsiJNIExistingPOAssignmentPOIDService/getExtisingPOId

Example:
https://nadel-coa1.sandbox.operations.dynamics.com/api/services/vsiJNISalesOrderServiceGroup/
vsiJNIExistingPOAssignmentPOIDService/getExtisingPOId

Request Body:

{
    "_request": {
        "SaleOrderId":"40071084",
        "DirectDeliveryVendor":"10010037"
    }
}

Response Body:

ADMIN999AD47B36 133
{

    "$id": "1",
    "SaleOrderId": "40071084",
    "DirectDeliveryVendor": "10010037",
    "PurchaseOrderIds": [
        {
            "$id": "2",
            "PurchaseOrderId": "40071084C"
        },
        {
            "$id": "3",
            "PurchaseOrderId": "40071084D"
        }
    ],
    "Status": "Success",
    "StatusCode": 200,
    "Message": "All purchase order Ids for PO Assignment Existing have been successful
ly fetched."
}

3.3.51 Get Sales Order Confirmation Journal


This API will get Sales Order Confirmation Journal Header and Lines corresponding of Sales ID
and the latest journal based on SalesOrderDate

Name: api/services/ vsiJNISalesOrderServiceGroup/ VSIJNISOConfirmationJournalService/


SOConfirmationJournal

Example: https://nadel-dev09a351abe73ad401c5devaos.axcloud.dynamics.com/api/services/
vsiJNISalesOrderServiceGroup/VSIJNISOConfirmationJournalService/SOConfirmationJournal

Request Body:

{
    "_request":
    {
         " SalesOrderID" : "40071028"

    }
}

{
    "$id": "1",
    "StatusCode": 200,
    "Message": "Success",
    "InvoiceAccount": "80013076",
    "SalesId": "40071028",

ADMIN999AD47B36 134
    "SalesJournal": "40071028-3",
    "Name": "AFSP",
    "Date": "2022-04-07T12:00:00",
    "Currency": "USD",
    "AmountINTransactionCurrency": 3508.5,
    "Lines": [
        {
            "$id": "2",
            "LineNumber": 1.0,
            "ProcurementCategory": "Buttons, Patches & Labels",
            "ItemID": "Buttons, Patches & L",
            "Name": "New York Pins 2022\nSize: 1\" Wide \nImprint: See Mock Up",
            "SalesQuantity": 1800.0,
            "SalesPrice": 1.85,
            "LineAmount": 3330.0,
            "LineAmountTax": 0.0,
            "ShipDate": "1900-01-01T12:00:00",
            "DeliveryDate": "2022-05-09T12:00:00",
            "FactoryNotes": "Email order confirmation to Stephanie.Pfeffer@nadel.com",
            "DeliveryMode": "UPS GRD",
            "AccountNumber": "915141",
            "ItemNumber": "",
"SOLineRecId": 5639444076,
            "PurchaseOrderID": "40071028C",
            "POLineRecId": 5638314581

        },
        {
            "$id": "3",
            "LineNumber": 2.0,
            "ProcurementCategory": "Buttons, Patches & Labels",
            "ItemID": "Buttons, Patches & L",
            "Name": "Set-Up",
            "SalesQuantity": 1.0,
            "SalesPrice": 150.0,
            "LineAmount": 150.0,
            "LineAmountTax": 0.0,
            "ShipDate": "1900-01-01T12:00:00",
            "DeliveryDate": "2022-05-09T12:00:00",
            "FactoryNotes": "email Stephanie.Pfeffer@nadel.com",
            "DeliveryMode": "UPS GRD",
            "AccountNumber": "915141",
            "ItemNumber": "",
"SOLineRecId": 5639444076,
            "PurchaseOrderID": "40071028C",
            "POLineRecId": 5638314581

ADMIN999AD47B36 135
        }
    ]
}
3.3.52 Sales Order Header Update API
This API will update the sales order header by taking sales order id and updates it.

Name: <url>/api/services/vsiJNISalesOrderServiceGroup/vsiJNIUpdateSalesOrderHeaderService/
updateSalesOrderHeader

Example: https://nadel-dev09a351abe73ad401c5devaos.axcloud.dynamics.com/
api/services/vsiJNISalesOrderServiceGroup/vsiJNIUpdateSalesOrderHeaderService/
updateSalesOrderHeader

Request Body:

{
    "_request": {
        "SaleOrderId":"40071121",
        "CustomerId": "81008012",
        "BrandingConsultant": "1000",
        "AccountsCoordinator": "1000",
        "JobName": "Vendor",
        "AddressSelection":2,
        "AddressLocationNumber": 5639710327,
        "AttentionInformation": "Attention Notice",
        "Location": "Location",
        "DeliveryAddress": "Indian Inventory",
        "City": "Reno",
        "Street": "Blake-Street",
        "StreetNumber": "226",
        "CountryRegionID": "USD",
        "State": "CA",
        "ZipCode": "90015-227",
        "County": "Contra Costa",
        "BuildingComplement": "",
        "DistrictName": "",
        "PostBox": "",
"PortalKey":"12345-12345-12345-12345",
             "MelissaAddressKey":"12345-12345-12345-12345",
        "DeliveryName": "Home",
        "Buyer": "1234567",
        "CustomerPONumber": "123456",
        "ShipDate": "9/30/2022",
        "InHandsDate": "1900-01-01",
        "Currency": "JPY",
        "Site": "JNI",
        "Warehouse": "JNI",
        "MethodOfPayment": "CC",
        "CreditCardFeeCharge": 1,

ADMIN999AD47B36 136
        "ShippingMethod": "UPS GRD",
        "CreatedByPortal": 1,
"EstimatedTax":10.00,
         "EstimatedFreight":20.00,
        "InvoiceEmail": [
            {
                "InvoiceEmailRecId": 5637998076,
                "Name": "Inventory1",
                "Email": "tomUpdatednew@gmail.com",
                "Save": false,
                "Confirmation": false,
                "Invoiced": true
            }
        ]
    }
}
Response Body:

{
    "$id": "1",
    "CustomerId": "81008012",
    "SalesOrderId": "40071121",
    "SalesOrderStatus": "Open order",
    "AddressSelection": "Bill to",
    "OneTimeAddress": "",
    "DeliveryAddress": "Home",
    "City": "RENO",
    "Street": "Blake-Street",
    "StreetNumber": "226",
    "CountryRegionID": "USA",
    "State": "NV",
    "ZipCode": "89509-1650",
    "County": "",
    "BuildingComplement": "",
    "DistrictName": "",
    "PostBox": "",
"PortalKey":"12345-12345-12345-12345",
             "MelissaAddressKey":"12345-12345-12345-12345",
    "LocationNumber": 5639736581,
    "SOInvoiceEmailLines": [
        {
            "$id": "2",
            "Name": "",
            "Email": "lewandowski@gmail.com",
            "Confirmation": false,
            "Invoiced": false,
            "InvoiceEmailRecId": 5637998076,

ADMIN999AD47B36 137
            "Status": "Error",
            "StatusCode": 344,
            "Message": "Invoice Email already exist on customer 81008012 . It 
can't be updated."
        }
    ],
    "Status": "Partially succeed",
    "StatusCode": 201,
    "Message": "Not all information of Sales order has been updated."
}

3.3.53 Sales Order Lines Update API


This API will update the sales order lines by taking their line rec id and updates them.

Name: <url>/api/services/vsiJNISalesOrderServiceGroup/vsiJNIUpdateSalesOrderLinesService/
updateSalesOrderLines

Example: https://nadel-dev09a351abe73ad401c5devaos.axcloud.dynamics.com/
api/services/vsiJNISalesOrderServiceGroup/vsiJNIUpdateSalesOrderLinesService/
updateSalesOrderLines

Request Body:

{
    "_request": {
        "SaleOrderId": "40071121",
        "SOLines": [
            {
                "LineRecId": 5639409577,
                "JNIItemNumber": "Socks, Caps, Footwea",
                "DirectDeliveryVendor": "10010035",
                "ForAllVendors":0,
                "POAssignment": 0,
                "PurchaseOrderId":"",
                "RSMJNIShipToEmail":"abcd@jni.com",
                "AddressSelection": 2,
                "ShipToVendorAccount": "10010035",
                "AddressLocationNumber": 5637217547,
                "AttentionInformation": "Attention Notice",
                "Location": "Location",
                "DeliveryAddress": "Indian Inventory",
                "City": "Reno",
                "Street": "Blake-Street",
                "StreetNumber": "226",
                "CountryRegionID": "USD",
                "State": "CA",
                "ZipCode": "90015-227999",
                "County": "Contra Costa",
                "BuildingComplement": "",

ADMIN999AD47B36 138
                "DistrictName": "",
                "PostBox": "",
"PortalKey":"12345-12345-12345-12345",
             "MelissaAddressKey":"12345-12345-12345-12345",
                "DescriptionField": "description",
                "FactoryNotes": "factory notes",
                "VendorSKU": "vendor sku",
                "Quantity": 30.00,
                "Sell": 30.00,
                "NET": 30.00,
                "ShippingMethod": "UPS GRD",
                "JNIFreightAccount": 1,
                "AccountNumber": "12345",
                "ShipDate": "12/30/2022",
                "InHandsDate": "1900-01-01",
                "Firm": 1,
                "LineStatus": 1,
                "Currency": "EUR",
                "Trackable": 1,
                "PortalKey": "f3d0573d-3014-4478-a8cc-59f6916c7d78"
            }
        ]
    }
}
Response Body:

{
    "$id": "1",
    "SalesOrderId": "40071121",
    "SalesOrderStatus": "Open order",
    "ApprovalStatus": "Confirmation",
    "SOLines": [
        {
            "$id": "2",
            "LineNumber": 2.0,
            "PurchaseOrderId": "40071121D",
            "ProjectId": "60054261",
            "JNIItemNumber": "Socks, Caps, Footwea",
            "DirectDeliveryVendor": "10010035",
            "ForAllVendors": 0,
            "POAssignment": "Default",
            "RSMJNIShipToEmail": "abcd@jni.com",
            "VendorName": "BRANDMUSCLE",
            "AttentionInformation": "Attention Notice",
            "Location": "Location",
            "AddressSelection": "To header ship-to",
            "OneTimeAddress": "",

ADMIN999AD47B36 139
            "LocationNumber": 5637230291,
            "ShipToVendorAccount": "",
            "DeliveryAddress": "Multiple Drop Ships",
            "City": "",
            "Street": "",
            "StreetNumber": "",
            "CountryRegionID": "USA",
            "State": "",
            "ZipCode": "",
            "County": "",
            "BuildingComplement": "",
            "DistrictName": "",
            "PostBox": "",
"PortalKey":"12345-12345-12345-12345",
             "MelissaAddressKey":"12345-12345-12345-12345",
            "DescriptionField": "description",
            "FactoryNotes": "factory notes",
            "VendorSKU": "vendor sku",
            "DeliverRemainder": 30.0,
            "Quantity": 30.0,
            "Sell": 30.0,
            "NET": 30.0,
            "EstimatedMargin": 0.0,
            "SellTotal": 900.0,
            "NetTotal": 900.0,
            "Comission": 0.0,
            "ShippingMethod": "UPS GRD",
            "JNIFreightAccount": 1,
            "AccountNumber": "12345",
            "ShipDate": "2022-12-30T12:00:00",
            "InHandsDate": "1900-01-01T12:00:00",
            "Firm": 1,
            "LineStatus": "Open order",
            "Currency": "EUR",
            "Trackable": 1,
            "PortalKey": "f3d0573d-3014-4478-a8cc-59f6916c7d78",
            "LineRecId": 5639409577,
            "InventTransId": "LOT002113407",
            "Status": "Success",
            "StatusCode": 200,
            "Message": "Sales order line has been successfully updated."
        }
    ],
    "Status": "Success",
    "StatusCode": 200,
    "Message": "All sales order lines have been successfully created."
}

ADMIN999AD47B36 140
3.3.54 Sales Order Lines Delete API
This API will update the sales order lines by taking their line rec id and deletes them.

Name: <url>/api/services/vsiJNISalesOrderServiceGroup/vsiJNIDeleteSalesOrderLineService/
deleteSalesOrderLines

Example: https://nadel-dev09a351abe73ad401c5devaos.axcloud.dynamics.com/
api/services/vsiJNISalesOrderServiceGroup/vsiJNIDeleteSalesOrderLineService/deleteSalesOrderLines

Request Body:

{
    "_request":
    {
        "SaleOrderId": "40071147",
        "SOLines": [
            {
                "LineRecId": 5639415576
            },
            {
                "LineRecId": 5639415577
            }
        ]
    }
}
Response Body:

{
    "$id": "1",
    "SalesOrderId": "40071147",
    "SalesOrderStatus": "Open order",
    "ApprovalStatus": "Confirmation",
    "SOLines": [
        {
            "$id": "2",
            "LineNumber": 1.0,
            "PurchaseOrderId": "40071147A",
            "ProjectId": "60054285",
            "JNIItemNumber": "Socks, Caps, Footwea",
            "DirectDeliveryVendor": "10010037",
            "POAssignment": "Default",
            "VendorName": "ACORN PAPER PRODUCTS",
            "RSMJNIShipToEmail": "abcd@jni.com",
            "AttentionInformation": "Attention Notice",
            "Location": "Location",

ADMIN999AD47B36 141
            "AddressSelection": "To header ship-to",
            "OneTimeAddress": "",
            "LocationNumber": 5639811576,
            "ShipToVendorAccount": "",
            "DeliveryAddress": "Indian Inventory",
            "City": "Reno",
            "Street": "Blake-Street",
            "StreetNumber": "226",
            "CountryRegionID": "USD",
            "State": "CA",
            "ZipCode": "90015-227",
            "County": "CONTRA COS",
            "BuildingComplement": "",
            "DistrictName": "",
            "PostBox": "",
            "DescriptionField": "description",
            "FactoryNotes": "factory notes",
            "VendorSKU": "vendor sku",
            "DeliverRemainder": 10.0,
            "Quantity": 10.0,
            "Sell": 800.0,
            "NET": 900.0,
            "EstimatedMargin": -12.5,
            "SellTotal": 8000.0,
            "NetTotal": 9000.0,
            "Comission": -500.0,
            "ShippingMethod": "UPS GRD",
            "JNIFreightAccount": 1,
            "AccountNumber": "12345",
            "ShipDate": "2022-11-30T12:00:00",
            "InHandsDate": "2022-10-13T12:00:00",
            "Firm": 1,
            "LineStatus": "Open order",
            "Currency": "EUR",
            "Trackable": 1,
            "PortalKey": "f3d0573d-3014-4478-a8cc-59f6916c7d78",
            "LineRecId": 5639415576,
            "InventTransId": "LOT002113684",
            "Status": "Success",
            "StatusCode": 200,
            "Message": "Sales order line has been successfully deleted."
        },
        {
            "$id": "3",
            "LineNumber": 2.0,
            "PurchaseOrderId": "40071147B",
            "ProjectId": "60054285",

ADMIN999AD47B36 142
            "JNIItemNumber": "Socks, Caps, Footwea",
            "DirectDeliveryVendor": "10010035",
            "POAssignment": "New",
            "VendorName": "BRANDMUSCLE",
            "RSMJNIShipToEmail": "abcd@jni.com",
            "AttentionInformation": "Attention Notice",
            "Location": "Location",
            "AddressSelection": "One time",
            "OneTimeAddress": "",
            "LocationNumber": 5639811577,
            "ShipToVendorAccount": "",
            "DeliveryAddress": "Indian Inventory2",
            "City": "Reno",
            "Street": "Blake-Street",
            "StreetNumber": "226",
            "CountryRegionID": "USA",
            "State": "CA",
            "ZipCode": "90015-227",
            "County": "CONTRA COS",
            "BuildingComplement": "",
            "DistrictName": "",
            "PostBox": "",
            "DescriptionField": "description",
            "FactoryNotes": "factory notes",
            "VendorSKU": "vendor sku",
            "DeliverRemainder": 10.0,
            "Quantity": 10.0,
            "Sell": 800.0,
            "NET": 900.0,
            "EstimatedMargin": -12.5,
            "SellTotal": 8000.0,
            "NetTotal": 9000.0,
            "Comission": -500.0,
            "ShippingMethod": "UPS GRD",
            "JNIFreightAccount": 1,
            "AccountNumber": "12345",
            "ShipDate": "2022-05-31T12:00:00",
            "InHandsDate": "2022-06-30T12:00:00",
            "Firm": 1,
            "LineStatus": "Open order",
            "Currency": "EUR",
            "Trackable": 1,
            "PortalKey": "123456",
            "LineRecId": 5639415577,
            "InventTransId": "LOT002113685",
            "Status": "Success",
            "StatusCode": 200,

ADMIN999AD47B36 143
            "Message": "Sales order line has been successfully deleted."
        }
    ],
    "Status": "Success",
    "StatusCode": 200,
    "Message": "All Sales order lines have been successfully deleted."
}

3.3.55 QR-3 Invoices Posted API


This API will get posted invoices by invoice date and due date range.

Name: <url>/api/services/ vsiJNIProjInvoiceServiceGroup/vsiJNIProjInvoiceService/getInvoices


Example: https://nadel-dev09a351abe73ad401c5devaos.axcloud.dynamics.com/ api/services/
vsiJNIProjInvoiceServiceGroup/vsiJNIProjInvoiceService/getInvoices

Request Body:

{
    "_request":
    {
        "InvoiceDate": "3/30/2022"
    }
}
Response Body:

{
    "$id": "1",
    "StatusCode": 200,
    "Message": "Success",
    "Invoices": [
        {
            "$id": "2",
            "Client": "HAMMER MUSEUM",
            "JobName": "Tshirt Uniforms",
            "Merch": 778.25,
            "Freight": 47.99,
            "Tax": 78.98,
            "InvTotal": 905.22,
            "SalesId": "40067945",
            "invoiceId": "55061091"
        },
        {
            "$id": "3",
            "Client": "NUTANIX",
            "JobName": "Pint Glasses",
            "Merch": 1103.88,
            "Freight": 28.5,

ADMIN999AD47B36 144
            "Tax": 67.94,
            "InvTotal": 1200.32,
            "SalesId": "40059987",
            "invoiceId": "55060616"
        },
        {
            "$id": "4",
            "Client": "NUTANIX",
            "JobName": "Golf Balls - Yeti Tumblers",
            "Merch": 7492.5,
            "Freight": 36.34,
            "Tax": 451.73,
            "InvTotal": 7980.57,
            "SalesId": "40063899",
            "invoiceId": "55060692"
        },
        {
            "$id": "5",
            "Client": "PARALLEL WIRELESS",
            "JobName": "Israel Rush Tumblers",
            "Merch": 793.0,
            "Freight": 734.26,
            "Tax": 0.0,
            "InvTotal": 1527.26,
            "SalesId": "40056898",
            "invoiceId": "55060681"
        },
        {
            "$id": "6",
            "Client": "PARALLEL WIRELESS",
            "JobName": "Hex Windbreakers",
            "Merch": 10600.0,
            "Freight": 389.87,
            "Tax": 0.0,
            "InvTotal": 10989.87,
            "SalesId": "40059562",
            "invoiceId": "55060878"
        },
        {
            "$id": "7",
            "Client": "INSIGHT SOURCING GROUP",
            "JobName": "tee shirts",
            "Merch": 1007.2,
            "Freight": 48.82,
            "Tax": 63.36,
            "InvTotal": 1119.38,
            "SalesId": "40066728",

ADMIN999AD47B36 145
            "invoiceId": "55060386"
        },
        {
            "$id": "8",
            "Client": "BULL OUTDOOR PRODUCTS, INC.",
            "JobName": "Bull Lanyards 2022",
            "Merch": 837.5,
            "Freight": 122.3,
            "Tax": 79.71,
            "InvTotal": 1039.51,
            "SalesId": "40065451",
            "invoiceId": "55059082"
        },
        {
            "$id": "9",
            "Client": "DISCOVERY COMMUNICATIONS",
            "JobName": "cm for inv 55050978",
            "Merch": -35856.0,
            "Freight": 0.0,
            "Tax": 0.0,
            "InvTotal": -35856.0,
            "SalesId": "40068021",
            "invoiceId": "PCN003306"
        },
        {
            "$id": "10",
            "Client": "DISCOVERY COMMUNICATIONS",
            "JobName": "Puppy Bowl/SB",
            "Merch": 14260.2,
            "Freight": 0.0,
            "Tax": 0.0,
            "InvTotal": 14260.2,
            "SalesId": "40064807",
            "invoiceId": "55059158"
        },
        {
            "$id": "11",
            "Client": "DISCOVERY COMMUNICATIONS",
            "JobName": "Discovery + | Beijing Olympics | Add on's",
            "Merch": 240.0,
            "Freight": 28.5,
            "Tax": 0.0,
            "InvTotal": 268.5,
            "SalesId": "40068770",
            "invoiceId": "55060797"
        },
        {

ADMIN999AD47B36 146
            "$id": "12",
            "Client": "DISCOVERY COMMUNICATIONS",
            "JobName": "Saxena Offsite Merchandise Order",
            "Merch": 4515.75,
            "Freight": 91.56,
            "Tax": 441.52,
            "InvTotal": 5048.83,
            "SalesId": "40061574",
            "invoiceId": "55060799"
        },
        {
            "$id": "13",
            "Client": "DISCOVERY COMMUNICATIONS",
            "JobName": "Discovery | Beijing Olympics | Extras 02.11.2022",
            "Merch": 1064.0,
            "Freight": 28.5,
            "Tax": 0.0,
            "InvTotal": 1092.5,
            "SalesId": "40066080",
            "invoiceId": "55060800"
        },
        {
            "$id": "14",
            "Client": "DISCOVERY COMMUNICATIONS",
            "JobName": "Discovery | Beijing Olympics | Isabelle & Marc",
            "Merch": 1900.0,
            "Freight": 28.5,
            "Tax": 0.0,
            "InvTotal": 1928.5,
            "SalesId": "40066265",
            "invoiceId": "55060801"
        },
        {
            "$id": "15",
            "Client": "EVENTFUL EVENTS INC",
            "JobName": "Senator McGuire bags",
            "Merch": 712.5,
            "Freight": 108.63,
            "Tax": 77.0,
            "InvTotal": 898.13,
            "SalesId": "40065526",
            "invoiceId": "55059173"
        },
        {
            "$id": "16",
            "Client": "EMORY HEALTHCARE",
            "JobName": "Larry Bowie-Frames Braves",

ADMIN999AD47B36 147
            "Merch": 840.0,
            "Freight": 60.0,
            "Tax": 0.0,
            "InvTotal": 900.0,
            "SalesId": "40061948",
            "invoiceId": "55059412"
        },
        {
            "$id": "17",
            "Client": "E.L.F. COSMETICS",
            "JobName": "Future X elf merchandise",
            "Merch": 3300.0,
            "Freight": 360.27,
            "Tax": 351.33,
            "InvTotal": 4011.6,
            "SalesId": "40066525",
            "invoiceId": "55058908"
        },
]
}
3.3.56 Get Customer Balance

This API will get the customer balance by taking customer account number in request
parameter only.

Name: <url>/api/services/vsiJNICreateCustomerServiceGroup/vsiJNICustomerBalanceService/
getCustomerBalance

Example: https://nadel-dev09a351abe73ad401c5devaos.axcloud.dynamics.com/api/services/
vsiJNICreateCustomerServiceGroup/vsiJNICustomerBalanceService/getCustomerBalance

Request Body:

{
    "_request": {
        "CustomerAccountNumber": "80011114"
    }
}
Response Body:

{
    "$id": "1",
    "CustomerAccountNumber": "80011114",
    "CustomerName": "BASIN STREET PROPERTIES",
    "CustomerCurrency": "USD",
    "CustomerBalanceCurrency": "USD",
    "CustomerBalance": 523.39,
    "VendorBalanceCurrency": "USD",

ADMIN999AD47B36 148
    "VendorBalance": 0.0,
"InvoiceDate": "2022-02-10T12:00:00",
     "LastOrderDate": "2022-08-21T20:50:09Z",
"AvailableCredit": 6476.61,
    "Currencies": [
        {
            "$id": "2",
            "Description": "Balance in currency",
            "Currency": "USD",
            "BalanceCurrency": 523.39,
            "Balance": 523.39,
            "BalanceInReportingCurrency": 523.39
        },
        {
            "$id": "3",
            "Description": "Accounting currency balance",
            "Currency": "",
            "BalanceCurrency": 0.0,
            "Balance": 523.39,
            "BalanceInReportingCurrency": 0.0
        },
        {
            "$id": "4",
            "Description": "Reporting currency balance",
            "Currency": "",
            "BalanceCurrency": 0.0,
            "Balance": 0.0,
            "BalanceInReportingCurrency": 523.39
        },
        {
            "$id": "5",
            "Description": "Ordered",
            "Currency": "",
            "BalanceCurrency": 0.0,
            "Balance": 0.0,
            "BalanceInReportingCurrency": 0.0
        },
        {
            "$id": "6",
            "Description": "Credit limit",
            "Currency": "",
            "BalanceCurrency": 0.0,
            "Balance": 7000.0,
            "BalanceInReportingCurrency": 0.0
        },
        {
            "$id": "7",

ADMIN999AD47B36 149
            "Description": "Credit remaining",
            "Currency": "",
            "BalanceCurrency": 0.0,
            "Balance": 6476.61,
            "BalanceInReportingCurrency": 0.0
        },
        {
            "$id": "8",
            "Description": "Customer advance",
            "Currency": "",
            "BalanceCurrency": 0.0,
            "Balance": 0.0,
            "BalanceInReportingCurrency": 0.0
        },
        {
            "$id": "9",
            "Description": "Prebill",
            "Currency": "",
            "BalanceCurrency": 0.0,
            "Balance": 0.0,
            "BalanceInReportingCurrency": 0.0
        },
        {
            "$id": "10",
            "Description": "Revised credit limit",
            "Currency": "",
            "BalanceCurrency": 0.0,
            "Balance": 6476.61,
            "BalanceInReportingCurrency": 0.0
        }
    ],
    "Status": "Success",
    "StatusCode": 200,
    "Message": "Customer balance has been successfully fetched."
}

3.3.57 Create/Update Sales Order Notes/Attachments

This API will create multiple sales order attachments or notes in a single list by taking Sales
order ID as the key parameter. Note: while creating attachments, “AttachmentRecId” must be
left blank.

The same API will update the attachments when “AttachmentRecId” of a specific attachment
will be passed.

ADMIN999AD47B36 150
We can also attach these notes to Sample PO by passing in the “ PurchaseOrderId” parameter
of a specific Purchase Order. Note: When Notes/Attachments are attached to Sample POs,
they no longer remain in the Attachments of Sales Order. But just displays in the Notes tab of
the Sales Order to let us know that we have made them a part of Purchase Order now.

Name: <url>/api/services/vsiJNISalesOrderServiceGroup/vsiJNICreateSONotesAttachmentsService/
createSONotesAttachments

Example: https://nadel-dev107b10ff90bfa759a9devaos.axcloud.dynamics.com/api/services/
vsiJNISalesOrderServiceGroup/vsiJNICreateSONotesAttachmentsService/createSONotesAttachments

Four DocumentTypeId parameter for SO Notes:

 Billing note
 Collections
 Invoice note
 Order note

The above parameters should be put accurately in the “DocumentTypeId” parameter.


Request Parameter “Restriction” Mapping with the respective names:

0 = Internal
1 = External

Request Body:

{
    "_request": {
        "SalesOrderId": "40071203",
        "AttachmentsList": [
            {
                "AttachmentRecId": "",
                "DocumentTypeId": "Billing note",
                "PurchaseOrderId": "",
                "Name": "Billing Note - Description",
                "Notes": "Billing Note - Notes",
                "Restriction": 1,
                "PortalKey": "1234-5678-9012-3456"
            },
            {
                "AttachmentRecId": "",
                "DocumentTypeId": "Collections",
                "PurchaseOrderId": "",
                "Name": "Collections- Description",
                "Notes": "Collections - Notes",
                "Restriction": 0,
                "PortalKey": "1234-5678-9012-3456"
            },

ADMIN999AD47B36 151
            {
                "AttachmentRecId": "",
                "DocumentTypeId": "Invoice note",
                "PurchaseOrderId": "",
                "Name": "Invoice note - Description",
                "Notes": "Invoice note - Notes",
                "Restriction": 1,
                "PortalKey": "1234-5678-9012-3456"
            },
            {
                "AttachmentRecId": "",
                "DocumentTypeId": "Order note",
                "PurchaseOrderId": "",
                "Name": "Order note - Description",
                "Notes": "Order note - Notes",
                "Restriction": 0,
                "PortalKey": "1234-5678-9012-3456"
            }
        ]
    }
}

Response Body:

    "$id": "1",
    "SalesOrderId": "40071203",
    "AttachmentsList": [
        {
            "$id": "2",
            "DocumentTypeId": "Billing note",
            "PurchaseOrderId": "",
            "Name": "Billing Note - Description",
            "Notes": "Billing Note - Notes",
            "Restriction": "External",
            "PortalKey": "1234-5678-9012-3456",
            "CreatedBy": "Admin",
            "CreatedDateTime": "2022-12-08T20:12:18Z",
            "ModifiedBy": "Admin",
            "ModifiedDateTime": "2022-12-08T20:12:18Z",
            "AttachmentRecId": "5639437326",
            "Status": "Success",
            "StatusCode": 200,
            "Message": "Sales order note has been successfully attached."
        },
        {

ADMIN999AD47B36 152
            "$id": "3",
            "DocumentTypeId": "Collections",
            "PurchaseOrderId": "",
            "Name": "Collections- Description",
            "Notes": "Collections - Notes",
            "Restriction": "Internal",
            "PortalKey": "1234-5678-9012-3456",
            "CreatedBy": "Admin",
            "CreatedDateTime": "2022-12-08T20:12:20Z",
            "ModifiedBy": "Admin",
            "ModifiedDateTime": "2022-12-08T20:12:20Z",
            "AttachmentRecId": "5639437327",
            "Status": "Success",
            "StatusCode": 200,
            "Message": "Sales order note has been successfully attached."
        },
        {
            "$id": "4",
            "DocumentTypeId": "Invoice note",
            "PurchaseOrderId": "",
            "Name": "Invoice note - Description",
            "Notes": "Invoice note - Notes",
            "Restriction": "External",
            "PortalKey": "1234-5678-9012-3456",
            "CreatedBy": "Admin",
            "CreatedDateTime": "2022-12-08T20:12:20Z",
            "ModifiedBy": "Admin",
            "ModifiedDateTime": "2022-12-08T20:12:20Z",
            "AttachmentRecId": "5639437328",
            "Status": "Success",
            "StatusCode": 200,
            "Message": "Sales order note has been successfully attached."
        },
        {
            "$id": "5",
            "DocumentTypeId": "Order note",
            "PurchaseOrderId": "",
            "Name": "Order note - Description",
            "Notes": "Order note - Notes",
            "Restriction": "Internal",
            "PortalKey": "1234-5678-9012-3456",
            "CreatedBy": "Admin",
            "CreatedDateTime": "2022-12-08T20:12:20Z",
            "ModifiedBy": "Admin",
            "ModifiedDateTime": "2022-12-08T20:12:20Z",
            "AttachmentRecId": "5639437329",
            "Status": "Success",

ADMIN999AD47B36 153
            "StatusCode": 200,
            "Message": "Sales order note has been successfully attached."
        }
    ],
    "Status": "Success",
    "StatusCode": 200,
    "Message": "All sales order notes have been successfully attached or updated."
}

3.3.58 Get SO charges

This API will get charges from Sales order based on the toggle parameter defined in charge
code for each charge.

Accounts receivable > Cahrges setup > charge code

Parameter name: Include in freight charges

API should return the charges for which this ‘include in freight charges’ is set to true.

Name: <url>/api/services/ vsiJNIChargesUtilServiceGroup/ vsiJNIChargesUtilService/ getCharges

Example: https://nadel-dev09a351abe73ad401c5devaos.axcloud.dynamics.com/ api/services/


vsiJNIChargesUtilServiceGroup/ vsiJNIChargesUtilService/ getCharges

Request Body:

{
"_request":
    {
        "SalesId":"998700"
    }
}

Response Body:

{
"$id": "1",
    "StatusCode": 200,
    "Message": "Success",
    "HeaderCharges": [
        {
            "$id": "2",
            "ChargesCode": "Frt Cost",
            "Description": "",
            "Currency": "USD",
            "SalesTaxGroup": "AVATAX",

ADMIN999AD47B36 154
            "TaxItemGroup": "ALL",
            "ChargesValue": 9.4,
            "Reference": "Sales order",
            "ProjectId": "60004915",
            "SalesId": "998700"
        },
        {
            "$id": "3",
            "ChargesCode": "Frt Sell",
            "Description": "",
            "Currency": "USD",
            "SalesTaxGroup": "AVATAX",
            "TaxItemGroup": "ALL",
            "ChargesValue": 14.8624,
            "Reference": "Sales order",
            "ProjectId": "60004915",
            "SalesId": "998700"
        }
    ],
    "LineCharges": [
        {
            "$id": "4",
            "ChargesCode": "Frt Sell",
            "ChargesValue": 35.33,
            "Description": "Freight Profit",
            "Currency": "USD",
            "SalesTaxGroup": "AVATAX",
            "TaxItemGroup": "ALL",
            "Reference": "Sales order",
            "ProjectId": "60004915",
            "SalesId": "998700"
        }
    ]
}

3.3.59 All PO Confirmation Journal Lines API


This API will give all PO Confirmation Journal overview headers and all its lines for multiple
reports to get printed in a single pdf file by the portal.

Name:
<url>/api/services/VSIJNIPOConfirmationJournalServiceGroup/vsiJNIAllPOConfirmationJournalService/
allPOConfirmationLines

Example: https://nadel-dev107b10ff90bfa759a9devaos.axcloud.dynamics.com/api/services/
VSIJNIPOConfirmationJournalServiceGroup/vsiJNIAllPOConfirmationJournalService/
allPOConfirmationLines

Request Body:

ADMIN999AD47B36 155
{
    "_request":
    {
         "SalesOrderID" : "40071233"
    }
}

Response Body:

{
    "$id": "1",
    "SalesOrderID": "40071233",
    "AllPOConfirmationJournalLines": [
        {
            "$id": "2",
            "InvoiceAccount": "10010037",
            "PurchID": "40071233A",
            "PurchaseJournal": "40071233A-2",
            "Name": "ACORN PAPER PRODUCTS",
            "Date": "2022-12-21T12:00:00",
            "Currency": "USD",
            "AmountINTransactionCurrency": 18000.0,
            "OrderSendStatus": 0,
            "OrderRequestVendorStatus": 0,
            "Lines": [
                {
                    "$id": "3",
                    "LineNumber": 1.0,
                    "ProcurementCategory": 0,
                    "ItemID": "Socks, Caps, Footwea",
                    "Name": "description",
                    "PurchaseQuantity": 10.0,
                    "PurchasePrice": 900.0,
                    "LineAmount": 9000.0,
                    "LineAmountTax": 0.0,
                    "ShipDate": "2022-12-21T12:00:00",
                    "DeliveryDate": "2022-12-21T12:00:00",
                    "FactoryNotes": "factory notes",
                    "DeliveryMode": "UPS GRD",
                    "AccountNumber": "12345",
                    "ItemNumber": "vendor sku",
                    "POLineRecId": 5638316084,
                    "SalesOrderId": "40071233",
                    "SOLineRecId": 5639445587
                },
                {

ADMIN999AD47B36 156
                    "$id": "4",
                    "LineNumber": 2.0,
                    "ProcurementCategory": 0,
                    "ItemID": "Socks, Caps, Footwea",
                    "Name": "description",
                    "PurchaseQuantity": 10.0,
                    "PurchasePrice": 900.0,
                    "LineAmount": 9000.0,
                    "LineAmountTax": 0.0,
                    "ShipDate": "2022-12-21T12:00:00",
                    "DeliveryDate": "2022-12-21T12:00:00",
                    "FactoryNotes": "factory notes",
                    "DeliveryMode": "UPS GRD",
                    "AccountNumber": "12345",
                    "ItemNumber": "vendor sku",
                    "POLineRecId": 5638316086,
                    "SalesOrderId": "40071233",
                    "SOLineRecId": 5639445589
                }
            ]
        },
        {
            "$id": "5",
            "InvoiceAccount": "10010035",
            "PurchID": "40071233B",
            "PurchaseJournal": "40071233B-2",
            "Name": "BRANDMUSCLE",
            "Date": "2022-12-21T12:00:00",
            "Currency": "USD",
            "AmountINTransactionCurrency": 4910.0,
            "OrderSendStatus": 0,
            "OrderRequestVendorStatus": 0,
            "Lines": [
                {
                    "$id": "6",
                    "LineNumber": 1.0,
                    "ProcurementCategory": 0,
                    "ItemID": "Socks, Caps, Footwea",
                    "Name": "description",
                    "PurchaseQuantity": 7.0,
                    "PurchasePrice": 700.0,
                    "LineAmount": 4900.0,
                    "LineAmountTax": 0.0,
                    "ShipDate": "2022-12-21T12:00:00",
                    "DeliveryDate": "2022-12-21T12:00:00",
                    "FactoryNotes": "factory notes",
                    "DeliveryMode": "UPS GRD",

ADMIN999AD47B36 157
                    "AccountNumber": "12345",
                    "ItemNumber": "vendor sku",
                    "POLineRecId": 5638316085,
                    "SalesOrderId": "40071233",
                    "SOLineRecId": 5639445588
                },
                {
                    "$id": "7",
                    "LineNumber": 2.0,
                    "ProcurementCategory": 0,
                    "ItemID": "Bags",
                    "Name": "des",
                    "PurchaseQuantity": 1.0,
                    "PurchasePrice": 10.0,
                    "LineAmount": 10.0,
                    "LineAmountTax": 0.0,
                    "ShipDate": "2022-12-21T12:00:00",
                    "DeliveryDate": "2022-12-21T12:00:00",
                    "FactoryNotes": "fac",
                    "DeliveryMode": "UPS GRD",
                    "AccountNumber": "915141",
                    "ItemNumber": "",
                    "POLineRecId": 5638316826,
                    "SalesOrderId": "40071233",
                    "SOLineRecId": 5639446326
                }
            ]
        },
        {
            "$id": "8",
            "InvoiceAccount": "10010035",
            "PurchID": "40071233C",
            "PurchaseJournal": "40071233C-1",
            "Name": "BRANDMUSCLE",
            "Date": "2022-12-21T12:00:00",
            "Currency": "USD",
            "AmountINTransactionCurrency": 9000.0,
            "OrderSendStatus": 0,
            "OrderRequestVendorStatus": 0,
            "Lines": [
                {
                    "$id": "9",
                    "LineNumber": 1.0,
                    "ProcurementCategory": 0,
                    "ItemID": "Socks, Caps, Footwea",
                    "Name": "description",
                    "PurchaseQuantity": 10.0,

ADMIN999AD47B36 158
                    "PurchasePrice": 900.0,
                    "LineAmount": 9000.0,
                    "LineAmountTax": 0.0,
                    "ShipDate": "2022-12-21T12:00:00",
                    "DeliveryDate": "2022-12-21T12:00:00",
                    "FactoryNotes": "factory notes",
                    "DeliveryMode": "UPS GRD",
                    "AccountNumber": "12345",
                    "ItemNumber": "vendor sku",
                    "POLineRecId": 5638317576,
                    "SalesOrderId": "40071233",
                    "SOLineRecId": 5639447076
                }
            ]
        },
        {
            "$id": "10",
            "InvoiceAccount": "10010035",
            "PurchID": "40071233D",
            "PurchaseJournal": "40071233D-1",
            "Name": "BRANDMUSCLE",
            "Date": "2022-12-21T12:00:00",
            "Currency": "USD",
            "AmountINTransactionCurrency": 9000.0,
            "OrderSendStatus": 0,
            "OrderRequestVendorStatus": 0,
            "Lines": [
                {
                    "$id": "11",
                    "LineNumber": 1.0,
                    "ProcurementCategory": 0,
                    "ItemID": "Socks, Caps, Footwea",
                    "Name": "description",
                    "PurchaseQuantity": 10.0,
                    "PurchasePrice": 900.0,
                    "LineAmount": 9000.0,
                    "LineAmountTax": 0.0,
                    "ShipDate": "2022-12-21T12:00:00",
                    "DeliveryDate": "2022-12-21T12:00:00",
                    "FactoryNotes": "factory notes",
                    "DeliveryMode": "UPS GRD",
                    "AccountNumber": "12345",
                    "ItemNumber": "vendor sku",
                    "POLineRecId": 5638318326,
                    "SalesOrderId": "40071233",
                    "SOLineRecId": 5639447826
                }

ADMIN999AD47B36 159
            ]
        }
    ],
    "Status": "Success",
    "StatusCode": 200,
    "Message": "All purchase order lines for the given sales order have been s
uccessfully fetched."
}

ADMIN999AD47B36 160
4.BATCH JOBS
4.1 BATCH JOBS IN D365

These batch jobs must be executed before doing portal sync. In order to avoid manual
execution, these jobs are automated.

4.1.1 Calculate Customer Transactional Fields

This batch job calculates customer transaction fields like credit limit, available credit, etc.

It is automated to run at 12:00:00 AM (GMT) Coordinated Universal Time everyday.

Navigation in Dynamics:

System Administration >> SetUp >> Integration >> Service >>

Calculate customer transactional fields

4.1.2 Calculate Vendor Transactional Fields

This batch job calculates the number of PO Headers and the Lines associated with it, in
which the respective vendor is attached.

It is automated to run at 12:00:00 AM (GMT) Coordinated Universal Time everyday.

Navigation in Dynamics:

System Administration >> SetUp >> Integration >> Service >>

Calculate vendor transactional fields

ADMIN999AD47B36 161

You might also like