и какой контракт API должен реализовывать REST API. Не могли бы вы указать мне какой-нибудь блог / учебник, в котором рассказывается о том, как этого добиться?
Есть несколько команд, связанных с реестром:
$ ejabberdctl help --tags roster
Available commands with tag roster:
add_rosteritem localuser localhost user host nick group subs
Add an item to a user's roster (supports ODBC)
delete_rosteritem localuser localhost user host
Delete an item from a user's roster (supports ODBC)
get_roster user host
Get roster of a local user
process_rosteritems action subs asks users contacts
List/delete rosteritems that match filter
push_alltoall host group
Add all the users to all the users of Host in Group
push_roster file user host
Push template roster from file to a user
push_roster_all file
Push template roster from file to all those users
Вы можете найти более подробную информацию о эти команды в:
https://docs.ejabberd.im/developer/ejabberd-api/admin-api/
Попытка найти, какой модуль использовать
Все эти команды реализованы в mod_admin_extra. Таким образом, вы можете просто включить этот модуль в ejabberd.yml, и команды будут доступны для выполнения.