registry
registry copied to clipboard
feat: Add CSV support for bulk domain operations in REPP API
- Add CSV file upload support for domain transfers (/repp/v1/domains/transfer)
- Add CSV file upload support for bulk nameserver changes (/repp/v1/domains/nameservers/bulk)
- Implement parse_transfer_csv() and parse_nameserver_csv() methods
- Add proper strong parameters handling for file uploads
- Add bulk nameserver update route and controller action
- Fix nameserver replacement logic to maintain minimum count requirement
- Add comprehensive test coverage with valid/invalid CSV fixtures
- Support both JSON and CSV input formats for bulk operations
CSV formats:
- Domain transfers: Domain,Transfer code
- Nameserver changes: Domain (+ required new_hostname parameter)
Example of transfer
csv data:
Domain,Transfer code
hospital.test,23118v2
example.test,abc123def
request:
curl -X POST "https://your-domain.com/repp/v1/domains/transfer" \
-H "Authorization: Basic $(echo -n 'username:password' | base64)" \
-H "Content-Type: multipart/form-data" \
-F "csv_file=@domain_transfers.csv"
Example of nameserver
csv data:
Domain
shop.test
example.test
request:
curl -X POST "https://your-domain.com/repp/v1/domains/nameservers/bulk" \
-H "Authorization: Basic $(echo -n 'username:password' | base64)" \
-H "Content-Type: multipart/form-data" \
-F "csv_file=@nameserver_changes.csv" \
-F "new_hostname=ns1.newserver.ee" \
-F "ipv4[]=192.168.1.1" \
-F "ipv6[]=2001:db8::1"