PLANERGY’s API documents are guides that outline the application programming interface for developers, providing them with details to interact with PLANERGY programmatically.
These documents include information on endpoints, authentication methods, request and response formats, specific functionalities, and features supported by PLANERGY’s API.
The following is the list of various PLANERGY API Documents.
- PLANERGY Setup API – User Manual
- Cost Codes API Outlet User Manual
- Currency API Outlet User Manual
- Department API Outlet User Manual
- General Ledger API Outlet
- Invoices API Outlet User Manual
- Purchase Orders API Outlet User Manual
- Suppliers API Outlet User Manual
- Taxes API Outlet User Manual
- Terms API Outlet User Manual
- Units of Measure API User Manual
PLANERGY Setup API User Manual
Authentication and Authorization
PLANERGY has implemented OAuth2 as its chosen protocol for authorizing calls to its API. OAuth2 is the current widely recognized standard security protocol designed for authorizing API requests.
This protocol uses client ID and client secret credentials to obtain requests, access, and refresh tokens while maintaining a strict approach of never storing user credentials on any third-party infrastructure.
For more information on the OAuth2 authorization framework, refer to https://tools.ietf.org/html/rfc6749.
Note
Outline of PLANERGY – OAuth2 Workflow
The following diagram outlines the workflow of PLANERGY with OAuth2.
PLANERGY – OAuth2 Workflow
Your application communicates with our PLANERGY server to exchange data over the API.
The workflow steps are as given below:
- Your app sends a GET request to our server with the URL parameters (https://oauth2web.purchasecontrol.com/OAuth2/Authorize).The URL parameters sent to our server through the GET request are as follows.
-
- client_id – This is the Client ID assigned to your application.
- scope – The value to be used in this parameter is All as currently, this is the only supported option and it allows you to request access to all available resources or permissions related to the action being performed.
- redirect_uri – This is a specific URL where the access code should be sent and it must be registered with PLANERGY auth servers before its usage.
- response_type – Code – This parameter specifies that the type of response expected from the authentication server when initiating the authorization flow is Code. It is important to note that the value should be provided as a string without quotation marks.
- state – This parameter can be used to include any information that you wish to be sent back to your application after the authorization process is completed.
- The information sent to our auth server is then verified. After verification of the information, any of the following can take place.
-
- If client_id or redirect_uri or any of the information is invalid, a server error message will be displayed containing the description of the error.
- If all the information provided is valid, then the user is directed to our Auth page to authenticate the user.
Note
- If the client-provided information in the authentication process is valid, the user will be redirected to a dedicated page to select a company.
-
- The company selected here will be granted permission by the user to access the application.
- If an application uses multiple companies, each one must be given permission separately.
- The following image displays an example where there are multiple companies for the user.
Note
Note that it is the responsibility of the application to allow access to multiple companies and track all the necessary codes/tokens.
- On pressing Connect, the control will be redirected to redirect_uri with the request. The redirection will be initiated through a GET request where the access code is provided as Code and the desired scope is included as a URL.
- Upon receiving the information through redirect_uri, the application will then resend this information as a request to the PLANERGY-OAuth2 server (https://oauth2api.purchasecontrol.com/api/Tokens).
-
- This request should be made as a POST request and is directed to acquire access and refresh tokens that will then be used to make API calls.
- The Basic authentication header should contain the client id and client secret in a format {clientid}:{clientsecret}.
- The Basic authentication body should include the forms data collection as its payload containing the following parameters:
- Grant_type – This is the AUTHORIZATION_CODE.
- Code – This is the code returned to the application in step 4.
- redirect_uri – This is a specific URL where the access code should be sent and it must be registered with PLANERGY auth servers prior to its usage.
Note
- The information provided will then be verified and if found invalid, an error will be returned to the caller containing the JSON primitive Error message.
- If the information is valid, then the response will be returned to the caller containing access and refresh tokens that can be further used to access API.
-
- refresh_token – This is used to get a new access token when the access token expires. Note that the refresh token ends itself in 100 days.
- access_token – This is used to authenticate API calls and has an expiration period of 60 minutes.
- expires_in – This gives the exact number of seconds within which the access_token will expire.
- x_refresh_token_expires_in – This gives the exact number of seconds within which the refresh_token will expire.
- token_type – This always returns the value Bearer.
- api_url – This returns the uri of the base endpoint API to be used when making calls.
Note
- You can use the retrieved access_token to authenticate to our API endpoint. This access_token should be sent to API endpoints through the authorization token type Bearer.
For example – Authorization: Bearer {access_token}
- In the event of the access_token expiration or invalidation, the application requiring API access can refresh the token freely as long as the corresponding refresh_token is still valid.
-
- The access_token can be refreshed using a POST request similar to the one used for retrieving the access_token.
- The Basic authentication header should contain the parameters clientid and clientsecret in the format {clientid}:{clientsecret}
- The Basic authentication body should include forms data collection as its payload containing the following parameters:
- Grant_type – This is the REFRESH_TOKEN.
- Refresh_token – This is the refresh_token retrieved in step 5.
Note
- For disconnecting and invalidating both the access and refresh tokens in PLANERGY OAuth2 Server, you must send a POST request for revocation to the server’s designated endpoint. (https://oauth2api.purchasecontrol.com/api/Disconnect)
-
- The Basic authentication header should contain the parameters clientid and clientsecret in the format {clientid}:{clientsecret}
- The Basic authentication body should include forms data collection as its payload containing the following parameters:
- Grant_type – REVOKE – This is to revoke the request.
- Access_token – This is the access_token that is returned to the application in step 5.
Note
- This information will be verified and if found invalid, an error will be returned to the caller with an Error message as JSON primitive Error.
- If the information is valid, the response will be OK with JSON parameter Success=true.
- When accessing API, use the api_uri returned from our server in step 5. The access token is sent to a selected endpoint of API as the Authorization token of type Bearer.
Obtaining ClientId and ClientSecret
In order to use PurchaseControl OAuth2 Authentication, the party interested in connecting to API must obtain ClientId and ClientSecret from the representatives of PLANERGY/PurchaseControl by submitting a support ticket and stating the following:
- Who is the party requesting API access?
- Who are the developers developing the application using API? (internal resources/third party company and which one it is)
- Are development/testing keys also needed?
- A list of allowed redirect_uri’s that should be registered
PLANERGY/PurchaseContol will then approve the request for API access internally and provide the client with a set(s) of ClientId/ClientSecret pairs.
Using API
The PLANERGY/PurchaseControl API is RESTFul API. It is currently in the development stage but supports major Entities needed for integrations with accounting packages.
Note
Endpoints:
-
- Getting a list of not posted invoices [METHOD – GET, parameters: NONE]
Returns:
-
- Status: Ok – When the request is valid, the Status returns Ok and displays the JSON formatted list of Invoices with fields.
- Id – Id of the invoice, type: Guid,
- InvoiceNumber – Number of the invoice, type: String
- Supplier – Supplier on the invoice – Type: Object
{ Id – Id of the supplier, type: Guid SupplierCode – Code of the supplier, type: String Name – name of the supplier, Type: String }
-
- Total – Total of the invoice, type: Decimal
- Tax – Tax on the invoice, type: Decimal
- TaxOverride – User Corrected Tax value on the invoice: Type: Decimal
- Terms – Terms on the Invoice, type: Object
{ Id – Id of the term, type: Guid, Name – Name of the term, type: String }
-
- DueDate – Due Date of the invoice, type: Date
- InvoiceDate – Invoice Date, type: Date
- Company – Company to which invoice is related, type: Object
{ Id – Id of the company, type: Guid, Name – Name of the company, type: String } Items – Line items of the invoice, type: Object {
-
- Code – code of the invoice line item, type: String
- Name – Name of the invoice line item, type: String
- Price – Price of the invoice line item, type: Decimal
- Quantity – Quantity of the invoice line item, type: Decimal
- Total – Total sum of the invoice line item, type: Decimal
- VatTotal – Vat total of the invoice line item, type: Decimal
- Discount – Discount % of the line item, type: Decimal
- PurchaseOrder – Order related to the line item, type: Object
{ Id – Id of the order, type: Guid Number – Purchase Order Number, type: String }
-
- Department – Department related to the invoice line item, type: Object
{ Id – Id of the Department, type: Guid Name – Name of the Department, type: String }
- Department – Department related to the invoice line item, type: Object
-
- GeneralLedger – General Ledger Account related to the line item, Type Object
{ Id – Id of the General Ledger Account, type: Guid Code – Code othe General Ledger Account, type: String }
- GeneralLedger – General Ledger Account related to the line item, Type Object
}
- Marking invoice(s) as posted/unposted in PurchaseControl [METHOD – POST, parameters – JSON formatted list of Invoices Id’s and action]
Receives:- Ids – List of Id’s of the invoices upon which the action should be taken, type List of Guid’s
- Action – An action that should be done on the invoice(s) in question, type: Enum (Post=0, Unpost=1)
Returns:
-
- Status: Ok – When the request is valid and has been completed without errors, the Status returns Ok.
- Status: ExpectationsFailed – When the request sent is not completed, the Status returns ExpectationsFailed with a message describing the error for the unsuccessful completion of the request.
- Status: Unauthorized – When the user registered for the API usage does not have enough permissions to access and modify invoices to posted/unposted, the Status returns as Unauthorized.
Documents – The Documents allows manipulation, retrieval, addition, edition, and deletion of uploaded documents related to PurchaseControl entities.
- Getting a list of documents without downloading them for a specified entity [METHOD – GET, parameters: EntityType and EntityId]Receives:
- EntityType – type of the entity for which we want to retrieve a list of documents, type: Enum {Invoice = 8, PurchaseOrder = 23, StockRequisition = 24, WorksOrder = 56}
- EntityId – unique identifier of the entity, type: Guid
Returns:
- Status: Ok – When the request is valid, the Status returns Ok and displays the formatted list of Documents with their names and metadata.
- Status: NoContent – If there are no Documents found for the given EntityType and EntityId, the Status returns NoContent.
- Status: ExpectationsFailed – When the request sent is not completed, the Status returns ExpectationsFailed with a message describing the error for the unsuccessful completion of the request.
- Status: Unauthorized – When the user registered for the API usage does not have enough permissions to access the entity and its documents, the Status returns Unauthorized.
If Status: Ok returns JSON formatted list of Documents with fields)
{ Id – Id of the document, type: Guid Name – Name of the document, type: String Extension – Extension of the document, type: String Size – Size of the document, type: Long IsAttached – Is the document attached to an email when sending an order to a supplier (valid only for an EntityType PurchaseOrder, type: Boolean }
- Downloading a single document [METHOD – GET, parameters – Id, unique identifier of the document]
Receives:- Id – Unique identifier of the document, type: Guid
Returns:
- Status: Ok – When the request is valid, the Status returns Ok and displays the application/ octet-stream containing document that is requested
- Status: NoContent – When the Document with such Id is not found OR a document with such Id belongs to an Entity registered to another company, the Status returns NoContent.
- Status: ExpectationsFailed – When the request sent is not completed, the Status returns ExpectationsFailed with a message describing the error for the unsuccessful completion of the request.
- Status: Unauthorized – When the user registered for the API usage does not have enough permissions to access the entity and permissions related to the document and its document(s), the Status returns Unauthorized.
- Adding document(s) to an Entity
[Method – POST, parameters: Multipart form data containing a file to be uploaded and a string parameter called data containing JSON formatted EntityId and EntityType]
Receives:Multipart form data with file(s) to be uploaded and a form part called data containing JSON formatted object with two properties:- EntityType – type of the entity for which we want to retrieve a list of documents, type: Enum {Invoice = 8, PurchaseOrder = 23, StockRequisition = 24, WorksOrder = 56}
- EntityId – unique identifier of the entity, type: Guid
Returns:
- Status: Created – The Status returns Created when a document is added to the entity and the JSON formatted list of Document metadata is displayed.
- Status: NoContent – When the related entity does not exist, the Status returns NoContent.
- Status: ExpectationsFailed – When the request sent is not completed, the Status returns ExpectationsFailed with a message describing the error for the unsuccessful completion of the request.
- Status: Unauthorized – When the user registered for the API usage does not have enough permissions to access the entity and permissions related to the document and its document(s), the Status returns Unauthorized.
If Status: Ok returns JSON formatted list of Documents with fields)
{ Id – Id of the document, type: Guid Name – Name of the document, type: String Extension – Extension of the document, type: String Size – Size of the document, type: Long IsAttached – Is the document attached to an email when sending an order to a supplier (valid only for an EntityType=PurchaseOrder, type: Boolean }
Note
The same method can be used for updating document contents. If the document has the same name as the previously uploaded document, it will be overwritten with the content of the new file. - Tagging a document as Is Attached/Not Attached (marking it to be sent to a supplier with the order or not) is valid only for documents attached to entities of EntityType: PurchaseOrder. [Method – PUT, parameters: Id (from URL) and flag IsAttached (From Body)]
Receives:- Id – Id of the document, type: Guid
- IsAttached – Is the document attached to an email when sending an order to a supplier (valid only for an EntityType PurchaseOrder, type: Boolean
Returns:
- Status: Ok – When the request is valid, the Status returns Ok and the JSON formatted Document metadata.
- Status: NoContent – When the Document with such Id is not found OR a document with such Id belongs to an Entity registered to another company, the Status returns NoContent.
- Status: ExpectationsFailed – When the request sent is not completed, the Status returns ExpectationsFailed with a message describing the error for the unsuccessful completion of the request.
- Status: Unauthorized – When the user registered for the API usage does not have enough permissions to access the entity and the related document(s), the Status returns Unauthorized.
If Status: Ok returns JSON formatted list of Documents with fields)
{ Id – Id of the document, type: Guid Name – Name of the document, type: String Extension – Extension of the document, type: String Size – Size of the document, type: Long IsAttached – Is the document attached to an email when sending an order to a supplier (valid only for an EntityType PurchaseOrder, type: Boolean }
- Deleting a document [Method – Delete, parameters:Id (from URL)]
Receives:- Id – Id of the document, type: Guid
Returns:
- Status: Ok – When the request is valid, the Status returns Ok.
- Status: NoContent – When the Document with such Id is not found OR a document with such Id belongs to an Entity registered to another company, the Status returns NoContent.
- Status: ExpectationsFailed – When the request sent is not completed, the Status returns ExpectationsFailed with a message describing the error for the unsuccessful completion of the request.
- Status: Unauthorized – When the user registered for the API usage does not have enough permissions to access the entity and the related document(s), the Status returns as Unauthorized.
- Client ID: af344913d68d4d44a7bd07a5dc91e217ADHi2hhxsah23ih32i
- Client Secret: 2031c86211f04f61929937c3198f47c3dasdewe
Cost Codes API Outlet User Manual
Cost Codes API Overview
The Cost Codes API is an endpoint or API outlet that enables developers to interact with a system to perform various operations related to cost codes associated with PLANERGY entities such as retrieving, adding, editing, and deleting the Cost Codes.
In this guide, we will learn the methods, parameters, and returns used in developing the applications to track and manage the lifecycle of Cost Codes.
/CostCodes
- Getting the list of cost codes related to the specified company [METHOD – Get]
Receives:- SearchString – for filtering cost codes of an entity by any string field or part of it: String
- Name – for filtering cost codes specifically by Name field or part of it: String
- Description – for filtering cost codes specifically by Description field or part of it: String
- IsActive – for filtering cost codes specifically by IsActive tag: nullable Boolean
- IncludeArchived – for filtering cost codes specifically by archived tag: Boolean
- DeliveryLocationId – for filtering cost codes specifically by DeliveryLocation field or part of it: nullable Guid
- Archived – for including cost codes that are archived (deleted) in the list: Boolean
- ImportedStatus – for including cost codes that are imported from some other external system: Boolean
- PageNumber – all Lists for entities are paged by default, first page is always 1, and retrieved number of records is maximum 1000: Int
- RowsPerPage – all Lists for entities are paged by default, how many rows are returned by the action can be defined – default and maximum number of records is 1000
Note
If any nullable Boolean field is null, cost codes will be returned regardless of the value of that field.Returns:
- Status: OK – When the request is valid, the Status returns OK and displays the JSON formatted list of Cost Codes.
- Status: NoContent – When there are no Cost Codes found for the sent filters, the Status returns NoContent.
- Status: ExpectationsFailed – When the request sent is not completed, the Status returns ExpectationsFailed with a message describing the error for the unsuccessful completion of the request.
- Status: Unauthorized – When the user registered for the API usage does not have enough permissions to access Cost Codes, the Status returns Unauthorized.
If Status: OK returns JSON formatted list of cost codes with fields.
{ RowCount – total number of found records by sent search filters: Int PageNumber – numeric page of the records returned – matches the PageNumber sent in the search, repeated here for checking: Int RowsPerPage – numeric number of records returned on the – matches the RowsPerPage sent in the search, repeated here checking: Int ListOf: { Id – Id of the cost code: Guid Code – Code of the cost code: String Name – Name of the cost code: String Description – Description of the cost code: String IsImported – Is this cost code imported from some other external system IsActive – Is cost code Active: Boolean IsArchived – Is cost code deleted (archived): Boolean Company: Complex { Id – Id of the company the cost code is related to: Guid Name – Name of the company the cost code is related to: String } DeliveryLocation: Complex { Id – Id of the delivery location the cost code is related to: Guid Name – Name of the delivery location the cost code is related to: String } } }
- Getting a single cost code [METHOD– GET parameters: Id, unique identifier of the cost code
Receives:- Id – Unique identifier of the cost code, type: Guid
Returns:
- Status: Ok – When the request is valid, the Status returns Ok.
Cost code Data:
{ Id – Id of the cost code: Guid Code – Code of the cost code: String Name – Name of the cost code: String Description – Description of the cost code: String IsImported – Is this cost code imported from some other external system IsActive – Is cost code Active: Boolean IsArchived – Is cost code deleted (archived): Boolean Company: Complex { Id – Id of the company the cost code is related to: Guid Name – Name of the company the cost code is related to: String } DeliveryLocation: Complex { Id – Id of the delivery location the cost code is related to: Guid Name – Name of the delivery location the cost code is related to: String } }
- Status: NoContent – When there are no Cost Codes found for the sent filters, the Status returns NoContent.
- Status: ExpectationsFailed – When the request sent is not completed, the Status returns ExpectationsFailed with a message describing the error for the unsuccessful completion of the request.
- Status: Unauthorized – When the user registered for the API usage does not have enough permissions to access Cost Codes, the Status returns Unauthorized.
- Adding a cost code to a CompanyMethod – POSTReceives:
{ Name – Name of the cost code: String Description – Description of the cost code: String IsActive – Is cost code Active: Boolean IsArchived – Is cost code deleted (archived): Boolean DeliveryLocationId – delivery location id: nullable Guid }
Returns:
- Status: Created – When a new Cost Code is created, the Status returns Created.
{ Id – Id of the cost code: Guid Code – Code of the cost code: String Name – Name of the cost code: String Description – Description of the cost code: String IsImported – Is this cost code imported from some other external system IsActive – Is cost code Active: Boolean IsArchived – Is cost code deleted (archived): Boolean Company: Complex { Id – Id of the company the cost code is related to: Guid Name – Name of the company the cost code is related to: String } DeliveryLocation: Complex { Id – Id of the delivery location the cost code is related to: Guid Name – Name of the delivery location the cost code is related to: String } }
- Status: ExpectationsFailed – When the request sent is not completed, the Status returns ExpectationsFailed with a message describing the error for the unsuccessful completion of the request.
- Status: Unauthorized – When the user registered for the API usage does not have enough permissions to access Cost Codes, the Status returns Unauthorized.
- Editing a cost code [Method – PUT]
Receives:- FROM URL Id of the cost code: GuidExample: {apiURL}/CostCodes/59fd193b-ba8e-4e65-88b8-d4fe1dc5acd7
- FROM BODY – JSON
{ Name – Name of the cost code: String Description – Description of the cost code: String IsActive – Is cost code Active: Boolean IsArchived – Is cost code deleted (archived): Boolean DeliveryLocationId – delivery location id: nullable Guid }
Returns:
- Status: Ok – When the request is valid, the Status returns Ok and displays the JSON formatted list of Cost Codes.
{ Id – Id of the cost code: Guid Code – Code of the cost code: String Name – Name of the cost code: String Description – Description of the cost code: String IsImported – Is this cost code imported from some other external system IsActive – Is cost code Active: Boolean IsArchived – Is cost code deleted (archived): Boolean Company: Complex { Id – Id of the company the cost code is related to: Guid Name – Name of the company the cost code is related to: String } DeliveryLocation: Complex { Id – Id of the delivery location the cost code is related to: Guid Name – Name of the delivery location the cost code is related to: String } }
- Status: NoContent – If a Cost Code with such Id is not found or Id belongs to an Entity registered to another company, the Status returns NoContent.
- Status: ExpectationsFailed – When the request sent is not completed, the Status returns ExpectationsFailed with a message describing the error for the unsuccessful completion of the request.
- Status: Unauthorized – When the user registered for the API usage does not have enough permissions to access Cost Codes, the Status returns Unauthorized.
- Deleting a cost code [Method – Delete, parameters: Id (from URL)]
Receives:- Id – Id of the document, type: Guid
Returns:
- Status: Ok – When the deletion of the Cost Code is completed, the Status returns Ok.
- Status: NoContent – If a Cost Code with such ID is not found or ID belongs to an Entity registered to another company, the Status returns NoContent.
- Status: ExpectationsFailed – When the request sent is not completed, the Status returns ExpectationsFailed with a message describing the error for the unsuccessful completion of the request.
- Status: Unauthorized – When the user registered for the API usage does not have enough permissions to access the entity and the related documents, the Status returns Unauthorized.
Currency API Outlet User Manual
Currency API Overview
The Currency API is an endpoint or API outlet that enables developers to interact with a system to perform various operations related to currencies associated with PLANERGY entities such as retrieving, adding, editing, and deleting the Currency.
In this guide, we will learn the methods, parameters, and returns used in developing the applications to track and manage the lifecycle of Currency.
/Currencies
- Getting a list of currency related to the specified company [METHOD – Get]
Receives:-
- SearchString – for filtering currency of an entity by any string field or part of it: String
- Code – for filtering currency specifically by Code field or part of it: String
- Name – for filtering currency specifically by Name field or part of it: String
- Symbol – for filtering currency specifically by Code field or part of it: String
- IsActive – for filtering currency specifically by IsActive tag: nullable Boolean
- Archived – for including currency that are archived (deleted) in the list: Boolean
- PageNumber – all Lists for entities are paged by default, first page is always 1, and retrieved number of records is maximum 1000: Int
- RowsPerPage – all Lists for entities are paged by default, how many rows are returned by the action can be defined – default and maximum number of records is 1000
Note
If any nullable Boolean field is null, the currency will be returned regardless of the value of that field.Returns:
- Status: Ok – When the request is valid, the Status returns Ok and displays the JSON formatted list of Currencies.
- Status: NoContent – When there are no Currencies found for the sent filters, the Status returns NoContent.
- Status: ExpectationsFailed – When the request sent is not completed, the Status returns ExpectationsFailed with a message describing the error for the unsuccessful completion of the request.
- Status: Unauthorized – When the user registered for the API usage does not have enough permissions to access General Ledgers, the Status returns Unauthorized.
If Status: OK returns JSON formatted list of Currencies with fields.
{ RowCount – total number of found records by sent search filters: Int PageNumber – numeric page of the records returned – matches the PageNumber sent in the search, repeated here for checking: Int RowsPerPage – numeric number of records returned on the – matches the RowsPerPage sent in the search, repeated here checking: Int ListOf: { Id – Id of the currency: Guid Name – Name of the currency: String Symbol – Code of the currency: String Code – Code of the currency: String ThreeLetterCode – Three letter code of the currency: String Rate – Rate: Decimal IsActive – Is currency Active: Boolean IsArchived – Is currency deleted (archived): Boolean } }
-
- Getting a single currency [METHOD – GET parameters: Id, unique identifier of the currency]
Receives:-
- Id – Unique identifier of the currency, type: Guid
Returns:
- Status: Ok – When the request is valid, the Status returns Ok.
Currency Data:
{ Id – Id of the currency: Guid Name – Name of the currency: String Symbol – Code of the currency: String Code – Code of the currency: String ThreeLetterCode – Three letter code of the currency: String Rate – Rate: Decimal IsActive – Is currency Active: Boolean IsArchived – Is currency deleted (archived): Boolean }
- Status: NoContent – When there are no Currencies found for the sent filters, the Status returns NoContent.
- Status: ExpectationsFailed – When the request sent is not completed, the Status returns ExpectationsFailed with a message describing the error for the unsuccessful completion of the request.
- Status: Unauthorized – When the user registered for the API usage does not have enough permissions to access Currencies, the Status returns Unauthorized.
-
- Adding a currency to a Company [Method – POST]
Receives:{ ThreeLetterCode – Three letter code of the currency: String Code – Code of the currency: Int Symbol – Code of the currency: String IsActive – Is currency Active: Boolean Rate – Rate: Decimal }
Returns:
- Status: Created – When a new Currency is created, the Status returns Created.
{ Id – Id of the currency: Guid Name – Name of the currency: String Symbol – Code of the currency: String Code – Code of the currency: String ThreeLetterCode – Three letter code of the currency: String Rate – Rate: Decimal IsActive – Is currency Active: Boolean IsArchived – Is currency deleted (archived): Boolean }
- Status: ExpectationsFailed – When the request sent is not completed, the Status returns ExpectationsFailed with a message describing the error for the unsuccessful completion of the request.
- Status: Unauthorized – When the user registered for the API usage does not have enough permissions to access Currencies, the Status returns Unauthorized.
- Editing a currency [Method – PUT]
Receives:- FROM URL Id of the currency: GuidExample: {apiURL}/Currency/59fd193b-ba8e-4e65-88b8-d4fe1dc5acd7
- FROM BODY – JSON
{ ThreeLetterCode – Three letter code of the currency: String Code – Code of the currency: Int Symbol – Code of the currency: String IsActive – Is currency Active: Boolean Rate – Rate: Decimal }
Returns:
- Status: Ok – When the request is valid, the Status returns Ok and displays the JSON formatted list of Currencies.
{ Id – Id of the currency: Guid Name – Name of the currency: String Symbol – Code of the currency: String Code – Code of the currency: String ThreeLetterCode – Three letter code of the currency: String Rate – Rate: Decimal IsActive – Is currency Active: Boolean IsArchived – Is currency deleted (archived): Boolean }
- Status: NoContent – If a Currency with such Id is not found or Id belongs to an Entity registered to another company, the Status returns NoContent.
- Status: ExpectationsFailed – When the request sent is not completed, the Status returns ExpectationsFailed with a message describing the error for the unsuccessful completion of the request.
- Status: Unauthorized – When the user registered for the API usage does not have enough permissions to access Currencies, the Status returns Unauthorized.
- Deleting a currency [Method – Delete, parameters: Id (from URL)]
Receives:- Id – Id of the document, type: Guid
Returns:
- Status: Ok – When the deletion of the Currency is completed, the Status returns Ok.
- Status: NoContent – If a Currency with such ID is not found or ID belongs to an Entity registered to another company, the Status returns NoContent.
- Status: ExpectationsFailed – When the request sent is not completed, the Status returns ExpectationsFailed with a message describing the error for the unsuccessful completion of the request.
- Status: Unauthorized – When the user registered for the API usage does not have enough permissions to access the entity and the related documents, the Status returns Unauthorized.
Department API Outlet User Manual
Department API Overview
The Department API is an endpoint or API outlet that enables developers to interact with a system to perform various operations related to departments associated with PLANERGY entities such as retrieving, adding, editing, and deleting the Departments.
In this guide, we will learn the methods, parameters, and returns used in developing the applications to track and manage the lifecycle of the Department.
/Departments
- Getting a list of departments related to the specified companyMETHOD – GetReceives:
- SearchString – for filtering departments of an entity by any string field or part of it: String
- Code – for filtering departments specifically by Code field or part of it: String
- Name – for filtering departments specifically by Name field or part of it: String
- IsActive – for filtering departments specifically by IsActive tag: nullable Boolean
- Imported – for filtering departments specifically by Imported tag: nullable Boolean
- Address – for filtering departments specifically by Address field or part of it: String
- ParentDepartmentName – for filtering departments specifically by Master Department field: String
- ParentDepartmentCode – for filtering departments specifically by Master Department field: String
- BudgetRangeFrom – for filtering departments specifically by Total budget field: nullable decimal
- BudgetRangeTo – for filtering departments specifically by Total budget field: nullable decimal
- Archived – for including departments that are archived (deleted) in the list: Boolean
- PageNumber – all Lists for entities are paged by default, first page is always 1, retrieved number of records is maximum 1000: Int
- RowsPerPage – all Lists for entities are paged by default, how many rows are returned by the action can be defined – default and maximum number of records is 1000
Note
If any nullable Boolean field is null, departments will be returned regardless of the value of that field.Returns:
- Status: Ok – When the request is valid, the Status returns Ok and displays the JSON formatted list of Departments.
- Status: NoContent – When there are no Departments found for the sent filters, the Status returns NoContent.
- Status: ExpectationsFailed – When the request sent is not completed, the Status returns ExpectationsFailed with a message describing the error for the unsuccessful completion of the request.
- Status: Unauthorized – When the user registered for the API usage does not have enough permissions to access Departments, the Status returns Unauthorized.
If Status: OK returns JSON formatted list of Departments with fields.
{ RowCount – total number of found records by sent search filters: Int PageNumber – numeric page of the records returned – matches the PageNumber sent in the search, repeated here for checking: Int RowsPerPage – numeric number of records returned on the – matches the RowsPerPage sent in the search, repeated here checking: Int ListOf: { Id – Id of the department: Guid Code – Code of the department: String Name – Name of the department: String Address – Address of the department: String Type – Type of the department: String IsImported – Is this department imported from some other external system IsActive – Is department Active: Boolean IsArchived – Is department deleted (archived): Boolean Company: Complex { Id – Id of the company the department is related to: Guid Name – Name of the company the department is related to: String } GeneralLedger: Complex { Id – General Ledger id assigned to the department: Guid Code – Code assigned to the general ledger assigned to the departmeent: String } ParentDepartment: Complex { Id – Department id set as master department of the department: Guid Code – Code of master department assigned to the departmeent: String Name – Name of master department assigned to the departmeent: String } Budgets: Array { BudgetType – Type of budget (Project, Annual, AnnualRevolving): String TotalBudget – Total budget: nullable decimal StartDate – Budget Start Date (null for Annual BudgetType): nullable datetime EndDate – Budget End Date (null for Annual BudgetType): nullable datetime MontlyLimit01 – Budget limit for first month: nullable decimal MontlyLimit02 – Budget limit for second month: nullable decimal MontlyLimit03 – Budget limit for third month: nullable decimal MontlyLimit04 – Budget limit for fourth month: nullable decimal MontlyLimit05 – Budget limit for fifth month: nullable decimal MontlyLimit06 – Budget limit for sixth month: nullable decimal MontlyLimit07 – Budget limit for seventh month: nullable decimal MontlyLimit08 – Budget limit for eighth month: nullable decimal MontlyLimit09 – Budget limit for ninth month: nullable decimal MontlyLimit10 – Budget limit for tenth month: nullable decimal MontlyLimit11 – Budget limit for eleventh month: nullable decimal MontlyLimit12 – Budget limit for twelfth month: nullable decimal OpenBudget – Is budget open or closed: boolean } } }
- Getting a single department [METHOD – GET, parameters: Id, unique identifier of the department]
Receives:- Id – Unique identifier of the department, type: Guid
Returns:
- Status: Ok – When the request is valid, the Status returns Ok.
Department Data:
{ RowCount – total number of found records by sent search filters: Int PageNumber – numeric page of the records returned – matches the PageNumber sent in the search, repeated here for checking: Int RowsPerPage – numeric number of records returned on the – matches the RowsPerPage sent in the search, repeated here checking: Int ListOf: { Id – Id of the department: Guid Code – Code of the department: String Name – Name of the department: String Address – Address of the department: String Type – Type of the department: String IsImported – Is this department imported from some other external system IsActive – Is department Active: Boolean IsArchived – Is department deleted (archived): Boolean Company: Complex { Id – Id of the company the department is related to: Guid Name – Name of the company the department is related to: String } GeneralLedger: Complex { Id – General Ledger id assigned to the department: Guid Code – Code assigned to the general ledger assigned to the departmeent: String } ParentDepartment: Complex { Id – Department id set as master department of the department: Guid Code – Code of master department assigned to the departmeent: String Name – Name of master department assigned to the departmeent: String } Budgets: Array { BudgetType – Type of budget (Project, Annual, AnnualRevolving): String TotalBudget – Total budget: nullable decimal StartDate – Budget Start Date (null for Annual BudgetType): nullable datetime EndDate – Budget End Date (null for Annual BudgetType): nullable datetime MontlyLimit01 – Budget limit for first month: nullable decimal MontlyLimit02 – Budget limit for second month: nullable decimal MontlyLimit03 – Budget limit for third month: nullable decimal MontlyLimit04 – Budget limit for fourth month: nullable decimal MontlyLimit05 – Budget limit for fifth month: nullable decimal MontlyLimit06 – Budget limit for sixth month: nullable decimal MontlyLimit07 – Budget limit for seventh month: nullable decimal MontlyLimit08 – Budget limit for eighth month: nullable decimal MontlyLimit09 – Budget limit for ninth month: nullable decimal MontlyLimit10 – Budget limit for tenth month: nullable decimal MontlyLimit11 – Budget limit for eleventh month: nullable decimal MontlyLimit12 – Budget limit for twelfth month: nullable decimal OpenBudget – Is budget open or closed: boolean } } }
- Status: NoContent – When there are no Departments found for the sent filters, the Status returns NoContent.
- Status: ExpectationsFailed – When the request sent is not completed, the Status returns ExpectationsFailed with a message describing the error for the unsuccessful completion of the request.
- Status: Unauthorized – When the user registered for the API usage does not have enough permissions to access the Department, the Status returns Unauthorized.
- Status: ExpectationsFailed – When the request sent is not completed, the Status returns ExpectationsFailed with a message describing the error for the unsuccessful completion of the request.
- Status: Unauthorized – When the user registered for the API usage does not have enough permissions to access the Department, the Status returns Unauthorized.
- Adding a department to a Company [Method – POST]
Receives:{ Code – Code of the department: String Name – Name of the department: String Address – Address of the department: String Type – Type of the department: String IsActive – Is department Active: Boolean IsArchived – Is department deleted (archived): Boolean GeneralLedgerCode – Code assigned to the general ledger assigned to the departmeent: String ParentDepartmentCode – Code of master department assigned to the departmeent: String ParentDepartmentName – Name of master department assigned to the departmeent: String Budgets: Budgets assigned to the department: Array { BudgetType – Type of budget (Project, Annual, AnnualRevolving): String TotalBudget – Total budget: nullable decimal StartDate – Budget Start Date (null for Annual BudgetType): nullable datetime EndDate – Budget End Date (null for Annual BudgetType): nullable datetime MontlyLimit01 – Budget limit for first month: nullable decimal MontlyLimit02 – Budget limit for second month: nullable decimal MontlyLimit03 – Budget limit for third month: nullable decimal MontlyLimit04 – Budget limit for fourth month: nullable decimal MontlyLimit05 – Budget limit for fifth month: nullable decimal MontlyLimit06 – Budget limit for sixth month: nullable decimal MontlyLimit07 – Budget limit for seventh month: nullable decimal MontlyLimit08 – Budget limit for eighth month: nullable decimal MontlyLimit09 – Budget limit for ninth month: nullable decimal MontlyLimit10 – Budget limit for tenth month: nullable decimal MontlyLimit11 – Budget limit for eleventh month: nullable decimal MontlyLimit12 – Budget limit for twelfth month: nullable decimal OpenBudget – Is budget open or closed: boolean } }
Returns:
- Status: Created – When a new Department is created, the Status returns Created.
{ RowCount – total number of found records by sent search filters: Int PageNumber – numeric page of the records returned – matches the PageNumber sent in the search, repeated here for checking: Int RowsPerPage – numeric number of records returned on the – matches the RowsPerPage sent in the search, repeated here checking: Int ListOf: { Id – Id of the department: Guid Code – Code of the department: String Name – Name of the department: String Address – Address of the department: String Type – Type of the department: String IsImported – Is this department imported from some other external system IsActive – Is department Active: Boolean IsArchived – Is department deleted (archived): Boolean Company: Complex { Id – Id of the company the department is related to: Guid Name – Name of the company the department is related to: String } GeneralLedger: Complex { Id – General Ledger id assigned to the department: Guid Code – Code assigned to the general ledger assigned to the departmeent: String } ParentDepartment: Complex { Id – Department id set as master department of the department: Guid Code – Code of master department assigned to the departmeent: String Name – Name of master department assigned to the departmeent: String } Budgets: Array { BudgetType – Type of budget (Project, Annual, AnnualRevolving): String TotalBudget – Total budget: nullable decimal StartDate – Budget Start Date (null for Annual BudgetType): nullable datetime EndDate – Budget End Date (null for Annual BudgetType): nullable datetime MontlyLimit01 – Budget limit for first month: nullable decimal MontlyLimit02 – Budget limit for second month: nullable decimal MontlyLimit03 – Budget limit for third month: nullable decimal MontlyLimit04 – Budget limit for fourth month: nullable decimal MontlyLimit05 – Budget limit for fifth month: nullable decimal MontlyLimit06 – Budget limit for sixth month: nullable decimal MontlyLimit07 – Budget limit for seventh month: nullable decimal MontlyLimit08 – Budget limit for eighth month: nullable decimal MontlyLimit09 – Budget limit for ninth month: nullable decimal MontlyLimit10 – Budget limit for tenth month: nullable decimal MontlyLimit11 – Budget limit for eleventh month: nullable decimal MontlyLimit12 – Budget limit for twelfth month: nullable decimal OpenBudget – Is budget open or closed: boolean } } }
- Editing a department [Method – PUT]
Receives:- FROM URL Id of the department: GuidExample: {apiURL}/departments/59fd193b-ba8e-4e65-88b8-d4fe1dc5acd7
- FROM BODY – JSON
{ Code – Code of the department: String Name – Name of the department: String Address – Address of the department: String Type – Type of the department: String IsActive – Is department Active: Boolean IsArchived – Is department deleted (archived): Boolean GeneralLedgerCode – Code assigned to the general ledger assigned to the departmeent: String ParentDepartmentCode – Code of master department assigned to the departmeent: String ParentDepartmentName – Name of master department assigned to the departmeent: String Budgets: Budgets assigned to the department: Array { BudgetType – Type of budget (Project, Annual, AnnualRevolving): String TotalBudget – Total budget: nullable decimal StartDate – Budget Start Date (null for Annual BudgetType): nullable datetime EndDate – Budget End Date (null for Annual BudgetType): nullable datetime MontlyLimit01 – Budget limit for first month: nullable decimal MontlyLimit02 – Budget limit for second month: nullable decimal MontlyLimit03 – Budget limit for third month: nullable decimal MontlyLimit04 – Budget limit for fourth month: nullable decimal MontlyLimit05 – Budget limit for fifth month: nullable decimal MontlyLimit06 – Budget limit for sixth month: nullable decimal MontlyLimit07 – Budget limit for seventh month: nullable decimal MontlyLimit08 – Budget limit for eighth month: nullable decimal MontlyLimit09 – Budget limit for ninth month: nullable decimal MontlyLimit10 – Budget limit for tenth month: nullable decimal MontlyLimit11 – Budget limit for eleventh month: nullable decimal MontlyLimit12 – Budget limit for twelfth month: nullable decimal OpenBudget – Is budget open or closed: boolean } }
Returns:
- Status: Ok – When the request is valid, the Status returns Ok and displays the JSON formatted list of Department.
{ RowCount – total number of found records by sent search filters: Int PageNumber – numeric page of the records returned – matches the PageNumber sent in the search, repeated here for checking: Int RowsPerPage – numeric number of records returned on the – matches the RowsPerPage sent in the search, repeated here checking: Int ListOf: { Id – Id of the department: Guid Code – Code of the department: String Name – Name of the department: String Address – Address of the department: String Type – Type of the department: String IsImported – Is this department imported from some other external system IsActive – Is department Active: Boolean IsArchived – Is department deleted (archived): Boolean Company: Complex { Id – Id of the company the department is related to: Guid Name – Name of the company the department is related to: String } GeneralLedger: Complex { Id – General Ledger id assigned to the department: Guid Code – Code assigned to the general ledger assigned to the departmeent: String } ParentDepartment: Complex { Id – Department id set as master department of the department: Guid Code – Code of master department assigned to the departmeent: String Name – Name of master department assigned to the departmeent: String } Budgets: Array { BudgetType – Type of budget (Project, Annual, AnnualRevolving): String TotalBudget – Total budget: nullable decimal StartDate – Budget Start Date (null for Annual BudgetType): nullable datetime EndDate – Budget End Date (null for Annual BudgetType): nullable datetime MontlyLimit01 – Budget limit for first month: nullable decimal MontlyLimit02 – Budget limit for second month: nullable decimal MontlyLimit03 – Budget limit for third month: nullable decimal MontlyLimit04 – Budget limit for fourth month: nullable decimal MontlyLimit05 – Budget limit for fifth month: nullable decimal MontlyLimit06 – Budget limit for sixth month: nullable decimal MontlyLimit07 – Budget limit for seventh month: nullable decimal MontlyLimit08 – Budget limit for eighth month: nullable decimal MontlyLimit09 – Budget limit for ninth month: nullable decimal MontlyLimit10 – Budget limit for tenth month: nullable decimal MontlyLimit11 – Budget limit for eleventh month: nullable decimal MontlyLimit12 – Budget limit for twelfth month: nullable decimal OpenBudget – Is budget open or closed: boolean } } }
- Status: NoContent – If a Department with such Id is not found or Id belongs to an Entity registered to another company, the Status returns NoContent.
- Status: ExpectationsFailed – When the request sent is not completed, the Status returns ExpectationsFailed with a message describing the error for the unsuccessful completion of the request.
- Status: Unauthorized – When the user registered for the API usage does not have enough permissions to access Department, the Status returns Unauthorized.
- Deleting a department [Method – Delete, parameters: Id (from URL)]
Receives:- Id – Id of the document, type: Guid
Returns:
- Status: Ok – When the deletion of the Department is successfully completed, the Status returns Ok.
- Status: NoContent – If a Department with such Id is not found or Id belongs to an Entity registered to another company, the Status returns NoContent.
- Status: ExpectationsFailed – When the request sent is not completed, the Status returns ExpectationsFailed with a message describing the error for the unsuccessful completion of the request.
- Status: Unauthorized – When the user registered for the API usage does not have enough permissions to access the entity and the related documents, the Status returns Unauthorized.
General Ledger API Outlet User Manual
General Ledger API Overview
The General Ledger API is an endpoint or API outlet that enables developers to interact with a system to perform various operations related to general ledgers associated with PLANERGY entities such as retrieving, adding, editing, and deleting the GL Codes.
In this guide, we will learn the methods, parameters, and returns used in developing the applications to track and manage the lifecycle of GL Codes.
/GeneralLedgers
- Getting a list of general ledgers related to the specified company [METHOD – Get]
Receives:- SearchString – for filtering general ledgers of an entity by any string field or part of it: String
- Code – for filtering general ledgers specifically by Code field or part of it: String
- Description – for filtering general ledgers specifically by Description field or part of it: String
- IsActive – for filtering general ledgers specifically by IsActive tag: nullable Boolean
- Imported – for filtering general ledgers specifically by Imported tag: nullable Boolean
- Archived – for including general ledgers that are archived (deleted) in the list: Boolean
- PageNumber – all Lists for entities are paged by default, first page is always 1, retrieved number of records is maximum 1000: Int
- RowsPerPage – all Lists for entities are paged by default, how many rows are returned by the action can be defined – default and maximum number of records is 1000
Note
If any nullable Boolean field is null, general ledgers will be returned regardless of the value of that field.Returns:
- Status: Ok – When the request is valid, the Status returns Ok and displays the JSON formatted list of General Ledgers.
- Status: NoContent – When no General Ledgers are found for the sent filters, the Status returns NoContent.
- Status: ExpectationsFailed – When the request sent is not completed, the Status returns ExpectationsFailed with a message describing the error for the unsuccessful completion of the request.
- Status: Unauthorized – When the user registered for the API usage does not have enough permissions to access General Ledgers, the Status returns Unauthorized.
If Status: OK returns JSON formatted list of General ledgers with fields.
{ RowCount – total number of found records by sent search filters: Int PageNumber – numeric page of the records returned – matches the PageNumber sent in the search, repeated here for checking: Int RowsPerPage – numeric number of records returned on the – matches the RowsPerPage sent in the search, repeated here checking: Int ListOf: { Id – Id of the general ledger: Guid Code – Code of the general ledger: String Description – Description of the general ledger: String IsActive – Is general ledger Active: Boolean IsArchived – Is general ledger deleted (archived): Boolean Company: Complex { Id – Id of the company the general ledger is related to: Guid Name – Name of the company the general ledger is related to: String } } }
- Getting a single general ledger [METHOD – GET, parameters: Id, unique identifier of the general ledger]
Receives:- Id – Unique identifier of the general ledger, type: Guide
Returns:
- Status: Ok – When the request is valid, the Status returns Ok.
General ledger Data:
{ Id – Id of the general ledger: Guid Code – Code of the general ledger: String Description – Description of the general ledger: String IsActive – Is general ledger Active: Boolean IsArchived – Is general ledger deleted (archived): Boolean Company: Complex { Id – Id of the company the general ledger is related to: Guid Name – Name of the company the general ledger is related to: String } }
- Status: NoContent – When there are no General Ledgers found for the sent filters, the Status returns NoContent.
- Status: ExpectationsFailed – When the request sent is not completed, the Status returns ExpectationsFailed with a message describing the error for the unsuccessful completion of the request.
- Status: Unauthorized – When the user registered for the API usage does not have enough permissions to access General Ledgers, the Status returns Unauthorized.
- Adding a general ledger to a Company [Method – POST]
Receives:{ Code – Code of the general ledger: String Description – Description of the general ledger: String IsActive – Is general ledger Active: Boolean }
Returns:
- Status: Created – When a new General Ledger is created, the Status returns Created.
{ Id – Id of the general ledger: Guid Code – Code of the general ledger: String Description – Description of the general ledger: String IsActive – Is general ledger Active: Boolean IsArchived – Is general ledger deleted (archived): Boolean Company: Complex { Id – Id of the company the general ledger is related to: Guid Name – Name of the company the general ledger is related to: String } }
- Status: ExpectationsFailed – When the request sent is not completed, the Status returns ExpectationsFailed with a message describing the error for the unsuccessful completion of the request.
- Status: Unauthorized – When the user registered for the API usage does not have enough permissions to access General Ledgers, the Status returns Unauthorized.
- Editing a general ledgerMethod – PUTReceives:
- FROM URL Id of the general ledger: GuidExample: {apiURL}/general ledgers/59fd193b-ba8e-4e65-88b8-d4fe1dc5acd7
- FROM BODY – JSON
{ Code – Code of the general ledger: String Description – Description of the general ledger: String IsActive – Is general ledger Active: Boolean }
Returns:
- Status: Ok – When the request is valid, the Status returns Ok and displays the JSON formatted list of General Ledger.
{ Id – Id of the general ledger: Guid Code – Code of the general ledger: String Description – Description of the general ledger: String IsActive – Is general ledger Active: Boolean IsArchived – Is general ledger deleted (archived): Boolean Company: Complex { Id – Id of the company the general ledger is related to: Guid Name – Name of the company the general ledger is related to: String } }
- Status: NoContent – If a General Ledger with such Id is not found or Id belongs to an Entity registered to another company, the Status returns NoContent.
- Status: ExpectationsFailed – When the request sent is not completed, the Status returns ExpectationsFailed with a message describing the error for the unsuccessful completion of the request.
- Status: Unauthorized – When the user registered for the API usage does not have enough permissions to access General Ledgers, the Status returns Unauthorized.
- Deleting a general ledger [Method – Delete, parameters: Id (from URL)]
Receives:- Id – Id of the document, type: Guid
Returns:
- Status: Ok – When the deletion of General Ledger is completed, the Status returns Ok.
- Status: NoContent – If a General Ledger with such ID is not found or ID belongs to an Entity registered to another company, the Status returns NoContent.
- Status: ExpectationsFailed – When the request sent is not completed, the Status returns ExpectationsFailed with a message describing the error for the unsuccessful completion of the request.
- Status: Unauthorized – When the user registered for the API usage does not have enough permissions to access the entity and the related documents, the Status returns Unauthorized.
Invoices API Outlet User Manual
Invoices API Overview
The Invoices API is an endpoint that enables developers to interact with a system to retrieve invoices related to PLANERGY entities.
In this guide, we will learn the methods, parameters, and returns used in developing the applications to retrieve invoices.
/Invoices
- Getting a list of invoices related to the specified company [METHOD – Get]
Receives:- InvoiceNumber – for filtering invoices specifically by Invoice Number field or part of it: String
- PONumber – for filtering invoices specifically by Purchase Order Number field or part of it: String
- SupplierName – for filtering invoices specifically by Supplier Name field or part of it: String
- DepartmentName – for filtering invoices specifically by Department Name field or part of it: String
- CostCode – for filtering invoices specifically by Cost Code field or part of it: String
- CreatedOnFrom – for filtering invoices specifically by date of creation starting from this date: nullable DateTime
- CreatedOnTo – for filtering invoices specifically by date of creation that ends with this date: nullable DateTime
- PostedStatus – for filtering invoices specifically by Status: String. Can have following values:
- WaitingForApproval
- Approved
- Rejected
- PostedStatus – for filtering invoices specifically by posted status: String. Can have following values:
- Posted
- NotPosted
- PageNumber – all Lists for entities are paged by default, first page is always 1, retrieved number of records is maximum 1000: Int
- RowsPerPage – all Lists for entities are paged by default, how many rows are returned by the action can be defined – default and maximum number of records is 1000
Note
If any nullable field is set as null all results will be returned regardless of the value of that field.Returns:
- Status: Ok – When the request is valid, the Status returns Ok and displays the JSON formatted list of purchase orders.
- Status: NoContent – When there are no invoices found for the sent filters, the Status returns NoContent.
- Status: ExpectationsFailed – When the request sent is not completed, the Status returns ExpectationsFailed with a message describing the error for the unsuccessful completion of the request.
- Status: Unauthorized – When the user registered for the API usage does not have enough permissions to access purchase orders, the Status returns Unauthorized.
If Status: Ok returns JSON formatted list of invoices with fields.
{ RowCount – total number of found records by sent search filters: Int PageNumber – numeric page of the records returned – matches the PageNumber sent in the search, repeated here for checking: Int RowsPerPage – numeric number of records returned on the – matches the RowsPerPage sent in the search, repeated here checking: Int ListOf: { Id – Id of invoice: Guid SupplierName – Supplier Name on invoice: string SupplierCode – Supplier Code on invoice: string CompanyName – Company Name on invoice: string CompanyCode – Company Code on invoice: string InvoiceDate – Invoice Date: datetime ReceiptDate – Receipt date on invoice: nullable datetime DueDate – Due date: nullable datetime CurrencyName – Currency Name: string BaseCurrencyName – Base Currency Name: string Terms – Terms used on invoice: string Notes – Notes on invoice: string NetTotal – Net total amount: decimal Tax – Tax amount: decimal Total – Total value of invoice: decimal BaseCurrencyTotal – Total amount in base currency: decimal ApprovalStatus – Approval status: string PostingStatus – Posting status: string ForwardedTo – Forwarded for approval to user: string PostedBy – Posted by user: string AuthorisedBy – Authorised by user: string RejectedBy – Rejected by user: string PostedDate – Date posted: nullable datetime AuthorisedDate – Date authorized : nullable datetime RejectedDate – Date rejected: nullable datetime ForwardedDate – Date forwarded: nullable datetime CreatedBy – Created by user: string CreatedOn – Created on date: datetime ModifiedOn – Last modified date: nullable datetime NonPOInvoice – Is non PO invoice: boolean InvoiceItems: Array { OrderNumber – Order number used on invoice item: string DepartmentName – Dapartment name of order used on item: string DepartmentCode - Dapartment code of order used on item: string ItemCode – Item code: string ItemDescription – Item name: string GlCode – General ledger code: string ItemPrice – Item price: decimal OrderItemQty – Quantity set on order: decimal Unit – Unit of measure: string ItemDiscount – Item discount: decimal ItemTotal – Item total: decimal ItemBaseCurrencyTotal – Item total in base currency: decimal ConversionRate – Currency conversion rate: decimal TaxCode – Tax code: string TaxRate – Tax rate: decimal } } }
Purchase Orders API Outlet User Manual
Purchase Order API Overview
The Purchase Order API is an API outlet or endpoint that allows developers to interact with a system to retrieve purchase orders associated with PLANERGY entities.
In this guide, we will learn the methods, parameters, and returns used in developing the applications to track and manage the lifecycle of a purchase order.
/PurchaseOrders
Getting a list of purchase orders related to the specified company
METHOD – Get
Receives:
- OrderNumber – for filtering purchase orders specifically by Order Number field or part of it: String
- RequisitionNumber – for filtering purchase orders specifically by Requisition Number field or part of it: String
- SupplierName – for filtering purchase orders specifically by Supplier Name field or part of it: String
- DepartmentName – for filtering purchase orders specifically by Department Name field or part of it: String
- DeliveryLocation – for filtering purchase orders specifically by Ship To field or part of it: String
- RequestedDateFrom – for filtering purchase orders specifically by date of creation starting from this date: nullable DateTime
- RequestedDateTo – for filtering purchase orders specifically by date of creation that ends with this date: nullable DateTime
- DeliveryDateFrom – for filtering purchase orders specifically by due date starting from this date: nullable DateTime
- DeliveryDateTo – for filtering purchase orders specifically by due date that ends with this date: nullable DateTime
- OrderStatis – for filtering purchase orders specifically by status: string. It can have some of following values:
- InCreation – In Creation (Saved)
-
- InApprovalProcess – In Approval Process
-
- ForwarderForFirstApproval – Forwarded for First approval
-
- PartiallyApprovedNotForwarded – Partially approved – Not forwarded
-
- PartiallyApprovedForwarded – Partially approved – Forwarded
- EditedNotApproved – Edited not Approved
- Approved – Approved POs
-
- Open – Open
-
- ApprovedUnreceived – Not Received
-
- Unsent – Unsent
-
- Sent – Sent
-
- SentNotSeen – PO Not Viewed
-
- SentSeen – PO Viewed
-
- SentPrinted – PO Printed
-
- SentAccepted – PO Accepted
-
- SentRejected – PO Rejected
-
- PartiallyReceived – Partially Received
-
- Edited – Edited
-
- Closed – Closed
-
- ClosedCompleted – Closed Completed
- ClosedInCompleted – Closed Uncompleted
- NotApproved – Not Approved
-
- CancelledRequisition – Cancelled Requisition
-
- Rejected – Rejected
-
- CancelledOrder – Cancelled Order
-
- ManuallyCompleted – Invoicing Manually Closed
- Archived – for including purchase orders that are archived (deleted) in the list: nullable Boolean
- PageNumber – all Lists for entities are paged by default, first page is always 1, retrieved number of records is maximum 1000: Int
- RowsPerPage – all Lists for entities are paged by default, how many rows are returned by the action can be defined – default and maximum number of records is 1000
Note
Returns:
- Status: Ok – When the request is valid, the Status returns Ok and displays the JSON formatted list of purchase orders
- Status: NoContent – When the request is valid and no purchase orders are found for the sent filters, the Status returns NoContent.
- Status: ExpectationsFailed – When the request sent is not completed, the Status returns ExpectationsFailed with a message describing the error for the unsuccessful completion of the request.
- Status: Unauthorized – When the user registered for the API usage does not have enough permissions to access units of measure, the Status returns Unauthorized.
If Status: Ok returns JSON formatted list of purchase orders with fields.
{ RowCount – total number of found records by sent search filters: Int PageNumber – numeric page of the records returned – matches the PageNumber sent in the search, repeated here for checking: Int RowsPerPage – numeric number of records returned on the – matches the RowsPerPage sent in the search, repeated here checking: Int ListOf: { { Guid – Id of the purchase order: Guid OrderNumber – Order Number: string OrderRequisitionNumber – Requisiton Number : string OrderStatus – Status of order: string OrderArchived – Is order archived: boolean OrderTotal – Order total value: decimal OrderTotalTax – Order total value with tax: decimal OrderTotalBaseCurrency – Order total in base currency: decimal OrderReceivedTotal – Total amount received: decimal OrderInvoicedTotal – Total amount invoiced: decimal OrderNotInvoicedTotal – Total amount not invoiced: decimal OrderAccruedTotal – Total accrued: decimal OrderCurrency – Order currency: string OrderCurrencySymbol – Order currency symbol: string OrderExchangeRate – Currency exchange rate: decimal OrderBaseCurrencySymbol – Order base currency symbol: string OrderBaseCurrencyName – Order base currency name: string OrderSupplierName – Order supplier name : string OrderSupplierCode – Order supplier code: string OrderSupplierPhone – Order supplier phone: string OrderSupplierEmail – Order supplier email: string OrderDepartmentName – Order department name: string OrderDepartmentCode – Order department code: string OrderCompanyName – Order company name: string OrderCompanyCode – Order company code: string OrderBudgetMonth – Budget month on order : string OrderCreditTerms – Terms on order: string OrderDeliveryRecipient – Recipient on order: string OrderDeliveryAddress – Address of the order: string OrderDeliveryPhone – Order Location phone number: string OrderDeliveryPaidBy – Paid by field on order: string OrderDeliveryDate – Due date: datetime OrderRequestedDate – Date and time when order was created: datetime OrderRequestedBy – Order was created by this user: string OrderRejectedDate – Order rejected on date: nullable DateTime OrderRejectedBy – Order was rejected by this user: string OrderCancelledDate– Order cancelled on date: nullable DateTime OrderCancelledBy – Order was cancelled by this user: string OrderInternalNotes – Order internal notes: string OrderSupplierNotes – Supplier notes on order: strng OrderModifiedOn – Last date that order was modified on: nullable datetime OrderItems: Array { ItemName – Item name: string ItemCode – item code: string ItemPrice – item price: decimal ItemDiscount – Item discount: decimal ItemQuantityOrdered – Quantity ordered: decimal ItemQuantityReceived – Quantity received: decimal ItemQuantityReceivedInvoiced – Quantity received and invoiced: decimal ItemQuantityReceivedNotInvoiced – Quantity received but not invoiced: decimal ItemUnit – Unit of measure: string ItemCostCodeName – Cost code name: string ItemTotal – Item total value: decimal ItemTotalBaseCurrency – Item total value in base currency: decimal ItemInvoicedTotal – Item total amount invoiced : decimal ItemNotInvoicedTotal– Item total amount not invoiced : decimal ItemTotalReceived – Item total amount received: decimal ItemAccruedTotal – Item total accrued: decimal } }
Suppliers API Outlet User Manual
Suppliers API Outlet Overview
The Suppliers API is an endpoint that enables developers to interact with a system to perform various operations related to Suppliers associated with PLANERGY entities such as manipulating, retrieving, adding, editing, and deleting the Suppliers.
In this guide, we will learn the methods, parameters, and returns used in developing the applications to track and manage supplier details.
/Suppliers
- Getting a list of suppliers related to the specified company [METHOD – Get]
Receives:- SearchString – for filtering suppliers of an entity by any string field or part of it: String
- Code – for filtering suppliers specifically by Code field or part of it: String
- Name – for filtering suppliers specifically by Name field or part of it: String
- IsActive – for filtering suppliers specifically by IsActive tag: nullable Boolean
Note
If left null, all the suppliers regardless of the IsActive status will be returned. - IncludeArchived – for including suppliers that are archived (deleted) in the list: Boolean
- PageNumber – all Lists for entities are paged by default, first page is always 1, retrieved number of records is maximum 1000: Int
- RowsPerPage – all Lists for entities are paged by default, how many rows are returned by the action can be defined – default and maximum number of records is 1000
Returns:
- Status: Ok – When the request is valid, the Status returns Ok and displays the JSON formatted list of Suppliers.
- Status: NoContent – When there are no Suppliers found for the sent filters, the Status returns NoContent.
- Status: ExpectationsFailed – When the request sent is not completed, the Status returns ExpectationsFailed with a message describing the error for the unsuccessful completion of the request.
- Status: Unauthorized – When the user registered for the API usage does not have enough permissions to access Suppliers, the Status returns Unauthorized.
If Status: Ok returns JSON formatted list of Suppliers with fields)
{ RowCount – total number of found records by sent search filters: Int PageNumber – numeric page of the records returned – matches the PageNumber sent in the search, repeated here for checking: Int RowsPerPage – numeric number of records returned on the – matches the RowsPerPage sent in the search, repeated here checking: Int ListOf: { Id – Id of the supplier: Guid Code – Code of the supplier: String Name – Name of the supplier: String Phone – Phone of the supplier: String Email – Email of the supplier: String Address – Address of the supplier: String OnlineCatalogURL – Online catalog URL of the supplier: String IsNOnPOSupplier – Is this supplier tagged as the NonPOSupplier in the Planergy: Boolean ContactName – Main contact name within the supplier: String ContactPhone – Main contact phone within the supplier: String ContactEmail – Main contact email within the supplier: String IsEarlyPaymentDiscountEnabled – Is Early Payment Discount Enabled on the supplier: Boolean IsEarlyPaymentDiscountPrepopulated – Should Early payment discount be prepopulated on the supplier in Planergy: Boolean PercentageOfEarlyPaymentDiscount – percentage value of the Prepayment discount for the supplier: Int EarlyPaymentDiscountNoDays – Numeric value for the number of the days before which the percentage of the discount is applied: Int EarlyPaymentDiscountAppliedIncludingVAT – Is the total percentage value applied to only total or total with VAT: boolean IsActive, – Is supplier Active: Boolean IsArchived – Is supplier deleted (archived): Boolean Company: Complex { Id – Id of the company the supplier is related to: Guid Name – Name of the company the supplier is related to: String } Currency: Complex { Id – Currency id assigned to the supplier: Gui ThreeLetterCode – Three letter code assigned to the currency assigned ot the supplier: String } GeneralLedger: Complex { Id – Id of the General Ledger assigned to the supplier: Guid Code – Code of the General Ledger assigned to the supplier: String } } }
- Getting a single supplier [METHOD – GET, parameters: Id, unique identifier of the supplier]
Receives:- Id – Unique identifier of the supplier, type: Guid
Returns:
- Status: Ok – When the request is valid, the Status returns Ok.
Supplier Data:
{ Id – Id of the supplier: Guid Code – Code of the supplier: String Name – Name of the supplier: String Phone – Phone of the supplier: String Email – Email of the supplier: String Address – Address of the supplier: String OnlineCatalogURL – Online catalog URL of the supplier: String IsNOnPOSupplier – Is this supplier tagged as the NonPOSupplier in the Planergy: Boolean ContactName – Main contact name within the supplier: String ContactPhone – Main contact phone within the supplier: String ContactEmail – Main contact email within the supplier: String IsEarlyPaymentDiscountEnabled – Is Early Payment Discount Enabled on the supplier: Boolean IsEarlyPaymentDiscountPrepopulated – Should Early payment discount be prepopulated on the supplier in Planergy: Boolean PercentageOfEarlyPaymentDiscount – percentage value of the Prepayment discount for the supplier: Int EarlyPaymentDiscountNoDays – Numeric value for the number of the days before which the percentage of the discount is applied: Int EarlyPaymentDiscountAppliedIncludingVAT – Is the total percentage value applied to only total or total with VAT: boolean IsActive, – Is supplier Active: Boolean IsArchived – Is supplier deleted (archived): Boolean Company: Complex { Id – Id of the company the supplier is related to: Guid Name – Name of the company the supplier is related to: String } Currency: Complex { Id – Currency id assigned to the supplier: Gui ThreeLetterCode – Three letter code assigned to the currency assigned ot the supplier: String } GeneralLedger: Complex { Id – Id of the General Ledger assigned to the supplier: Guid Code – Code of the General Ledger assigned to the supplier: String } }
- Status: ExpectationsFailed – When the request sent is not completed, the Status returns ExpectationsFailed with a message describing the error for the unsuccessful completion of the request.
- Status: Unauthorized – When the user registered for the API usage does not have enough permissions to access Suppliers, the Status returns Unauthorized.
- Adding a supplier to a Company[Method – POST]
Receives:{ Code – Code of the supplier: String Name – Name of the supplier: String Phone – Phone of the supplier: String Email – Email of the supplier: String Address – Address of the supplier: String OnlineCatalogURL – Online catalog URL of the supplier: String IsNOnPOSupplier – Is this supplier tagged as the NonPOSupplier in the Planergy: Boolean ContactName – Main contact name within the supplier: String ContactPhone – Main contact phone within the supplier: String ContactEmail – Main contact email within the supplier: String IsEarlyPaymentDiscountEnabled – Is Early Payment Discount Enabled on the supplier: Boolean IsEarlyPaymentDiscountPrepopulated – Should Early payment discount be prepopulated on the supplier in Planergy: Boolean PercentageOfEarlyPaymentDiscount – percentage value of the Prepayment discount for the supplier: Int EarlyPaymentDiscountNoDays – Numeric value for the number of the days before which the percentage of the discount is applied: Int EarlyPaymentDiscountAppliedIncludingVAT – Is the total percentage value applied to only total or total with VAT: boolean IsActive, – Is supplier Active: Boolean Company: Complex { Id – Id of the company the supplier is related to: Guid } Currency: Complex { Id – Currency id assigned to the supplier: Guid } GeneralLedger: Complex { Id – Id of the General Ledger assigned to the supplier: Guid } }
Returns:
- Status: Created – When a new Tax is created, the Status returns Created.
{ Id – Id of the supplier: Guid Code – Code of the supplier: String Name – Name of the supplier: String Phone – Phone of the supplier: String Email – Email of the supplier: String Address – Address of the supplier: String OnlineCatalogURL – Online catalog URL of the supplier: String IsNOnPOSupplier – Is this supplier tagged as the NonPOSupplier in the Planergy: Boolean ContactName – Main contact name within the supplier: String ContactPhone – Main contact phone within the supplier: String ContactEmail – Main contact email within the supplier: String IsEarlyPaymentDiscountEnabled – Is Early Payment Discount Enabled on the supplier: Boolean IsEarlyPaymentDiscountPrepopulated – Should Early payment discount be prepopulated on the supplier in Planergy: Boolean PercentageOfEarlyPaymentDiscount – percentage value of the Prepayment discount for the supplier: Int EarlyPaymentDiscountNoDays – Numeric value for the number of the days before which the percentage of the discount is applied: Int EarlyPaymentDiscountAppliedIncludingVAT – Is the total percentage value applied to only total or total with VAT: boolean IsActive, – Is supplier Active: Boolean IsArchived – Is supplier deleted (archived): Boolean Company: Complex { Id – Id of the company the supplier is related to: Guid Name – Name of the company the supplier is related to: String } Currency: Complex { Id – Currency id assigned to the supplier: Guid ThreeLetterCode – Three letter code assigned to the currency assigned ot the supplier: String } GeneralLedger: Complex { Id – Id of the General Ledger assigned to the supplier: Guid Code – Code of the General Ledger assigned to the supplier: String } }
- Status: ExpectationsFailed – When the request sent is not completed, the Status returns ExpectationsFailed with a message describing the error for the unsuccessful completion of the request.
- Status: Unauthorized – When the user registered for the API usage does not have enough permissions to access Suppliers, the Status returns Unauthorized.
- Editing a supplier [Method – PUT]
Receives:- FROM URL Id of the supplier: GuidExample: {apiURL}/suppliers/59fd193b-ba8e-4e65-88b8-d4fe1dc5acd7
- FROM BODY – JSON
{ Code – Code of the supplier: String Name – Name of the supplier: String Phone – Phone of the supplier: String Email – Email of the supplier: String Address – Address of the supplier: String OnlineCatalogURL – Online catalog URL of the supplier: String IsNOnPOSupplier – Is this supplier tagged as the NonPOSupplier in the Planergy: Boolean ContactName – Main contact name within the supplier: String ContactPhone – Main contact phone within the supplier: String ContactEmail – Main contact email within the supplier: String IsEarlyPaymentDiscountEnabled – Is Early Payment Discount Enabled on the supplier: Boolean IsEarlyPaymentDiscountPrepopulated – Should Early payment discount be prepopulated on the supplier in Planergy: Boolean PercentageOfEarlyPaymentDiscount – percentage value of the Prepayment discount for the supplier: Int EarlyPaymentDiscountNoDays – Numeric value for the number of the days before which the percentage of the discount is applied: Int EarlyPaymentDiscountAppliedIncludingVAT – Is the total percentage value applied to only total or total with VAT: boolean IsActive, – Is supplier Active: Boolean Company: Complex { Id – Id of the company the supplier is related to: Guid } Currency: Complex { Id – Currency id assigned to the supplier: Guid } GeneralLedger: Complex { Id – Id of the General Ledger assigned to the supplier: Guid } }
Returns:
- Status: Ok – When the request is valid, the Status returns Ok and displays the JSON formatted list of Suppliers.
{ Id – Id of the supplier: Guid Code – Code of the supplier: String Name – Name of the supplier: String Phone – Phone of the supplier: String Email – Email of the supplier: String Address – Address of the supplier: String OnlineCatalogURL – Online catalog URL of the supplier: String IsNOnPOSupplier – Is this supplier tagged as the NonPOSupplier in the Planergy: Boolean ContactName – Main contact name within the supplier: String ContactPhone – Main contact phone within the supplier: String ContactEmail – Main contact email within the supplier: String IsEarlyPaymentDiscountEnabled – Is Early Payment Discount Enabled on the supplier: Boolean IsEarlyPaymentDiscountPrepopulated – Should Early payment discount be prepopulated on the supplier in Planergy: Boolean PercentageOfEarlyPaymentDiscount – percentage value of the Prepayment discount for the supplier: Int EarlyPaymentDiscountNoDays – Numeric value for the number of the days before which the percentage of the discount is applied: Int EarlyPaymentDiscountAppliedIncludingVAT – Is the total percentage value applied to only total or total with VAT: boolean IsActive, – Is supplier Active: Boolean IsArchived – Is supplier deleted (archived): Boolean Company: Complex { Id – Id of the company the supplier is related to: Guid Name – Name of the company the supplier is related to: String } Currency: Complex { Id – Currency id assigned to the supplier: Guid ThreeLetterCode – Three letter code assigned to the currency assigned ot the supplier: String } GeneralLedger: Complex { Id – Id of the General Ledger assigned to the supplier: Guid Code – Code of the General Ledger assigned to the supplier: String } }
- Status: NoContent – If a Supplier with such Id is not found or Id belongs to an Entity registered to another company, the Status returns NoContent.
- Status: ExpectationsFailed – When the request sent is not completed, the Status returns ExpectationsFailed with a message describing the error for the unsuccessful completion of the request.
- Status: Unauthorized – When the user registered for the API usage does not have enough permissions to access Suppliers, the Status returns Unauthorized.
- Deleting a supplier [Method – Delete, parameters: Id (from URL)]
Receives:- Id – Id of the document, type: Guid
Returns:
- Status: Ok – When the deletion of the Supplier is completed, the Status returns Ok.
- Status: NoContent – If a Supplier with such ID is not found or ID belongs to an Entity registered to another company, the Status returns NoContent.
- Status: ExpectationsFailed – When the request sent is not completed, the Status returns ExpectationsFailed with a message describing the error for the unsuccessful completion of the request.
- Status: Unauthorized – When the user registered for the API usage does not have enough permissions to access the entity and the related documents, the Status returns Unauthorized.
Taxes API Outlet User Manual
Taxes API Overview
The Taxes API is an endpoint that enables developers to interact with a system to perform various operations related to Taxes associated with PLANERGY entities such as retrieving, adding, editing, and deleting the Taxes.
In this guide, we will learn the methods, parameters, and returns used in developing the applications to track and manage the lifecycle of Taxes.
/Taxes
- Getting a list of taxes related to the specified company [METHOD – Get]
Receives:- SearchString – for filtering taxes of an entity by any string field or part of it: String
- Type – for filtering taxes specifically by Code field or part of it: String
- Rate – for filtering taxes specifically by Name field or part of it: String
- IsActive – for filtering taxes specifically by IsActive tag: nullable Boolean
- Imported – for filtering taxes specifically by Imported tag: nullable Boolean
- Archived – for including taxes that are archived (deleted) in the list: Boolean
- PageNumber – all Lists for entities are paged by default, first page is always 1, and retrieved number of records is maximum 1000: Int
- RowsPerPage – all Lists for entities are paged by default, how many rows are returned by the action can be defined – default and maximum number of records is 1000
Note
If any nullable Boolean field is null, taxes will be returned regardless of the value of that field.Returns:
- Status: Ok – When the request is valid, the Status returns Ok and displays the JSON formatted list of Taxes
- Status: NoContent – When there are no Taxes found for the sent filters, the Status returns NoContent.
- Status: ExpectationsFailed – When the request sent is not completed, the Status returns ExpectationsFailed with a message describing the error for the unsuccessful completion of the request.
- Status: Unauthorized – When the user registered for the API usage does not have enough permissions to access Taxes, the Status returns Unauthorized.
If Status: Ok returns JSON formatted list of Taxes with fields.
{ RowCount – total number of found records by sent search filters: Int PageNumber – numeric page of the records returned – matches the PageNumber sent in the search, repeated here for checking: Int RowsPerPage – numeric number of records returned on the – matches the RowsPerPage sent in the search, repeated here checking: Int ListOf: { Id – Id of the tax: Guid Type – Code of the tax: String Description – Description of the tax: String Label – Label of the tax: String IsDefault – Is tax Default: Boolean Rate – Rate: Decimal Company: Complex { Id – Id of the company the tax is related to: Guid Name – Name of the company the tax is related to: String } } }
- Getting a single tax [METHOD – GET, parameters: Id, unique identifier of the tax
Receives:- Id – Unique identifier of the tax, type: Guid
Returns:
- Status: Ok – When the request is valid, the Status returns Ok.
Tax Data:
{ Id – Id of the tax: Guid Type – Code of the tax: String Description – Description of the tax: String Label – Label of the tax: String IsDefault – Is tax Default: Boolean Rate – Rate: Decimal Company: Complex { Id – Id of the company the tax is related to: Guid Name – Name of the company the tax is related to: String } }
- Status: NoContent – When there are no Taxes found for the sent filters, the Status returns NoContent.
- Status: ExpectationsFailed – When the request sent is not completed, the Status returns ExpectationsFailed with a message describing the error for the unsuccessful completion of the request.
- Status: Unauthorized – When the user registered for the API usage does not have enough permissions to access Tax, the Status returns Unauthorized.
- Adding a tax to a Company [Method – POST]
Receives:{ Type – Code of the tax: String Rate – Name of the tax: Decimal Label – Address of the tax: String Description – Type of the tax: String IsActive – Is tax Active: Boolean IsDefault – Is tax Default: Boolean }
Returns:
- Status: Created – When a new Tax is created, the Status returns Created.
{ Id – Id of the tax: Guid Type – Code of the tax: String Description – Description of the tax: String Label – Label of the tax: String IsDefault – Is tax Default: Boolean Rate – Rate: Decimal Company: Complex { Id – Id of the company the tax is related to: Guid Name – Name of the company the tax is related to: String } }
- Status: ExpectationsFailed – When the request sent is not completed, the Status returns ExpectationsFailed with a message describing the error for the unsuccessful completion of the request.
- Status: Unauthorized – When the user registered for the API usage does not have enough permissions to access Taxes, the Status returns Unauthorized.
- Editing a tax [Method – PUT]
Receives:- FROM URLId of the tax: Guid
Example: {apiURL}/taxes/59fd193b-ba8e-4e65-88b8-d4fe1dc5acd7 - FROM BODY – JSON
{ Type – Code of the tax: String Rate – Name of the tax: Decimal Label – Address of the tax: String Description – Type of the tax: String IsActive – Is tax Active: Boolean IsDefault – Is tax Default: Boolean }
Returns:
- Status: Ok – When the request is valid, the Status returns Ok and displays the JSON formatted list of Taxes.
{ Id – Id of the tax: Guid Type – Code of the tax: String Description – Description of the tax: String Label – Label of the tax: String IsDefault – Is tax Default: Boolean Rate – Rate: Decimal Company: Complex { Id – Id of the company the tax is related to: Guid Name – Name of the company the tax is related to: String } }
- Status: NoContent – If a Tax with such Id is not found or Id belongs to an Entity registered to another company, the Status returns NoContent.
- Status: ExpectationsFailed – When the request sent is not completed, the Status returns ExpectationsFailed with a message describing the error for the unsuccessful completion of the request.
- Status: Unauthorized – When the user registered for the API usage does not have enough permissions to access Taxes, the Status returns Unauthorized.
- FROM URLId of the tax: Guid
- Deleting a tax [Method – Delete, parameters: Id (from URL)]
Receives:- Id – Id of the document, type: Guid
Returns:
- Status: Ok – When the deletion of the Tax is completed, the Status returns Ok.
- Status: NoContent – If a Tax with such ID is not found or ID belongs to an Entity registered to another company, the Status returns NoContent.
- Status: ExpectationsFailed – When the request sent is not completed, the Status returns ExpectationsFailed with a message describing the error for the unsuccessful completion of the request.
- Status: Unauthorized – When the user registered for the API usage does not have enough permissions to access the entity and the related documents, the Status returns Unauthorized.
Terms API Outlet User Manual
Terms API Overview
The Terms API is an endpoint that enables developers to interact with a system to perform various operations related to Terms associated with PLANERGY entities such as retrieving, adding, editing, and deleting the Terms.
In this guide, we will learn the methods, parameters, and returns used in developing the applications to track and manage the lifecycle of the Terms.
/Terms
- Getting a list of terms related to the specified company [METHOD – Get]
Receives:- SearchString – for filtering terms of an entity by any string field or part of it: String
- Name – for filtering terms specifically by Name field or part of it: String
- IsActive – for filtering terms specifically by IsActive tag: nullable Boolean
- Imported – for filtering terms specifically by Imported tag: nullable Boolean
- Archived – for including terms that are archived (deleted) in the list: Boolean
- CreditDays – for including terms with defined credit days: nullable Int
- PageNumber – all Lists for entities are paged by default, first page is always 1, and retrieved number of records is maximum 1000: Int
- RowsPerPage – all Lists for entities are paged by default, how many rows are returned by the action can be defined – default and maximum number of records is 1000
Note
If any nullable Boolean field is null, terms will be returned regardless of the value of that field.Returns:
- Status: Ok – When the request is valid, the Status returns Ok and displays the JSON formatted list of Terms.
- Status: NoContent – When there are no Terms found for the sent filters, the Status returns NoContent.
- Status: ExpectationsFailed – When the request sent is not completed, the Status returns ExpectationsFailed with a message describing the error for the unsuccessful completion of the request.
- Status: Unauthorized – When the user registered for the API usage does not have enough permissions to access Terms, the Status returns Unauthorized.
If Status: Ok returns JSON formatted list of Terms with fields.
{ RowCount – total number of found records by sent search filters: Int PageNumber – numeric page of the records returned – matches the PageNumber sent in the search, repeated here for checking: Int RowsPerPage – numeric number of records returned on the – matches the RowsPerPage sent in the search, repeated here checking: Int ListOf: { Id – Id of the term: Guid Name – Name of the term: String Description – Description of the term: String IsActive – Is term Active: Boolean IsArchived – Is term deleted (archived): Boolean CreditDays – Credit days of the term: int Company: Complex { Id – Id of the company the term is related to: Guid Name – Name of the company the term is related to: String } } }
- Getting a single term [METHOD – GET, parameters: Id, unique identifier of the term]
Receives:- Id – Unique identifier of the term, type: Guid
Returns:
- Status: Ok – When the request is valid, the Status returns Ok.
Term Data:
{ Id – Id of the term: Guid Name – Name of the term: String Description – Description of the term: String IsActive – Is term Active: Boolean IsArchived – Is term deleted (archived): Boolean CreditDays – Credit days of the term: Int Company: Complex { Id – Id of the company the term is related to: Guid Name – Name of the company the term is related to: String } }
- Status: NoContent – When there are no Terms found for the sent filters, the Status returns NoContent.
- Status: ExpectationsFailed – When the request sent is not completed, the Status returns ExpectationsFailed with a message describing the error for the unsuccessful completion of the request.
- Status: Unauthorized – When the user registered for the API usage does not have enough permissions to access Terms, the Status returns Unauthorized.
- Adding a term to a Company [METHOD – POST]
Receives:{ Name – Name of the term: String Description – Address of the term: String IsActive – Is term Active: Boolean CreditDays – Credit days of the term: Int }
Returns:
- Status: Created – When a new Term is created, the Status returns Created.
{ Id – Id of the term: Guid Name – Name of the term: String Description – Description of the term: String IsActive – Is term Active: Boolean IsArchived – Is term deleted (archived): Boolean CreditDays – Credit days of the term: Int Company: Complex { Id – Id of the company the term is related to: Guid Name – Name of the company the term is related to: String } }
- Status: ExpectationsFailed – When the request sent is not completed, the Status returns ExpectationsFailed with a message describing the error for the unsuccessful completion of the request.
- Status: Unauthorized – When the user registered for the API usage does not have enough permissions to access Terms, the Status returns Unauthorized.
- Editing a term [METHOD – PUT]
Receives:- FROM URLId of the term: GuidExample: {apiURL}/terms/59fd193b-ba8e-4e65-88b8-d4fe1dc5acd7
- FROM BODY – JSON
{ Name – Name of the term: String Description – Address of the term: String IsActive – Is term Active: Boolean CreditDays – Credit days of the term: Int }
Returns:
- Status: Ok – When the request is valid, the Status returns Ok and displays the JSON formatted list of Terms.
{ Id – Id of the term: Guid Name – Name of the term: String Description – Description of the term: String IsActive – Is term Active: Boolean IsArchived – Is term deleted (archived): Boolean CreditDays – Credit days of the term: Int Company: Complex { Id – Id of the company the term is related to: Guid Name – Name of the company the term is related to: String } }
- Status: NoContent – If a Term with such Id is not found or Id belongs to an Entity registered to another company, the Status returns NoContent.
- Status: ExpectationsFailed – When the request sent is not completed, the Status returns ExpectationsFailed with a message describing the error for the unsuccessful completion of the request.
- Status: Unauthorized – When the user registered for the API usage does not have enough permissions to access Terms, the Status returns Unauthorized.
- Deleting a term [Method – Delete, parameters: Id (from URL)]
Receives:- Id – Id of the document, type: Guid
Returns:
- Status: Ok – When the deletion of the Term is completed, the Status returns Ok.
- Status: NoContent – If a Term with such Id is not found or Id belongs to an Entity registered to another company, the Status returns NoContent.
- Status: ExpectationsFailed – When the request sent is not completed, the Status returns ExpectationsFailed with a message describing the error for the unsuccessful completion of the request.
- Status: Unauthorized – When the user registered for the API usage does not have enough permissions to access Terms, the Status returns Unauthorized.
Units of Measure API Outlet User Manual
Units of Measure API Outlet Overview
The UOM API outlet is an endpoint that enables developers to interact with a system to perform various operations related to units of measure associated with PLANERGY entities such as retrieving, adding, editing, and deleting the units of measure.
In this guide, we will learn the methods, parameters, and returns used in developing the application to track and manage the lifecycle of a unit of measure.
/UOM
- Getting the list of units of measures related to the specified company [METHOD – Get]
Receives:- SearchString – for filtering units of measures of an entity by any string field or part of it: String
- Name – for filtering units of measures specifically by Code field or part of it: String
- Symbol – for filtering units of measures specifically by Symbol field or part of it: String
- IsActive – for filtering units of measures specifically by IsActive tag: nullable Boolean
- Type – for filtering units of measures specifically by Type tag: nullable Int
- Archived – for including units of measures that are archived (deleted) in the list: Boolean
- PageNumber – all Lists for entities are paged by default, first page is always 1, and retrieved number of records is maximum 1000: Int
- RowsPerPage – all Lists for entities are paged by default, how many rows are returned by the action can be defined – default and maximum number of records is 1000
When any nullable Boolean field is null, units of measures will be returned regardless of the value of that field.Note
Note
Returns:
- Status: Ok – When the request is valid, the Status returns Ok and displays the JSON formatted list of Units of measures
- Status: NoContent – When there are no Units of Measures found for the sent filters, the Status returns NoContent.
- Status: ExpectationsFailed – When the request sent is not completed, the Status returns ExpectationsFailed with a message describing the error for the unsuccessful completion of the request.
- Status: Unauthorized – When the user registered for the API usage does not have enough permissions to access units of measure, the Status returns Unauthorized.
If Status: Ok returns JSON formatted list of Units of measures with fields.
{ RowCount – total number of found records by sent search filters: Int PageNumber – numeric page of the records returned – matches the PageNumber sent in the search, repeated here for checking: Int RowsPerPage – numeric number of records returned on the – matches the RowsPerPage sent in the search, repeated here checking: Int ListOf: { Id – Id of the unit of measure: Guid Name – Code of the unit of measure: String Symbol – Name of the unit of measure: String Type – Type of the unit of measure: String IsActive – Is unit of measure Active: Boolean IsArchived – Is unit of measure deleted (archived): Boolean } }
- Getting a single unit of measure [METHOD – GET, parameters: Id, unique identifier of the unit of measure]
Receives:- Id – Unique identifier of the unit of measure, type: Guid
Returns:
- Status: Ok – When the request is valid, the Status returns OK and displays Units of measures data.
Unit of measure Data:
{ Id – Id of the unit of measure: Guid Name – Code of the unit of measure: String Symbol – Name of the unit of measure: String Type – Type of the unit of measure: String IsActive – Is unit of measure Active: Boolean IsArchived – Is unit of measure deleted (archived): Boolean }
- Status: NoContent – When no Units of Measures are found for the sent filters, the Status returns NoContent.
- Status: ExpectationsFailed – When the request sent is not completed, the Status returns ExpectationsFailed with a message describing the error for the unsuccessful completion of the request.
- Status: Unauthorized – When the user registered for the API usage does not have enough permissions to access units of measure, the Status returns Unauthorized.
- Adding a unit of measure to a Company [Method – POST]
Receives:{ Name – Name of the unit of measure: String Symbol – Symbol of the unit of measure: String IsActive – Is unit of measure Active: Boolean Type – Is unit of measure Type: Int }
Returns:
- Status: Created
{ Id – Id of the unit of measure: Guid Name – Code of the unit of measure: String Symbol – Name of the unit of measure: String Type – Type of the unit of measure: String IsActive – Is unit of measure Active: Boolean IsArchived – Is unit of measure deleted (archived): Boolean }
- Status: ExpectationsFailed – When the request sent is not completed, the Status returns ExpectationsFailed with a message describing the error for the unsuccessful completion of the request.
- Status: Unauthorized – When the user registered for the API usage does not have enough permissions to access units of measure, the Status returns Unauthorized.
- Editing a unit of measure [Method – PUT]
Receives:- FROM URL
Id of the unit of measure: GuidExample: {apiURL}/units of measures/59fd193b-ba8e-4e65-88b8-d4fe1dc5acd7 - FROM BODY – JSON
{ Name – Name of the unit of measure: String Symbol – Symbol of the unit of measure: String IsActive – Is unit of measure Active: Boolean Type – Is unit of measure Type: Int }
Returns:
- Status: Ok – When the request is valid, the Status returns Ok and displays the JSON formatted Units of measures
{ Id – Id of the unit of measure: Guid Name – Code of the unit of measure: String Symbol – Name of the unit of measure: String Type – Type of the unit of measure: String IsActive – Is unit of measure Active: Boolean IsArchived – Is unit of measure deleted (archived): Boolean }
- Status: NoContent – If a unit of measure with such Id is not found or Id belongs to an Entity registered to another company, the Status returns NoContent.
- Status: ExpectationsFailed – When the request sent is not completed, the Status returns as ExpectationsFailed with a message describing the error for the unsuccessful completion of the request.
- Status: Unauthorized – When the user registered for the API usage does not have enough permissions to access units of measure, the Status returns as Unauthorized.
- FROM URL
- Deleting a unit of measure [Method – Delete, parameters: Id (from URL)]
Receives:- Id – Id of the document, type: Guid
Returns:
- Status: Ok – When the deletion of the unit of measure is completed, the Status returns Ok.
- Status: NoContent – If a unit of measure with such ID is not found OR ID belongs to an Entity registered to another company, the Status returns NoContent.
- Status: ExpectationsFailed – When the request sent is not completed, the Status returns ExpectationsFailed with a message describing the error for the unsuccessful completion of the request.
- Status: Unauthorized – When the user registered for the API usage does not have enough permissions to access units of measure, the Status returns Unauthorized.