GenEWBAsync method have two overload
(awaitable)System.Threading.Tasks.Task<TxnRespWithObjAndInfo<RespGenEwbPl>>EWBAPI.GenEWBAsync(EWBSession EwbSession, ReqGenEwbPl ewbGen, bool LogJsonFile = false)
(awaitable)System.Threading.Tasks.Task<TxnRespWithObjAndInfo<RespGenEwbPl>>EWBAPI.GenEWBAsync(EWBSession EwbSession, string ewbGen, bool LogJsonFile = false)
Sample code with sample value
private async void btnGenEWB_Click(object sender, EventArgs e)
{
ReqGenEwbPl ewbGen = new ReqGenEwbPl();
ewbGen.supplyType = "O";
ewbGen.subSupplyType = "1";
ewbGen.subSupplyDesc = "";
ewbGen.docType = "INV";
ewbGen.docNo = "60-19890";
ewbGen.docDate = "25/07/2025";
ewbGen.fromGstin = "34AACCC1596Q002";
ewbGen.fromTrdName = "welton";
ewbGen.fromAddr1 = "2ND CROSS NO 59 19 A";
ewbGen.fromAddr2 = "GROUND FLOOR OSBORNE ROAD";
ewbGen.fromPlace = "FRAZER TOWN";
ewbGen.fromPincode = 605001;
ewbGen.fromStateCode = 34;
ewbGen.actFromStateCode = 34;
ewbGen.toGstin = "05AAACG0904A1ZL";
ewbGen.toTrdName = "sthuthya";
ewbGen.toAddr1 = "Shree Nilaya";
ewbGen.toAddr2 = "Dasarahosahalli";
ewbGen.toPlace = "Beml Nagar";
ewbGen.toPincode = 263652;
ewbGen.toStateCode = 05;
ewbGen.actToStateCode = 05;
ewbGen.transactionType = 1;
ewbGen.dispatchFromGSTIN = "";
ewbGen.dispatchFromTradeName = "ABC Traders";
ewbGen.shipToGSTIN = "";
ewbGen.shipToTradeName = "XYZ Traders";
ewbGen.otherValue = -100;
ewbGen.totalValue = 0;
ewbGen.cgstValue = 0;
ewbGen.sgstValue = 0;
ewbGen.igstValue = 0;
ewbGen.cessValue = 0;
ewbGen.cessNonAdvolValue = 400;
ewbGen.transporterId = "12AACCC1596Q002";
ewbGen.transporterName = "";
ewbGen.transDocNo = "";
ewbGen.totInvValue = 0;
ewbGen.transMode = "";
ewbGen.transDistance = "0";
ewbGen.transDocDate = "";
ewbGen.vehicleNo = "";
ewbGen.vehicleType = "R";
ewbGen.itemList = new List<ReqGenEwbPl.ItemListInReqEWBpl>();
ewbGen.itemList.Add(new ReqGenEwbPl.ItemListInReqEWBpl
{
productName = "Wheat",
productDesc = "Wheat",
hsnCode = 1001,
quantity = 4,
qtyUnit = "BOX",
cgstRate = 0,
sgstRate = 0,
igstRate = 0,
cessRate = 0,
cessNonAdvol = 0,
taxableAmount = 0
}
);
ewbGen.itemList.Add(new ReqGenEwbPl.ItemListInReqEWBpl
{
productName = "Steel",
productDesc = "Steel",
hsnCode = 7213,
quantity = 4,
qtyUnit = "BOX",
cgstRate = 0,
sgstRate = 0,
igstRate = 0,
cessRate = 0,
cessNonAdvol = 0,
taxableAmount = 0
}
);
string a = JsonConvert.SerializeObject(ewbGen);
TxnRespWithObjAndInfo<RespGenEwbPl> TxnResp = await EWBAPI.GenEWBAsync(EwbSession, ewbGen);
if (TxnResp.IsSuccess){
// Data is in TxnResp.RespObj
}
else
{
//Check for error "The distance between the pincodes given is too high"
if (TxnResp.TxnOutcome.Contains("702") && !string.IsNullOrEmpty(TxnResp.Info))
{
RespInfoPl respInfoPl = new RespInfoPl();
respInfoPl = JsonConvert.DeserializeObject<RespInfoPl>(TxnResp.Info);
//You can retrive respInfoPl attributes here
ewbGen.transDistance = respInfoPl.distance;
//Call GenEWB API again
TxnResp = await EWBAPI.GenEWBAsync(EwbSession, ewbGen);
if (TxnResp.IsSuccess){
//TxnResp.RespObj
}
else {
//TxnResp.TxnOutcome;
}
}
}
}