Track GST Return API
API Method: GET
URL For Production : https://gstapi.charteredinfo.com/commonapi/v1.0/Returns
URL For Sandbox : https://gstsandbox.charteredinfo.com/commonapi/v1.0/Returns
Headers Parameters
Property
|
Description
|
Data Type
|
aspid
|
AspUserId provided by GSP.
|
String
|
asp-secret
|
Encrypt AspPassword (Asp Secret Key) provided by GSP for pass through API access, Encrypted using AspEK (received in GetKey API)
Sample:
request.AddHeader("asp-secret", AesEncryptBase64(“Asp Secret Key”,AspEK)) [Algorithm: AES/ECB/PKCS7]
|
String
|
session-id
|
SessionID. ASP may create multiple Sessions.
|
string
|
txn
|
Unique Transaction ID even if calling GSP Service API. (Requires only once, which you are already passing as requirement for GST API.)
|
string
|
appver
|
Application Name and Version calling API. (Optional but Recommended)
|
string
|
Content-Type
|
application/json; charset=utf-8
|
string
|
ip-usr
|
123.123.123.123
|
string
|
Query Parameters
Property
|
Description
|
Data Type
|
action
|
"RETTRACK"
|
String
|
gstin
|
GSTIN of TaxPayer to Search for.
|
String
|
fy
|
Financial Year (YYYY-YY)
|
String
|
type (Optional)
|
R1 or R2, etc
|
String
|
Sample for URL Based API:
https://gstapi.charteredinfo.com/commonapi/v1.0/returns?Action=RETTRACK&Gstin=GSTINOfTaxPayerToSearch&fy=2017-18
Header Parameter:
request.AddHeader("asp-secret", AesEncryptBase64(“Asp Secret Key”,AspEK)) [Algorithm: AES/ECB/PKCS7]
request.AddHeader("session-id", “session_id Received in GetKey API Response”);
request.AddHeader("aspid", "ASPID");
request.AddHeader("txn", "Unique Transaction ID");
request.AddHeader("Content-Type", "application/json; charset=utf-8");
Method in TaxProGST.API Lib:
public async static Task<TxnRespWithObj<EFiledReturn>> ViewAndTrackAllReturnAsync(APISession ApiSession, string FinancialYear, bool LogResponseJson = false)
//================================================
//AES Encrypt Payload - Payload (Sample C# Code)
//================================================
public static string AesEncryptBase64(string payLoad, string key)
{
using(AesManaged AesM = new AesManaged())
{
AesM.Key = Convert.FromBase64String(key);
AesM.Mode = CipherMode.ECB;
AesM.Padding = PaddingMode.PKCS7;
byte[] bytPayload = Convert.FromBase64String(payLoad);
ICryptoTransform crypt = AesM.CreateEncryptor();
return Convert.ToBase64String(crypt.TransformFinalBlock(bytPayload, 0, bytPayload.Length));
}
}