CashBook
Request: POST
API Call: http:/[domain]/api/Push/Nafhaa?NAuth=<AuthKeyFromNafhaaPortal>&Request=cashbook&Type=json&Data=<Json format>
Sample Data:
MODULE | CASHBOOK |
JSON FORMAT | [{ “Date”: null, “Type”: null, “ToType”: null, “Head”: null, “Contact”: null, “ContactNumber”: null, “ContactEmail”: null, “ContactStateName”: null, “ContactAddress”: null, “InvoiceNo”: null, “CashIn”: null, “CashOut”: null, “Narration”: null, “BankName”: null, “BankAccount”: null, “ToBankName”: null, “ToBankAccount”: null, “ApprovedByName”: null, “RepresentativeName”: null, “BranchName”: null, “Tax1Name”: null, “Tax1”: 0.0, “Tax2Name”: null, “Tax2”: 0.0, “SubHeadName”: null, “ToHeadName”: null, “CompanyName”: null, “BaseCurrencyName”: null, “ToCurrencyName”: null, “ConversionRate”: 0.0, “ExpenseTypeName”: null, “IncomeTypeName”: null, “UserMode”: null, “ContactSearch”: null}] |
JSON TYPE | List |
REQUIRED PARAMETERS | UserMode – UserName or DspName. Deafult is set to UserName. This will be applicable to the fields like “ApprovedByName” and “RepresentativeName”. This is a compulsory field.ContactSearch – Expected values are Name or NamePhone. When Name is set then you set the Phone to null and if it is the other than both Name and Phone needs to specified. This is a compulsory field.Contact related Parameter like – ContactName, ContactNumber, ContactStateName and ConatctAddress are all compulsory fields.Date – All date formats are expected to be in – yyyy-MM-dd.Type – This will identify the type of entry in Cashbook. It is a mandatory field. Possible values that this field can carry are – Deposit, Expense or JournalEntries. They have to be specified as is.ToType – This will identify the type of entry in Cashbook. This can be used if there is an internal transfer of funds. It is a non- mandatory field. Possible values that this field can carry are – Deposit, Expense or JournalEntries. They have to be specified as is.HeadName – Head name needs to be specified as it is a mandatory field.ToHeadName – ToHead name needs to be specified if there is an internal transfer of funds. It is a non-mandatory field.ExpenseTypeName – It is a mandatory field which will identify the Expense Type of Cashbook entry. Possible values that this field can carry are – DirectExpense or IndirectExpense. They have to be specified as is.IncomeTypeName – It is a mandatory field which will identify the Income Type of Cashbook entry. Possible values that this field can carry are – DirectIncome or IndirectIncome. They have to be specified as is. |
API CALL | api/Push/Nafhaa?NAuth=<AuthKeyFromNafhaaPortal>&Request=cashbook&Type=json&Data=<Json> |
REQUEST | Post |
RESPONSE | You will receive a JSON response from the server in the following format -{ “Version”: null, “Status”: null, “Message”: null, “Notifications”: [{ “Position”: null, “Message”: null, “Error”: null, “Notify”: null }]} Version – This field denotes the version number for the API called.Status – This will denote the status of operation which can be either Success or Error.Message – This will contain the details of activity that took place with the API Call.Notification – It is a list of Notification which contains – Position – This will denote the position at which the Error has occurred.Message – This will have the additional details for the error that has occurred.Error – This will contain the full-fledged error details.Notify – This will contain the type of Error the receiving system should generate. Possible values are – Error and Warning. |
Purchase
MODULE | PURCHASE |
JSON FORMAT | [{ “InvoiceNumber”: null, “PurchasedFromName”: null, “PurchasedFromNumber”: null, “PurchasedFromEmail”: null, “PurchasedFromStateName”: null, “PurchasedFromAddress”:null, “Status”: null, “Status”: null, “InvoiceDate”: null, “OwnerUserName”: null, “AssignedToName”: null, “BranchName”: null, “ReverseCharges”: false, “InvoiceType”: null, “PONumber”: null, “PODate”: null, “CHA”: 0.0, “CFS”: 0.0, “CHAGST”: 0.0, “CFSGST”: 0.0, “PackagingHSN”: null, “PackagingCharges”: 0.0, “FreightHSN”: null, “FreightCharges”: 0.0, “RoundUp”: 0.0, “GSTMode”: null, “UserMode”: null, “ProductSearch”: null, “ContactSearch”: null, “CompanyName”: null, “Products”: [{ “Name”: null, “Code”: null, “Serial”: null, “Batch”: null, “ProductDivision”: null, “ProductType”: null, “SellingPrice”: 0.0, “PurchasePrice”: 0.0, “Quantity”: 0.0, “MRP”: 0.0, “OpeningStock”: 0, “UnitName”: null, “ProductSubDivision”: null, “Discount”: 0.0, “DiscountAmount”: 0.0, “Tax1Name”: null, “Tax1”: 0.0, “Tax2Name”: null, “Tax2”: 0.0, “CustomDuty”: 0.0, “SecondaryCustomDuty”: 0.0, “Freight”: 0.0, “Fin”: 0.0 }]}] |
JSON TYPE | List |
REQUIRED PARAMETERS | ProductSearch – Expected values are Code and Name. When Code is specified, system Expects Product Name and Code to be specified in JSON and when Name is specified Code can be set to null. This is a compulsory field.UserMode – UserName or DspName. Deafult is set to UserName. This will be applicable to the fields like “ApprovedByName” and “RepresentativeName”. This is a compulsory field.ContactSearch – Expected values are Name or NamePhone. When Name is set then you set the Phone to null and if it is the other than both Name and Phone needs to specified. This is a compulsory field.CompanyName – This is a required field and it is must to pass a value for the same. This should match with the Company Name registered with Nafhaa.Owner ID and Assigned ID – These two fields are required to set the Owner and Assigned Person on Nafhaa Portal.Status – This is required field. Status can have any one value from – Open, Closed, Pending, Parked or Expired. The value is to be specified as is.Contact related Parameter like – PurchaseFromName, PurchaseFromNumber, PurchaseFromStateName and PurchaseFromAddress are all compulsory fields.InvoiceType – InvoiceType field can have any one possible value from – Regular, SEZsupplieswithpayment, SEZsupplieswithoutpayment or DeemedExp.GSTMode – GSTMode deals with GST Calculation and it required and can have possible values – Composite or Mixed.Name and Code fields from Products – Name is by default a requried field, but Code field will become required when ProductSearch is set to Code where both Name and Code will be required.ProductDivision – This field is mandatory to categorize the Product via Division. |
API CALL | api/Push/Nafhaa?NAuth=<AuthKeyFromNafhaaPortal>&Request=purchase&Type=json&Data=<Json> |
REQUEST | Post |
RESPONSE | You will receive a JSON response from the server in the following format -{ “Version”: null, “Status”: null, “Message”: null, “Notifications”: [{ “Position”: null, “Message”: null, “Error”: null, “Notify”: null }] } Version – This field denotes the version number for the API called.Status – This will denote the status of operation which can be either Success or Error.Message – This will contain the details of activity that took place with the API Call.Notification – It is a list of Notification which contains – Position – This will denote the position at which the Error has occurred.Message – This will have the additional details for the error that has occurred.Error – This will contain the full-fledged error details.Notify – This will contain the type of Error the receiving system should generate. Possible values are – Error and Warning. |
Sales
MODULE | SALES |
JSON FORMAT | [{ “CustomNumber”: null, “ContactName”: null, “ContactNumber”: null, “ContactEmail”: null, “ContactStateName”: null, “ContactAddress”:null, “Status”: null, “SourceName”: null, “StageName”: null, “SalesTypeName”: null, “SaleFromBondedWarehouse”: null, “CarriageBy”: null, “LRNumber”: null, “AWBNumber”: 0, “Date”: null, “DueDate”: null, “ClosingDate”: null, “OwnerUserName”: null, “AssignedToName”: null, “FirstApprovalToName”:null, “SecondApprovalToName”:null, “EComType”: null, “ReverseCharges”: false, “EnableEwayBill”: false, “EwaySupplyType”: null, “EwaySubType”: null, “EwayDocType”: null, “EwayModeType”: null, “EwayVehicalType”: null, “EwayVehicalNumber”: null, “EwayGenerationType”: null, “EwayDocumentNumber”: null, “EwayDocumentDate”: null, “EwayDistance”: 0.0, “BranchName”: null, “PackagingHSN”: null, “PackagingCharges”: 0.0, “PackagingCGST”: 0.0, “PackagingSGST”: 0.0, “FreightHSN”: null, “FreightCharges”: 0.0, “FreightCGST”: 0.0, “FreightSGST”: 0.0, “Advance”: 0.0, “RoundUp”: 0.0, “GSTMode”: null, “UserMode”: null, “ProductSearch”: null, “ContactSearch”: null, “CompanyName”: null, “Products”: [{ “Name”: null, “Code”: null, “Serial”: null, “Batch”: null, “ProductDivision”: null, “ProductType”: null, “SellingPrice”: 0.0, “PurchasePrice”: 0.0, “Quantity”: 0.0, “MRP”: 0.0, “OpeningStock”: 0, “UnitName”: null, “ProductSubDivision”: null, “Discount”: 0.0, “DiscountAmount”: 0.0, “Tax1Name”: null, “Tax1”: 0.0, “Tax2Name”: null, “Tax2”: 0.0, “Freight”: 0.0, “Fin”: 0.0 }]}] |
JSON TYPE | List |
REQUIRED PARAMETERS | ProductSearch – Expected values are Code and Name. When Code is specified, system Expects Product Name and Code to be specified in JSON and when Name is specified Code can be set to null.UserMode – UserName or DspName. Deafult is set to UserName. This will be applicable to the fields like “ApprovedByName” and “RepresentativeName”.ContactSearch – Expected values are Name or NamePhone. When Name is set then you set the Phone to null and if it is the other than both Name and Phone needs to specified. Date – All date formats are expected to be in – yyyy-MM-dd.CompanyName – This is a required field and it is must to pass a value for the same. This should match with the Company Name registered with Nafhaa.Owner ID and Assigned ID – These two fields are required to set the Owner and Assigned Person on Nafhaa Portal.Source and Stage Name – These two fields are mandatory. Stage will bifurcate the Sales from other and Source will allow you to identify the Sales Source.SalesFromBondedWarehouse – This is a GST related Parameter which is required to specified and their possible values are “Y” or “N”.CarriageBy – The mode carriage for the products. Possible values are – ByRoad, ByAir and BySea. They have to be specified as is.EcomType – This is applicable for E-Commerce Clients. It is a non-mandatory field. If want to specify then possible values are – “E” or “OE”. They have to be specified as is.Status – This is required field. Status can have any one value from – Open, Closed, Pending, Parked or Expired. The value is to be specified as is.Contact related Parameter like – ContactName, ContactNumber, ContactStateName and ConatctAddress are all compulsory fields.GSTMode – GSTMode deals with GST Calculation and it required and can have possible values – Composite or Mixed.Name and Code fields from Products – Name is by default a requried field, but Code field will become required when ProductSearch is set to Code where both Name and Code will be required.ProductDivision – This field is mandatory to categorize the Product via Division.If E-way Bill is enabled in JSON then E-way Bill related fields will become mandatory which are as follows.EwaySupplyType – This will be used to identify the Supply Type of the Sales. Possible values that this field can carry are – Inward or Outward. They have to be specified as is.EwaySubType – Based on the Supply type you need to specify the Sub Type. Possible values that this field can carry are – Supply, Import, Export, JobWork, ForOwnUse, JonWorkReturns, SalesReturn, Others, SKDCKD, LineSales, RecipientNotKnown and ExhibitionorFairs. They have to be specified as is.EwayDocType – The type of document that this Sales will represent. Possible values that this field can carry are – TaxInvoice, BillOfSupply, BillOfEntry, DeliveryChallan, CreditNote or Others. They have to be specified as is.EwayModeType – The Mode of transport the sales will follow. Possible values that this field can carry are – Road, Rail, Air or Ship. They have to be specified as is.EwayVehicalType – The Vehicle Type that will be used for Product Transportation. Possible values that this field can carry are – Regular or ODC. They have to be specified as is.EwayGenerationType – This is used to identify the Entity generating the E-way bill is of which type. Possible values that this field can carry are – TaxPayer or Transporter. They have to be specified as is.EwayVehicalNumber – Vehicle Number is required when it is enabled. Expected Foramat – MH-01-XX-1234 or MH01XX1234 variants are accepted by E-way Bill.EwayDocumentNumber – The document for the Sale which can be identified.EwayDocumentDate – The date of the document on which it is generated. Expected Format – yyyy-MM-dd.EwayDistance – The total distance that it will transported. Expected format – 1000.00 or 1000. |
API CALL | api/Push/Nafhaa?NAuth=<AuthKeyFromNafhaaPortal>&Request=sales&Type=json&Data=<Json> |
REQUEST | Post |
RESPONSE | You will receive a JSON response from the server in the following format -{ “Version”: null, “Status”: null, “Message”: null, “Notifications”: [{ “Position”: null, “Message”: null, “Error”: null, “Notify”: null }] } Version – This field denotes the version number for the API called.Status – This will denote the status of operation which can be either Success or Error.Message – This will contain the details of activity that took place with the API Call.Notification – It is a list of Notification which contains – Position – This will denote the position at which the Error has occurred.Message – This will have the additional details for the error that has occurred.Error – This will contain the full-fledged error details.Notify – This will contain the type of Error the receiving system should generate. Possible values are – Error and Warning. |
Sales Order
MODULE | SALES ORDER |
JSON FORMAT | [{ “CustomNumber”: null, “ContactName”: null, “ContactNumber”: null, “ContactEmail”: null, “ContactStateName”: null, “ContactAddress”: null, “SupplierName”: null, “SupplierNumber”: null, “SupplierEmail”: null, “SupplierStateName”: null, “SupplierAddress”: null, “ContactPersonName”: null, “ContactPersonNumber”: null, “Status”: null, “SourceName”: null, “StageName”: null, “Date”: null, “DueDate”: null, “ClosingDate”: null, “OwnerUserName”: null, “AssignedToName”: null, “FirstApprovalToName”:null, “SecondApprovalToName”:null, “BranchName”: null, “PackagingHSN”: null, “PackagingCharges”: 0.0, “PackagingCGST”: 0.0, “PackagingSGST”: 0.0, “FreightHSN”: null, “FreightCharges”: 0.0, “FreightCGST”: 0.0, “FreightSGST”: 0.0, “Advance”: 0.0, “RoundUp”: 0.0, “GSTMode”: null, “SEZ”: null, “EPZ”: null, “Type”: null, “EnableSupplier”: null, “ShippingAddress”: null, “DispatchDetails”: null, “UserMode”: null, “ProductSearch”: null, “ContactSearch”: null, “SupplierSearch”: null, “CompanyName”: null, “Products”: [{ “Name”: null, “Code”: null, “Serial”: null, “Batch”: null, “ProductDivision”: null, “ProductType”: null, “SellingPrice”: 0.0, “PurchasePrice”: 0.0, “Quantity”: 0.0, “MRP”: 0.0, “OpeningStock”: 0, “UnitName”: null, “ProductSubDivision”: null, “Discount”: 0.0, “DiscountAmount”: 0.0, “Tax1Name”: null, “Tax1”: 0.0, “Tax2Name”: null, “Tax2”: 0.0, “Freight”: 0.0, “Fin”: 0.0, “WarrantyStart”: null, “WarrantyEnd”: null, “DeliveryDate”: null, “DeliveryTerms”: null, “EnableSupplier”: null, “SupplierSearch”: null, “SupplierName”: null, “SupplierNumber”: null, “SupplierEmail”: null, “SupplierStateName”: null, “SupplierAddress”: null }]}] |
JSON TYPE | List |
REQUIRED PARAMETERS | ProductSearch – Expected values are Code and Name. When Code is specified system Expects Product Name and Code to be specified in JSON and when Name is specified Code can be set to null.UserMode – UserName or DspName. Deafult is set to UserName. This will be applicable to the fields like “ApprovedByName” and “RepresentativeName”.ContactSearch – Expected values are Name or NamePhone. When Name is set then you set the Phone to null and if it is the other than both Name and Phone needs to specified. SupplierSearch – Expected values are Name or NamePhone. When Name is set then you set the Phone to null and if it is the other than both Name and Phone needs to specified. The fields shown in the JSON above for suppliers needs to defined when it is set to true.Date – All date formats are expected to be in – yyyy-MM-dd.CompanyName – This is a required field and it is must to pass a value for the same. This should match with the Company Name registered with Nafhaa.Owner ID and Assigned ID – These two fields are required to set the Owner and Assigned Person on Nafhaa Portal.First Approval Assigned ID and Second Approval Assigned ID – These two fields are required to set the First Approval and Second Approval Assigned Id and it will dependent on the settings enabled in Company Settings on Nafhaa Portal.Source and Stage Name – These two fields are mandatory. Stage will bifurcate the Sales from other and Source will allow you to identify the Sales Source.Type – It defines the type of Invoice it will be. Possible values that this field can carry are – Cash, Credit, Card or AppTransfer. They have to be specified as is.EnableSupplier – This will enable and instruct the API to set the Supplier for the Sales Order and Supplier at Product level.WarrantyStart and WarrantyEnd – These two fields are required when the settings is enabled with Company Settings. |
API CALL | api/Push/Nafhaa?NAuth=<AuthKeyFromNafhaaPortal>&Request=salesorders&Type=json&Data=<Json> |
REQUEST | Post |
RESPONSE | You will receive a JSON response from the server in the following format -{ “Version”: null, “Status”: null, “Message”: null, “Notifications”: [{ “Position”: null, “Message”: null, “Error”: null, “Notify”: null }] } Version – This field denotes the version number for the API called.Status – This will denote the status of operation which can be either Success or Error.Message – This will contain the details of activity that took place with the API Call.Notification – It is a list of Notification which contains – Position – This will denote the position at which the Error has occurred.Message – This will have the additional details for the error that has occurred.Error – This will contain the full-fledged error details.Notify – This will contain the type of Error the receiving system should generate. Possible values are – Error and Warning. |
Tasks
MODULE | TASKS |
JSON FORMAT | [{ “TaskName”: null, “TaskDetails”: null, “CreationDate”: null, “ExpectedStartDate”: null, “ExpectedCompletionDate”: null, “CompletionDate”: null, “AssignedByName”: null, “AssignedToName”: null, “TransferredToName”: null, “TransferredFromName”: null, “Status”: null, “PreviousStatus”: null, “TaskTypeName”: null, “Phone”: null, “TaskPriority”: null, “TaskContactName”: null, “TaskContactNumber”: null, “TaskContactEmail”: null, “TaskContactStateName”: null, “TaskContactAddress”: null, “TaskClosingRemark”: null, “TaskStageName”: null, “TaskStagePriority”: null, “TaskStageColour”: null, “TaskPreviousStageName”: null, “TaskPreviousStagePriority”: null, “TaskPreviousStageColour”: null, “ExpectedTaskTimeinHours”: null, “ActualTaskTimeinHours”: null, “ExpectedTestingTimeinHours”: null, “ActualTestingTimeinHours”: null, “TaskProgress”: null, “ProjectName”: null, “ProjectDetails”: null, “ProjectStartDate”: null, “ProjectEndDate”: null, “ProjectExpectedEndDate”: null, “ProjectManagerUsername”: null, “ProjectRepresentativeUsername”: null, “ProjectContactName”: null, “ProjectContactNumber”: null, “ProjectContactEmail”: null, “ProjectContactStateName”: null, “ProjectContactAddress”: null, “ProjectType”: null, “ProjectStatus”: null, “DaysOff”: 0, “DepartmentName”: null, “MultipleDepartmentNames”: null, “ContactSearch”: null, “UserMode”: null}] |
JSON TYPE | List |
REQUIRED PARAMETERS | UserMode – UserName or DspName. Deafult is set to UserName. This will be applicable to the fields like “ApprovedByName” and “RepresentativeName”.ContactSearch – Expected values are Name or NamePhone. When Name is set then you set the Phone to null and if it is the other than both Name and Phone needs to specified. Date – All date formats are expected to be in – yyyy-MM-dd.Owner ID, Assigned ID and Transferred To ID- These three fields are required to set the Owner, Assigned or Transferred to Person on Nafhaa Portal. The last field is valid only if Task Transfer is enabled in Company Settings.Source and Stage Name – These two fields are mandatory. Stage will bifurcate the Sales from other and Source will allow you to identify the Sales Source.Task Type – It defines the type of Task it will be.Expected Start Date and Expected Completion Date and Completion Date– These dates are important wrt Task Start and Expected completion. When Status is set to Closed, Completion Date is required.Expected Time in Hours and Actual Time in Hours – These two fields are required when creating a Task and it denotes the number of hours required to perform the task.Expected Testing Time in Hours and Actual Testing Time in Hours – These two fields are required when creating a Task and it denotes the number of hours required to perform testing the task.Task Contact fields – These fields will be used to set the Contact Name if required to a specific task.Project Fields – These fields will be used to set the Proejct Details if required to a specific task and is Project Management is enabled in Tasks.Department and Multi-Department – These fields will be required if they are enabled and made compulsory in Company Settings.Status – This is required field. Status can have any one value from – Open, Closed, Pending, Parked or Expired. The value is to be specified as is.Previous Status, Stage – These fields will be required if the Task Transfer feature is enabled in Company Settings. |
API CALL | api/Push/Nafhaa?NAuth=<AuthKeyFromNafhaaPortal>&Request=salesorders&Type=json&Data=<Json> |
REQUEST | Post |
RESPONSE | You will receive a JSON response from the server in the following format -{ “Version”: null, “Status”: null, “Message”: null, “Notifications”: [{ “Position”: null, “Message”: null, “Error”: null, “Notify”: null }] } Version – This field denotes the version number for the API called.Status – This will denote the status of operation which can be either Success or Error.Message – This will contain the details of activity that took place with the API Call.Notification – It is a list of Notification which contains – Position – This will denote the position at which the Error has occurred.Message – This will have the additional details for the error that has occurred.Error – This will contain the full-fledged error details.Notify – This will contain the type of Error the receiving system should generate. Possible values are – Error and Warning. |
Products
MODULE | PRODUCTS |
JSON FORMAT | [{ “Name”: null, “AliasName”: null, “Code”: null, “Division”: null, “Group”: null, “HSN”: null, “TechSpecs”: null, “Description”: null, “ProductType”: null, “SellingPrice”: 0.0, “PurchasePrice”: 0.0, “MRP”: 0.0, “OpeningStock”: 0, “UnitName”: null, “SubDivision”: null, “Discount”: 0.0, “DiscountAmount”: 0.0, “Tax1Name”: null, “Tax1”: 0.0, “Tax2Name”: null, “Tax2”: 0.0, “ChannelCustomerPrice”: 0.0, “ResellerPrice”: 0.0, “WholesellerPrice”: 0.0, “DealerPrice”: 0.0, “DistributorPrice”: 0.0, “StockistPrice”: 0.0, “NationalDistributorPrice”: 0.0, “MinStock”: 0.0, “MaxStock”: 0.0, “Commission”: 0.0, “Expenses”: 0.0, “ProfitMargin”: 0.0, “RawMaterial”: false, “NonInventory”: false, “ProductSearch”: false}] |
JSON TYPE | List |
REQUIRED PARAMETERS | ProductSearch – Expected values are Code and Name. When Code is specified system Expects Product Name and Code to be specified in JSON and when Name is specified Code can be set to null.ProductType – This is required field. Product Type can have any one value from – FinishedProducts or Parts. The value is to be specified as is.Division – This is required field and need to be specified.Unit – You can specify the Product Unit in which it is traded.Selling, Purchase and MRP – These fields are required and must contain a value.Tax1, Tax2 – You can specify these values where Tax1 and Tax2 stands for the Tax that is applicable for the products. If you are outside India then you might probably need only one Tax to be defined.Other Pricings – Other pricing fields like the Channel Customer, National Distributor, Stockiest, etc. are few to name. You can set those values if you fall into that category of trading.Min and Max Stocks – You can set a benchmark for product and set the Min and Max count for the product before the system starts alerting you.Raw Material and Non-Inventory – These two fields are distinct and have different meanings. If the product specified belongs to Raw Material which will be later consumed during Manufacture then you can set RawMaterial flag to true. On the other hand, if the product is for internal consumption then you can set the NonInventory flag to true. |
API CALL | api/Push/Nafhaa?NAuth=<AuthKeyFromNafhaaPortal>&Request=products&Type=json&Data=<Json> |
REQUEST | Post |
RESPONSE | You will receive a JSON response from the server in the following format -{ “Version”: null, “Status”: null, “Message”: null, “Notifications”: [{ “Position”: null, “Message”: null, “Error”: null, “Notify”: null }] } Version – This field denotes the version number for the API called.Status – This will denote the status of operation which can be either Success or Error.Message – This will contain the details of activity that took place with the API Call.Notification – It is a list of Notification which contains – Position – This will denote the position at which the Error has occurred.Message – This will have the additional details for the error that has occurred.Error – This will contain the full-fledged error details.Notify – This will contain the type of Error the receiving system should generate. Possible values are – Error and Warning. |
Contacts
MODULE | CONTACTS |
JSON FORMAT | [{ “Salutation”: null, “Name”: null, “Phone”: null, “Landline”: null, “OfficePhone”: null, “ResidencePhone”: null, “Email”: null, “Address”: null, “ContactType”: null, “StateName”: null, “CityName”: null, “Country”: null, “Pincode”: null, “AreaName”: null, “ContactPersonName”: null, “ContactPersonPhone”: null, “Website”: null, “AdditionalInfo”: null, “Gender”: null, “Religion”: null, “MartialStatus”: null, “MarraigeAnniversary”: null, “DoB”: null, “DoI”: null, “Category”: null, “SubCategory”: null, “CategoryType”: null, “Grade”: null, “CustomerType”: null, “OwnerUser”: null, “AssignedUser”: null, “ChannelCategory”: null, “GSTIN”: null, “EComGSTIN”: null, “PANNumber”: null, “UINID”: null, “GSTRegistrationType”: null, “RCM”: false, “TaxRegistered”: false, “CreditorOpenBalance”: 0.0, “DebtorOpenBalance”: 0.0, “BankName”: null, “BankAccountNumber”: null, “IFSCCode”: null, “Branch”: null, “AccountsEmail”: null, “PurchaseEmail”: null, “ServiceEmail”: null, “SalesEmail”: null, “CreditDays”: 0, “Age”: null, “References”: null, “Source”: null, “DND”: false, “CompanyName”: null, “TPCPType”: null, “UserMode”: null, “ContactSearch”: null}] |
JSON TYPE | List |
REQUIRED PARAMETERS | ContactSearch – Expected values are Name or NamePhone. When Name is set then you set the Phone to null and if it is the other than both Name and Phone needs to specified. UserMode – UserName or DspName. Deafult is set to UserName. This will be applicable to the fields like “OwnerUser” and “AssignedUser”. This is a compulsory field.Salutation – This field will add Salutation to the contact that is being added. This will be applicable if Contact Type is Individual. This field can have any one value from – Mr, Mrs, Miss or Dr. The value is to be specified as is.Contact Type – This field is required. This field can have any one value from – Individual or Organization. The value is to be specified as is.Country – Refer Annex-1.Customer Type – This is required field. This field can have any one value from – Customer, Vendor, General, Importer, Exporter or Agent. The value is to be specified as is.Gender – This field can be skipped but if you want to specify then this field can have any one value from – Male, Female or Transgender. The value is to be specified as is.Marital Status – This is an optional field and is valid when Contact Type is Individual. This field can have any one value from – Single, Married, Divorced or Widowed. The value is to be specified as is.Religion – This is an optional field and can be ignored if not needed. This field can have any one value from – Hindu, Muslim, Christian, Sikh, Buddha or Others. The value is to be specified as is.Channel Category or Category Type – This field will be applicable if you have opted for Channel Management on your portal. This field can have any one value from – DirectCustomer, CustomerFromChannel, Reseller, Wholeseller, Dealer, Distribution, Stockiest or NationalDistributor. The value is to be specified as is.TPCP Type – This field will be applicable if you have opted for Channel Management on your portal. This field can have any one value from – TP or CP. The value is to be specified as is.GST Registration Type – This field is important and is required. This will define the Contact’s GST Registration type. This is applicable only for Country India. This field can have any one value from – Registered, Composition, UINRegistered or Unregistered. The value is to be specified as is.Category, Sub-Category or Grade – These field can be specified and the contacts will be marked to their respective fields.GSTIN, EComGSTIN and UID – These field are important wrt Tax Calculations and other aspects while identifying the contacts. These fields are dependent on GST Registration Type. RCM and TaxRegistered fields need to be set while creating the Contact.Various Emails – There are various email fields which are available based on the Contact Type. When Contact Type is Organization you can set various Email ID provided at the end of JSON format.CompanyName – This field can either be null or you can pass 1 as default. |
API CALL | api/Push/Nafhaa?NAuth=<AuthKeyFromNafhaaPortal>&Request=contacts&Type=json&Data=<Json> |
REQUEST | Post |
RESPONSE | You will receive a JSON response from the server in the following format -{ “Version”: null, “Status”: null, “Message”: null, “Notifications”: [{ “Position”: null, “Message”: null, “Error”: null, “Notify”: null }] } Version – This field denotes the version number for the API called.Status – This will denote the status of operation which can be either Success or Error.Message – This will contain the details of activity that took place with the API Call.Notification – It is a list of Notification which contains – Position – This will denote the position at which the Error has occurred.Message – This will have the additional details for the error that has occurred.Error – This will contain the full-fledged error details.Notify – This will contain the type of Error the receiving system should generate. Possible values are – Error and Warning. |
Sales Return
MODULE | SALES RETURN |
JSON FORMAT | [{ “ContactName”: null, “ContactNumber”: null, “ContactEmail”: null, “ContactStateName”: null, “ContactAddress”: null, “Date”: null, “InvoiceNumber”: null, “InvoiceDate”: null, “OwnerUserName”: null, “AssignedToName”: null, “BranchName”: null, “Amount”: 0.0, “RoundUp”: 0.0, “ProjectName”: null, “ProjectDetails”: null, “ProjectStartDate”: null, “ProjectEndDate”: null, “ProjectExpectedEndDate”: null, “ProjectManagerUsername”: null, “ProjectRepresentativeUsername”: null, “ProjectContactName”: null, “ProjectContactNumber”: null, “ProjectContactEmail”: null, “ProjectContactStateName”: null, “ProjectContactAddress”: null, “ProjectType”: null, “ProjectStatus”: null, “DaysOff”: 0, “UserMode”: null, “ProductSearch”: null, “ContactSearch”: null, “CompanyName”: null, “Products”: [{ “Name”: null, “Code”: null, “Serial”: null, “Batch”: null, “ProductDivision”: null, “ProductType”: null, “SellingPrice”: 0.0, “PurchasePrice”: 0.0, “Quantity”: 0.0, “MRP”: 0.0, “Price”: 0.0, “OpeningStock”: 0, “UnitName”: null, “ProductSubDivision”: null, “Discount”: 0.0, “DiscountAmount”: 0.0, “Tax1Name”: null, “Tax1”: 0.0, “Tax2Name”: null, “Tax2”: 0.0, “Freight”: 0.0, “Fin”: 0.0 }]}] |
JSON TYPE | List |
REQUIRED PARAMETERS | ProductSearch – Expected values are Code and Name. When Code is specified system Expects Product Name and Code to be specified in JSON and when Name is specified Code can be set to null.UserMode – UserName or DspName. Deafult is set to UserName. This will be applicable to the fields like “ApprovedByName” and “RepresentativeName”.ContactSearch – Expected values are Name or NamePhone. When Name is set then you set the Phone to null and if it is the other than both Name and Phone needs to specified. Date – All date formats are expected to be in – yyyy-MM-dd.CompanyName – This is a required field and it is must to pass a value for the same. This should match with the Company Name registered with Nafhaa.Owner ID and Assigned ID – These two fields are required to set the Owner and Assigned Person on Nafhaa Portal.Project Fields – These fields will be used to set the Project Details if required to a specific task and is Project Management is enabled in Tasks.ProductDivision – This field is mandatory to categorize the Product via Division. |
API CALL | api/Push/Nafhaa?NAuth=<AuthKeyFromNafhaaPortal>&Request=salesreturn&Type=json&Data=<Json> |
REQUEST | Post |
RESPONSE | You will receive a JSON response from the server in the following format -{ “Version”: null, “Status”: null, “Message”: null, “Notifications”: [{ “Position”: null, “Message”: null, “Error”: null, “Notify”: null }] } Version – This field denotes the version number for the API called.Status – This will denote the status of operation which can be either Success or Error.Message – This will contain the details of activity that took place with the API Call.Notification – It is a list of Notification which contains – Position – This will denote the position at which the Error has occurred.Message – This will have the additional details for the error that has occurred.Error – This will contain the full-fledged error details.Notify – This will contain the type of Error the receiving system should generate. Possible values are – Error and Warning. |
Purchase Return
MODULE | PURCHASE RETURN |
JSON FORMAT | [{ “ContactName”: null, “ContactNumber”: null, “ContactEmail”: null, “ContactStateName”: null, “ContactAddress”: null, “Date”: null, “InvoiceNumber”: null, “InvoiceDate”: null, “OwnerUserName”: null, “AssignedToName”: null, “BranchName”: null, “Amount”: 0.0, “RoundUp”: 0.0, “ProjectName”: null, “ProjectDetails”: null, “ProjectStartDate”: null, “ProjectEndDate”: null, “ProjectExpectedEndDate”: null, “ProjectManagerUsername”: null, “ProjectRepresentativeUsername”: null, “ProjectContactName”: null, “ProjectContactNumber”: null, “ProjectContactEmail”: null, “ProjectContactStateName”: null, “ProjectContactAddress”: null, “ProjectType”: null, “ProjectStatus”: null, “DaysOff”: 0, “UserMode”: null, “ProductSearch”: null, “ContactSearch”: null, “CompanyName”: null, “Products”: [{ “Name”: null, “Code”: null, “Serial”: null, “Batch”: null, “ProductDivision”: null, “ProductType”: null, “SellingPrice”: 0.0, “PurchasePrice”: 0.0, “Quantity”: 0.0, “MRP”: 0.0, “Price”: 0.0, “OpeningStock”: 0, “UnitName”: null, “ProductSubDivision”: null, “Discount”: 0.0, “DiscountAmount”: 0.0, “Tax1Name”: null, “Tax1”: 0.0, “Tax2Name”: null, “Tax2”: 0.0, “Freight”: 0.0, “Fin”: 0.0 }]}] |
JSON TYPE | List |
REQUIRED PARAMETERS | ProductSearch – Expected values are Code and Name. When Code is specified system Expects Product Name and Code to be specified in JSON and when Name is specified Code can be set to null.UserMode – UserName or DspName. Deafult is set to UserName. This will be applicable to the fields like “ApprovedByName” and “RepresentativeName”.ContactSearch – Expected values are Name or NamePhone. When Name is set then you set the Phone to null and if it is the other than both Name and Phone needs to specified. Date – All date formats are expected to be in – yyyy-MM-dd.CompanyName – This is a required field and it is must to pass a value for the same. This should match with the Company Name registered with Nafhaa.Owner ID and Assigned ID – These two fields are required to set the Owner and Assigned Person on Nafhaa Portal.Project Fields – These fields will be used to set the Project Details if required to a specific task and is Project Management is enabled in Tasks.ProductDivision – This field is mandatory to categorize the Product via Division. |
API CALL | api/Push/Nafhaa?NAuth=<AuthKeyFromNafhaaPortal>&Request=purchasereturn&Type=json&Data=<Json> |
REQUEST | Post |
RESPONSE | You will receive a JSON response from the server in the following format -{ “Version”: null, “Status”: null, “Message”: null, “Notifications”: [{ “Position”: null, “Message”: null, “Error”: null, “Notify”: null }] } Version – This field denotes the version number for the API called.Status – This will denote the status of operation which can be either Success or Error.Message – This will contain the details of activity that took place with the API Call.Notification – It is a list of Notification which contains – Position – This will denote the position at which the Error has occurred.Message – This will have the additional details for the error that has occurred.Error – This will contain the full-fledged error details.Notify – This will contain the type of Error the receiving system should generate. Possible values are – Error and Warning. |
Quotation
MODULE | QUOTATION |
JSON FORMAT | [{ “QuotationNumber”: null, “ContactName”: null, “ContactNumber”: null, “ContactEmail”: null, “ContactStateName”: null, “ContactAddress”: null, “SupplierName”: null, “SupplierNumber”: null, “SupplierEmail”: null, “SupplierStateName”: null, “SupplierAddress”: null, “ShippingAddress”: null, “Status”: null, “SourceName”: null, “StageName”: null, “TypeName”: null, “Date”: null, “ClosingType”: null, “ClosingDate”: null, “LostReason”: null, “OwnerUserName”: null, “AssignedToName”: null, “FirstApprovalToName”: null, “SecondApprovalToName”: null, “BranchName”: null, “AdditionalInfo”: null, “ReferenceName”: null, “ReferencePhone”: null, “Reference”: null, “DeliveryTerms”: null, “DeliveryDate”: null, “Discount”: 0, “DiscountAmount”: 0, “LumpsumDiscount”: 0, “BaseCurrency”: null, “ToCurrency”: null, “ConversionRate”: null, “RevisionNumber”: null, “SEZ”: null, “EPZ”: null, “ProjectName”: null, “ProjectDetails”: null, “ProjectStartDate”: null, “ProjectEndDate”: null, “ProjectExpectedEndDate”: null, “ProjectManagerUsername”: null, “ProjectRepresentativeUsername”: null, “ProjectContactName”: null, “ProjectContactNumber”: null, “ProjectContactEmail”: null, “ProjectContactStateName”: null, “ProjectContactAddress”: null, “ProjectType”: null, “ProjectStatus”: null, “DaysOff”: 0, “GSTMode”: null, “UserMode”: null, “ProductSearch”: null, “ContactSearch”: null, “SupplierSearch”: null, “CompanyName”: null, “Products”: [{ “Name”: null, “Code”: null, “Serial”: null, “Batch”: null, “Barcode”: null, “ProductDivision”: null, “ProductType”: null, “SellingPrice”: 0, “PurchasePrice”: 0, “Quantity”: 0, “MRP”: 0, “OpeningStock”: 0, “UnitName”: null, “ProductSubDivision”: null, “Discount”: 0, “DiscountAmount”: 0, “Tax1Name”: null, “Tax1”: 0, “Tax2Name”: null, “Tax2”: 0, “Freight”: 0, “Fin”: 0, “BaseCurrency”: null, “ToCurrency”: null, “ConversionRate”: null, “ServiceChargesExtra”: false, “ServiceChargesTax1”: null, “ServiceChargesPercent1”: 0, “ServiceChargesTax2”: null, “ServiceChargesPercent2”: 0, “ServiceRate”: 0, “DeliveryDate”: null, “DeliveryTerms”: null, “Terms”: null, “EnableSupplier”: null, “SupplierSearch”: null, “SupplierName”: null, “SupplierNumber”: null, “SupplierEmail”: null, “SupplierStateName”: null, “SupplierAddress”: null }] }] |
JSON TYPE | List |
REQUIRED PARAMETERS | ProductSearch – Expected values are Code and Name. When Code is specified system Expects Product Name and Code to be specified in JSON and when Name is specified Code can be set to null.UserMode – UserName or DspName. Deafult is set to UserName. This will be applicable to the fields like “ApprovedByName” and “RepresentativeName”.ContactSearch and SupplierSearch – Expected values are Name or NamePhone. When Name is set then you set the Phone to null and if it is the other than both Name and Phone needs to specified. This is applicable to both Contact and Supplier. If you observe the Product section, you will find Supplier details which is used to assign supplier to each product. Even this will follow the same flow. But additionally, you need to enable Supplier is Product.Date – All date formats are expected to be in – yyyy-MM-dd.CompanyName – This is a required field and it is must to pass a value for the same. This should match with the Company Name registered with Nafhaa.Owner ID and Assigned ID – These two fields are required to set the Owner and Assigned Person on Nafhaa Portal.First Assigned ID and Second Assigned ID – These two fields are required to set the First and Second Assigned Person on Nafhaa Portal. This will be applicable if One/Two stage is enabled on portal. User identification will be similar to Point-2 above.Source and Stage Name – These two fields are mandatory. Stage will bifurcate the Sales from other and Source will allow you to identify the Sales Source.Status – This is required field. Status can have any one value from – Open, Closed, Pending, Parked or Expired. The value is to be specified as is.ClosingType – Closing Type can have any one value from – Won, Lost, or Revised. The value is to be specified as is. If the value is set to Lost then Lost Reason is required. If the value is set to Revised then Revision number is required. Additionally, Closing Date is required when it is set.Type – Type can have any one value from – Hot, Warm or Cold. The value is to be specified as is. You can skip this field if not required. But we suggest you to specify it.GSTMode – GSTMode deals with GST Calculation and it required and can have possible values – Composite or Mixed.SEZ and EPZ – These fields can carry null, true or false values. This is applicable if you are dealing in these zones.Discount, DiscountAmount or Lumpsum Discount – We have provided an option to assign Discounts in various modes. But be careful while assigning values to discount as it will affect your final Quotation value. Discount is where you specify Discount in percentage and other two are where you can specify discount in Amount.Base, To Currency and Conversion Amount – These field will allow you to specify the Base and To Currency when you are dealing with other Countries. Also, you need to specify the Conversion Amount for the combination. This is applicable in Product section also.Project Fields – These fields will be used to set the Project Details if required to a specific Quotation and if Project Management is enabled in Quotation.ProductDivision – This field is mandatory to categorize the Product via Division.ProductFields – These fields are very much similar to other modules. Where you need to specify the Name and Code based on the settings defined.Service Charges fields – These fields are optional and can be skipped if you are not using Service Charges at Product. But if you are using it then you need to specify all the details that in JSON format. |
API CALL | api/Push/Nafhaa?NAuth=<AuthKeyFromNafhaaPortal>&Request=quotation&Type=json&Data=<Json> |
REQUEST | Post |
RESPONSE | You will receive a JSON response from the server in the following format -{ “Version”: null, “Status”: null, “Message”: null, “Notifications”: [{ “Position”: null, “Message”: null, “Error”: null, “Notify”: null }] } Version – This field denotes the version number for the API called.Status – This will denote the status of operation which can be either Success or Error.Message – This will contain the details of activity that took place with the API Call.Notification – It is a list of Notification which contains – Position – This will denote the position at which the Error has occurred.Message – This will have the additional details for the error that has occurred.Error – This will contain the full-fledged error details.Notify – This will contain the type of Error the receiving system should generate. Possible values are – Error and Warning. |
Visit Management
MODULE | VISIT MANAGEMENT |
URL | <domainname>/api/Push/Nafhaa/Visits |
TYPE | json |
REQUIRED PARAMETERS | Type – jsonUsername – Username of the user.Password – Password for the user.Contact – Contact Name as string from drop-down or any other text field.ActivityDateTime – Date and Time of Visit to the location. Format should be yyyy-MM-dd HH:mm:ss.ActivityType – 1. In or 2. Out. Represents the Activity of Visit Punch.Coords – Co-ordinates of the Mobile Device punching the Visit details.Location – Location Name obtained from Co-ordinates.Details – Details of Visit as text. |
API CALL | /api/Push/Nafhaa/Visits?Type=json&Username=<username>&Password=<password>&Contact=<contactname>&ActivityDateTime=<DateTime>&AcitvityType=<Type>&Coords=<coordinates>&Location=<location>&Details=<Details> |
REQUEST | GET |
RESPONSE | You will receive a JSON response from the server in the following format -{ “Status”: null, “Message”: null} Status – This will denote the status of operation which can be either Success or Error.Message – This will contain the details of activity that took place with the API Call. |
Company
MODULE | COMPANY |
JSON FORMAT | { “Id”: null, “Name”: null, “Mode”: null } |
JSON TYPE | – |
REQUIRED PARAMETERS | Mode – Mode will instruct the system to find the record based on the specified parameter. Mode can have either of two values – Id or NameId – Id field will be required when Mode is set to Id.Name – Name field will be required when Mode is set to Name. Here, the Company Name should be passed as is which is defined in Company Settings. |
API CALL | api/Push/Nafhaa/Company?NAuth=<AuthKeyFromNafhaaPortal>&Data=<Json> |
REQUEST | GET |
RESPONSE | You will receive a JSON response from the server in the following format -{ “Version”: null, “Status”: null, “Message”: null, “Notifications”: [{ “Position”: null, “Message”: null, “Error”: null, “Notify”: null }] } Version – This field denotes the version number for the API called.Status – This will denote the status of operation which can be either Success or Error.Message – This will contain the details of activity that took place with the API Call.Notification – It is a list of Notification which contains – Position – This will denote the position at which the Error has occurred.Message – This will have the additional details for the error that has occurred.Error – This will contain the full-fledged error details.Notify – This will contain the type of Error the receiving system should generate. Possible values are – Error and Warning. |
RESPONSE – 1 | You will get the above response when you have passed a wrong Company Id. You will get the above response when you have passed a wrong Company Name. |
RESPONSE – 2 | You will get the above response when all the criteria are in place in both the cases when Mode is set to Id or Name. |
Users
MODULE | USERS |
JSON FORMAT | { “Id”: null, “Name”: null, “Mode”: null } |
JSON TYPE | – |
REQUIRED PARAMETERS | Mode – Mode will instruct the system to find the record based on the specified parameter. Mode can have either of two values – Id or UserName.Id – Id field will be required when Mode is set to Id.Name – Name field will be required when Mode is set to Name. Here, the Company Name should be passed as is which is defined in Company Settings. |
API CALL | api/Push/Nafhaa/Users?NAuth=<AuthKeyFromNafhaaPortal>&Data=<Json> |
REQUEST | GET |
RESPONSE | You will receive a JSON response from the server in the following format -{ “Version”: null, “Status”: null, “Message”: null, “Notifications”: [{ “Position”: null, “Message”: null, “Error”: null, “Notify”: null }] } Version – This field denotes the version number for the API called.Status – This will denote the status of operation which can be either Success or Error.Message – This will contain the details of activity that took place with the API Call.Notification – It is a list of Notification which contains – Position – This will denote the position at which the Error has occurred.Message – This will have the additional details for the error that has occurred.Error – This will contain the full-fledged error details.Notify – This will contain the type of Error the receiving system should generate. Possible values are – Error and Warning. |
RESPONSE – 1 | You will get the above response when you have passed a wrong User Id. You will get the above response when you have passed a wrong User Name. |
RESPONSE – 2 | You will get the above response when all the criteria are in place in both the cases when Mode is set to Id or UserName. |
City
MODULE | CITY |
JSON FORMAT | { “CityName”: null, “State”: null, “Country”: null, “CountryId”: null } |
JSON TYPE | List |
REQUIRED PARAMETERS | CityName – The Name of the City. It is Required fieldState – This represents the State Name in which the City resides. This is an optional field. If specified the State will searched and the same will be set.Country – This represents the Country Name in which the City resides. This is an optional field. If specified the Country will searched and the same will be set.CountryId – You can either set the Country Id if you know or you may pass the countries name as is in text. Country Id has a precedence to Country field. |
API CALL | api/Push/Nafhaa?NAuth=<AuthKeyFromNafhaaPortal>&Request=city&Type=json&Data=<Json> |
REQUEST | POST |
RESPONSE | You will receive a JSON response from the server in the following format -{ “Version”: null, “Status”: null, “Message”: null, “Notifications”: [{ “Position”: null, “Message”: null, “Error”: null, “Notify”: null }] } Version – This field denotes the version number for the API called.Status – This will denote the status of operation which can be either Success or Error.Message – This will contain the details of activity that took place with the API Call.Notification – It is a list of Notification which contains – Position – This will denote the position at which the Error has occurred.Message – This will have the additional details for the error that has occurred.Error – This will contain the full-fledged error details.Notify – This will contain the type of Error the receiving system should generate. Possible values are – Error and Warning. |
RESPONSE – 1 | You will get the above response when you have passed all the values are correct. |
RESPONSE – 2 | You will get the above response when City name is missing. |