PNG Connection Verification

1 endpoint · Core API

The PNG Connection Verification API ensures secure authentication of PNG connections using either Consumer ID or Business Partner number. It offers reliable verification for both individual consumers and businesses, enhancing trust and security in the connection process.

Benefits

  • 1. Streamlines the verification process for PNG connections
  • 2. Enhances security by preventing unauthorized access
  • 3. Provides peace of mind to consumers and businesses
  • 4. Ensures the legitimacy of PNG connections, reducing the risk of fraud

What you can do

This API authenticates PNG connections based on Consumer ID or Business Partner number, providing secure verification of connections for both consumers and businesses

One PNG biller is live today — Adani Gas (AG).

Pass it in the serviceProvider field of the request. Any other provider code will be rejected.

Need another PNG distributor? Share the list with your SignCare account manager and we will check availability with our source.

Supported PNG service providers

#Service providerserviceProvider code
1Adani GasAG

Request notes

  • serviceProvider is required. Use AG.
  • consumerId is required: the consumer ID of the gas connection, as printed on the bill.
  • bpNo is optional: the business partner number from the bill.
  • Field names are camelCase (serviceProvider, consumerId, bpNo), unlike most other APIs, which use snake_case.
POST

/api/v1/png/verify

#

Get PNG Connection Verification details

docs.signcare.io/core/api/utility-bills/png-connection-verification/#post-api-v1-png-verify

Headers

  • X-API-KEY
    stringrequired
    Your secret API key for the environment you are calling (Stage and Live use different keys).
  • X-API-APP-ID
    stringrequired
    The App ID issued together with the key.
  • Content-Type
    stringrequired
    application/json

Body parameters

application/json
  • consent
    stringrequired
    Required. The end user's consent to this verification. Send `Y`.
    minLength 1default Y
  • consent_text
    stringrequired
    Required. The consent statement shown to the end user. Send the default text from the sample.
    minLength 1default I hear by declare my consent agreeme…
  • request_id
    stringoptional
    Optional. Your own id to correlate this call in your logs. A unique id is generated if you leave it out.
    nullable
  • serviceProvider
    stringrequired
    Required. Code of the piped natural gas (PNG) provider. Currently only "AG" (Adani Gas) is supported.
    minLength 1default AG
  • consumerId
    stringrequired
    Required. Consumer ID (customer number) of the gas connection, as printed on the bill.
    minLength 1default 1000012345
  • bpNo
    stringoptional
    Optional. Business partner number from the gas bill. Leave it out if you do not have it.
    nullable
Sample request body
{ "consent": "Y", "consent_text": "I hear by declare my consent agreement for fetching my information via SignCare API", "serviceProvider": "AG", "consumerId": "1000012345" }

Responses

200OK
  • success
    booleanoptional
    No description.
  • statusCode
    integer (int32)optional
    No description.
    default 200
  • message
    stringoptional
    No description.
    nullabledefault XXXXX
  • data
    objectoptional
    Response model containing PNG bill and customer details.
    8 fields
    • bill_No
      stringoptional
      Gets or sets the bill number.
      nullable
    • due_Date
      stringoptional
      Gets or sets the bill due date.
      nullable
    • bill_Amount
      stringoptional
      Gets or sets the bill amount.
      nullable
    • mobile
      stringoptional
      Gets or sets the customer's mobile number.
      nullable
    • customer_Address
      stringoptional
      Gets or sets the customer's address.
      nullable
    • bill_Date
      stringoptional
      Gets or sets the bill generation date.
      nullable
    • email
      stringoptional
      Gets or sets the customer's email address.
      nullable
    • customer_Name
      stringoptional
      Gets or sets the customer's name.
      nullable
  • messages
    array<string>optional
    No description.
    nullable
  • request_id
    stringoptional
    No description.
    nullable
  • isBillable
    booleanoptional
    Whether this request was charged: true if it was, false if not. Errors always show false. Flows that finish later (ITR Fetch, SHCIL eStamp, DigiLocker, eSign) show false here, because the charge is made when the result is ready. eSign charges each signer when they complete signing. DigiLocker deducts the credit when the link is created and refunds it automatically if the link expires before the user completes it.
Example
{ "success": false, "statusCode": 200, "message": "XXXXX", "data": { "bill_No": "string", "due_Date": "string", "bill_Amount": "string", "mobile": "string", "customer_Address": "string", "bill_Date": "string", "email": "string", "customer_Name": "string" }, "messages": [ "string" ], "request_id": "string", "isBillable": false }
400Bad Request
  • data
    objectoptional
    No description.
  • messages
    array<string>optional
    No description.
    nullable
  • request_id
    stringoptional
    No description.
    nullable
  • success
    booleanoptional
    No description.
    default false
  • message
    stringoptional
    No description.
    nullabledefault XXXXX
  • isBillable
    booleanoptional
    No description.
  • statusCode
    integer (int32)optional
    No description.
    default 400
Example
{ "data": {}, "messages": [ "string" ], "request_id": "string", "success": false, "message": "XXXXX", "isBillable": false, "statusCode": 400 }
401Unauthorized
  • data
    objectoptional
    No description.
  • messages
    array<string>optional
    No description.
    nullable
  • request_id
    stringoptional
    No description.
    nullable
  • success
    booleanoptional
    No description.
    default false
  • message
    stringoptional
    No description.
    nullabledefault XXXXX
  • isBillable
    booleanoptional
    No description.
  • statusCode
    integer (int32)optional
    No description.
    default 401
Example
{ "data": {}, "messages": [ "string" ], "request_id": "string", "success": false, "message": "XXXXX", "isBillable": false, "statusCode": 401 }
500Internal Server Error
  • data
    objectoptional
    No description.
  • messages
    array<string>optional
    No description.
    nullable
  • request_id
    stringoptional
    No description.
    nullable
  • success
    booleanoptional
    No description.
    default false
  • message
    stringoptional
    No description.
    nullabledefault XXXXX
  • isBillable
    booleanoptional
    No description.
  • statusCode
    integer (int32)optional
    No description.
    default 500
Example
{ "data": {}, "messages": [ "string" ], "request_id": "string", "success": false, "message": "XXXXX", "isBillable": false, "statusCode": 500 }
Code samplescurl · Node.js · Python
Stage: uat-ext.signcare.io
curl -X POST 'https://uat-ext.signcare.io/api/v1/png/verify' \ -H 'X-API-KEY: YOUR_API_KEY' \ -H 'X-API-APP-ID: YOUR_APP_ID' \ -H 'Content-Type: application/json' \ -d '{ "consent": "Y", "consent_text": "I hear by declare my consent agreement for fetching my information via SignCare API", "serviceProvider": "AG", "consumerId": "1000012345" }'