e-Way Bill API
User Guide
 
×
Menu
Index
  • Support For Multiple IRP

Support For Multiple IRP

TaxPro GSP supports  E-Way Bill Interoperable services.  ASPs may give control of the same to their end users through their UI.
 
At e-Waybill1 System, you can access the services namely ‘Get E-way bill’, ‘Part B updation’ of e-Waybill2 System and vice versa.
 
That is, e-Waybills generated at eWaybill2 System can be retrieved and part B can be updated from e-Waybill1 System.
 
Similarly, e-waybills of e-Waybill1 can be retrieved and part B can be updated from eWaybill 2. e-Waybill2 system synchronises the e-Waybill details with e-Waybill1 System within a few seconds. 
 
In the absence of ‘irp’ & 'irpurl' header parameter, by default it will be considered as irp=NIC1 & irpurl = e-Waybill1 directly.
 
APIs available for criss-cross operations between these sites are.
 Get E way bill
 Part B updation
 
 
How to Use Multiple IRP by ASP?
1. API user / developer has to pass 'irpurl' parameter either in Header or Query as value 1 (for e-Waybill1) or 2 (for e-Waybill2).
2. API user / developer has to pass 'irp' parameter either in Header or Query as value 1 (for NIC IRP-1) or 2 (for NIC IRP-2).
 
EWB generated on particular IRP would be recognized  by any IRP. (i.e.EWB generated by IRP 1 would be recognized by IRP 2 and vice versa.)
 
How to know perticular EWBNo Generated on which portal
If 3rd Caracter Of ewayBillNo is in the range of 1 to 7 => it indicates ewayBillNo generated on e-Waybill1 Portal
If 3rd Caracter Of ewayBillNo is 8 or 9 => it indicates ewayBillNo generated on e-Waybill2 Portal
 
.Net Framework library and Java library Users have to do following changes in UI
 
1. Provide the access to select irp url and irp value through UI as shown below
 
 
2. On SelectedIndexChanged of IRPUrl, Assign selected value of irpurl to EwbSession.EwbApiLoginDetails.IRPUrl
 
      private void cmbIRPUrl_SelectedIndexChanged(object sender, EventArgs e)
        {
            EwbSession.EwbApiLoginDetails.IRPUrl = (cmbIRPUrl.SelectedItem as dynamic).Value;
        }
 
3. On SelectedIndexChanged of IRP, Assign selected value of irp to EwbSession.SelIRP
 
private void cmbIRP_SelectedIndexChanged(object sender, EventArgs e)
        {
            EwbSession.SelIRP = (cmbIRP.SelectedItem as dynamic).Value;
        }
 
Below changes For Multiple Taxpayer to handle inter operability
 
i. One more paramater SelIrp with default value 1 added to ewbSession constructior.  Library Users needs to maintain 2 seperate ewbApiLoginDetails.  NIC UserName and Password for both IRP is same and Library will store same AuthToken and SEK in 2 seperate eInvApiLoginDetails.  If you are using default values in ewbSession (default true for second paramater LoadAPILoginDetailsFromConfigFile), library will automatically create 2 ewbApiLoginDetails entries EwbApiLoginDetails.json config file.  Also library will take care of updating respective entries on internally refreshing AuthToken.
 
For Example: public TPSession(int TPID, int SelIrp) : base(true, false, SelIrp)
 
 
ii.  RefreshAuthTokenCompleted event will get AuthTokenEventArg where event handler should read SelIrp value from AuthTokenEventArg and save or update respective IRP AuthToken and SEK;
 
For Example:
private void SaveNewAuthToken(object sender, AuthTokenEventArg e)
              {
                    //Write your code to save New AuthToken, SEK to DB for TaxPayerID and SelIRP
                    UpdateDatabase(TaxPayerID, e.SelIrp);
}
 
iii.  New event SelIrpChanged added in case user wants to change SelectedIrp by assigning directly to SelIRP in already created eInvoiceSession object.  This event may be used to Load APILoginDetails of changed IRP by reading SelIrp from SelIrpChangedEventArg.  This would be useful if you are using Singleton eInvoiceSession.
 
For Example:
private void SelectedIPRChanged(object? sender, SelIrpChangedEventArg e)
             {
                //Load LoginDetails for e.SelIrp  in eInvSession.
                 DisplayApiLoginDetails(TaxPayerID, e.SelIrp);
             }
 
5. New Error Codes
117
This option is not enabled in Eway Bill2  
118
Try after 5 minutes
444
This Ewaybill cannot be cancelled as it is generated from NIC1
445
This Ewaybill cannot be cancelled as it is generated from NIC2
446
Transport details cannot be updated here as it is generated from NIC1
447
Transport details cannot be updated here as it is generated from NIC2
448
Part B cannot be updated as this Ewaybill Part A is generated in NIC1 
449
Part B cannot be updated as this Ewaybill Part A is generated in NIC2
452
Consolidate Ewaybill cannot be generated as this Ewaybill Part A is generated in NIC2