palgate

n8n community node for PAL Gate API - manage users, places, devices, and organizations. Delete user operation fully working (v1.0.28+) with automatic phone formatting and type handling.

Package Information

Downloads: 1,486 weekly / 2,488 monthly
Latest Version: 1.0.30
Author: HiRez10

Documentation

n8n-nodes-palgate

n8n community node for PAL Gate parking management system integration.

Installation

npm install n8n-nodes-palgate

Or install via n8n Community Nodes settings in your n8n instance.

Supported Operations

✅ Fully Working

Resource Operation Status Description
Auth Login ✅ Working Authenticate with PAL Gate API
Places Get All ✅ Working Get hierarchical tree of places
Places Get One ✅ Working Get details of a specific place
Users Get All ✅ Working Get all users in a place
Users Add ✅ Working Add a new user to a place
Users Update ✅ Working Update user information
Groups Get All ✅ Working Get groups for a place
Devices Get Info ✅ Working Get device information

⚠️ Limited Support

Resource Operation Status Notes
Users Delete ✅ Working Fixed in v1.0.28 - handles both string and number phone formats
Devices Open Gate ⚠️ Use carefully Triggers physical gate operation

❌ Not Available

Resource Operation Status Notes
Vehicles All Operations ❌ Not supported API endpoints not available - may be added in future updates

Configuration

Credentials

The node requires PAL Gate API credentials:

  • Username/Email: Your PAL Gate account email
  • Password: Your PAL Gate account password
  • API URL: https://portal.pal-es.com (default, automatically configured)

Required Parameters

  • Place ID: Found in PAL Gate portal URL or settings (format: UUID)
  • Device ID: For device operations, found in device settings

API Endpoints

Verified Working Endpoints

Authentication:
  POST /api1/user/login1

Places:
  GET /api1/places-tree
  GET /api1/place/{placeId}

Users:
  GET /api1/place/{placeId}/users
  POST /api1/place/{placeId}/user
  DELETE /api1/place/{placeId}/users

Groups:
  GET /api1/place/{placeId}/groups

Devices:
  GET /api1/device/{deviceId}

Error Handling

The node includes comprehensive error handling:

  • Input Validation: Phone numbers, required fields, format checks
  • Clear Error Messages: Context-aware error messages with helpful hints
  • API Error Translation: Converts API errors to user-friendly messages
  • Status Code Handling: Specific messages for common HTTP status codes

Error Message Examples

  • 400 Bad Request: "Bad request. Please check your input parameters."
  • 401 Unauthorized: "Authentication failed. Please check your credentials."
  • 403 Forbidden: "Access forbidden. You may not have permission for this operation."
  • 404 Not Found: "Resource not found. Please verify the resource exists."
  • 409 Conflict: "Conflict. The resource may already exist."
  • 500+ Server Error: "Server error. Please try again later or contact support."

Safety Features

Delete Operations

Delete operations include multiple safety layers:

  1. Phone Number Validation: Required, format check, non-empty validation
  2. Type Handling: Accepts both string and number types (fixed in v1.0.28)
  3. Automatic Formatting: Converts phone numbers to 972XXXXXXXXX format
  4. Empty Array Prevention: Prevents sending empty phones arrays
  5. Detailed Logging: Full audit trail of all delete operations
  6. Warning Messages: Critical warnings about API behavior

Fixed in v1.0.28: Delete operation now correctly handles phone numbers passed as numbers (from n8n expressions like 972{{ $json.M_phone }}).

Add Operations

  • Phone Validation: Prevents empty phone numbers (API would generate random IDs)
  • Required Field Checks: Validates all required fields before sending
  • Format Validation: Ensures data is in correct format

Usage Examples

Add a User

  1. Select resource: User
  2. Select operation: Add
  3. Enter Place ID
  4. Enter Phone number (required)
  5. Enter First Name (required)
  6. Enter Last Name (required)
  7. Optionally add Cars

Get All Users in a Place

  1. Select resource: User
  2. Select operation: Find or Get Many
  3. Enter Place ID
  4. Optionally add filter (for Find operation)

Update a User

  1. Select resource: User
  2. Select operation: Update or Update By Phone
  3. Enter Place ID
  4. Enter Phone number
  5. Update desired fields

Known Limitations

API Limitations

  1. Vehicle Operations: Vehicle endpoints return 404. This is an API limitation, not a node issue.
  2. Delete Operation: ✅ Fixed in v1.0.28 - now handles both string and number phone formats correctly.
  3. Empty Phone Numbers: API accepts empty phone numbers and generates random IDs. Node validates to prevent this.

Workarounds

  • Vehicles: Currently not supported by API. May be added in future API updates.
  • Delete Verification: Always check user count before and after delete operations.

Testing

The node has been tested against the live PAL Gate API:

  • Total Tests: 17
  • Passed: 12 (70.6%)
  • Failed: 1 (API issue, node includes protection)
  • Skipped: 4 (Features not available in API)

See test/AUTOMATED_TEST_REPORT.md for detailed test results.

Troubleshooting

Delete Operation Issues

Error 4101: "Check delete number list"

  • Solution: Update to v1.0.28 or later
  • Cause: Phone number type handling (fixed in v1.0.28)
  • See: DELETE_OPERATION.md for details

Other Delete Issues:

  • Verify phone number format
  • Check n8n execution logs for validation messages
  • Ensure place ID is correct

Support

Node Issues

For issues with this n8n node:

API Issues

For PAL Gate API issues:

  • Contact PAL Gate support
  • Check PAL Gate API documentation

Development

Building

npm run build

Testing

node test/automated-tests.js

Linting

npm run lint

License

MIT

Author

PAL Portal Team

Version

1.0.28

Recent Updates

v1.0.28 (2026-01-13)

  • Fixed delete operation to handle number types (not just strings)
  • Resolved error 4101 "Check delete number list"
  • Improved phone number validation

v1.0.27 (2026-01-13)

  • Maintenance release

v1.0.26 (2026-01-13)

  • Added automatic phone number formatting for delete operations
  • Handles phone numbers starting with 0 (converts to 972)
  • Handles phone numbers without country code (adds 972 prefix)

v1.0.25 (2026-01-13)

  • Fixed delete operation to use correct API format (POST /delete-many-users with userList)

Changelog

See CHANGELOG.md for version history.

Discussion