evsyukov:main - вместо этого должно быть название модуля. По соглашениям битрикса самописные модули должны состоять из двух слов разделенных точкой, например evsyukov.testmodules, где первая часть - это условно говоря PARTNER_NAME, а вторая название модуля
Тогда вызов будет выглядеть так:
BX.ajax.runAction('evsyukov:testmodules.api.book.addbook', {});
В этом методе, надо конфигурировать свои экшены, чтобы твой экшен срабатывал в публичке для всех пользователей надо написать так
public function configureActions()
{
return [
'addBook' => [
'prefilters' => [
],
'-prefilters' => [
\Bitrix\Main\Engine\ActionFilter\Authentication::class
],
]
];
}