143 lines
3.4 KiB
Markdown
143 lines
3.4 KiB
Markdown
# Step-by-Step Guide: Testing Setu PAN API
|
|
|
|
This guide will help you test the Setu PAN API with static/hardcoded values.
|
|
|
|
## Prerequisites
|
|
|
|
1. **Node.js installed** - Make sure you have Node.js installed on your system
|
|
2. **Dependencies installed** - All npm packages should be installed
|
|
|
|
## Step-by-Step Instructions
|
|
|
|
### Step 1: Navigate to the Project Directory
|
|
|
|
Open your terminal/command prompt and navigate to the project directory:
|
|
|
|
```bash
|
|
cd "C:\Users\front\Desktop\files 4\verify-india-api"
|
|
```
|
|
|
|
### Step 2: Verify Dependencies are Installed
|
|
|
|
Check if `node_modules` folder exists. If not, install dependencies:
|
|
|
|
```bash
|
|
npm install
|
|
```
|
|
|
|
This will install all required packages including `axios` which is needed for the API call.
|
|
|
|
### Step 3: Run the Test Script
|
|
|
|
You can run the test in two ways:
|
|
|
|
#### Option A: Using npm script (Recommended)
|
|
```bash
|
|
npm run test-setu-static
|
|
```
|
|
|
|
#### Option B: Direct node command
|
|
```bash
|
|
node scripts/test-setu-api-static.js
|
|
```
|
|
|
|
### Step 4: Check the Results
|
|
|
|
The script will:
|
|
- ✅ Show request details (URL, headers, body)
|
|
- ✅ Send the request to Setu API
|
|
- ✅ Display the response if successful
|
|
- ❌ Show error details if it fails
|
|
|
|
## Expected Output
|
|
|
|
### Success Case:
|
|
```
|
|
🧪 Testing Setu PAN API with Static Values
|
|
|
|
======================================================================
|
|
|
|
📋 Request Details:
|
|
URL: https://dg-sandbox.setu.co/api/verify/pan
|
|
Method: POST
|
|
...
|
|
|
|
🚀 Sending request to Setu API...
|
|
|
|
✅ SUCCESS! API is working correctly!
|
|
|
|
======================================================================
|
|
|
|
📊 Response Details:
|
|
Status Code: 200 OK
|
|
Response Time: 1234ms
|
|
...
|
|
|
|
✅ Test completed successfully!
|
|
```
|
|
|
|
### Error Case:
|
|
If there's an error, the script will show:
|
|
- Status code
|
|
- Error message
|
|
- Possible issues and solutions
|
|
|
|
## What the Script Tests
|
|
|
|
The script makes a POST request to Setu API with:
|
|
- **URL**: `https://dg-sandbox.setu.co/api/verify/pan`
|
|
- **Headers**:
|
|
- `Content-Type: application/json`
|
|
- `x-client-id: 292c6e76-dabf-49c4-8e48-90fba2916673`
|
|
- `x-client-secret: 7IZMe9zvoBBuBukLiCP7n4KLwSOy11oP`
|
|
- `x-product-instance-id: 439244ff-114e-41a8-ae74-a783f160622d`
|
|
- **Body**:
|
|
```json
|
|
{
|
|
"pan": "ABCDE1234A",
|
|
"consent": "Y",
|
|
"reason": "Testing"
|
|
}
|
|
```
|
|
|
|
## Troubleshooting
|
|
|
|
### Error: "Cannot find module 'axios'"
|
|
**Solution**: Run `npm install` to install dependencies
|
|
|
|
### Error: "Network Error" or "ECONNREFUSED"
|
|
**Solution**:
|
|
- Check your internet connection
|
|
- Verify the API URL is correct
|
|
- Check if there's a firewall blocking the request
|
|
|
|
### Error: "401 Unauthorized"
|
|
**Solution**:
|
|
- Check if the client-id and client-secret are correct
|
|
- Verify the credentials haven't expired
|
|
|
|
### Error: "403 Forbidden"
|
|
**Solution**:
|
|
- Check if the product-instance-id is correct
|
|
- Verify you have access to this product instance
|
|
|
|
### Error: "400 Bad Request"
|
|
**Solution**:
|
|
- Check if the PAN format is correct (should be 10 characters: 5 letters, 4 digits, 1 letter)
|
|
- Verify the request body structure
|
|
|
|
## Next Steps
|
|
|
|
Once the test passes:
|
|
1. ✅ Your Setu API credentials are working
|
|
2. ✅ You can use these credentials in your `.env` file
|
|
3. ✅ Your application can make PAN verification requests
|
|
|
|
## Notes
|
|
|
|
- This script uses **static/hardcoded values** - perfect for testing
|
|
- The credentials are embedded in the script for testing purposes
|
|
- For production, always use environment variables (`.env` file)
|
|
- The script has a 30-second timeout for the API request
|
|
|