Общие собрания¶
Общие собрания пайщиков являются высшим органом управления кооперативом. Система MONO обеспечивает полный цифровой документооборот для проведения общих собраний, включая уведомления, голосование и оформление решений.
Получить информацию о собрании¶
🛠️ SDK: Queries.Meet.GetMeet | 🔗 GraphQL API: Query.getMeet
import { Queries } from '@coopenomics/sdk';
const variables: Queries.Meet.GetMeet.IInput = {
data: {
coopname: <string>; // Имя аккаунта кооператива
hash: <string>; // Хеш собрания
};
};
const { [Queries.Meet.GetMeet.name]: result } = await client.Query(
Queries.Meet.GetMeet.query,
{ variables }
);
Результат:
interface IOutput {
getMeet: {
hash: <string>; // Хеш собрания
pre?: {
agenda: <{
context: <string>; // Контекст или дополнительная информация по пункту повестки
decision: <string>; // Предлагаемое решение по пункту повестки
title: <string>; // Заголовок пункта повестки
}[]>; // Повестка собрания
close_at: <unknown>; // Дата закрытия собрания
coopname: <string>; // Имя аккаунта кооператива
hash: <string>; // Хеш собрания
initiator: <string>; // Инициатор собрания
initiator_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат инициатора собрания
open_at: <unknown>; // Дата открытия собрания
presider: <string>; // Председатель собрания
presider_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат председателя собрания
proposal?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
secretary: <string>; // Секретарь собрания
secretary_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат секретаря собрания
};
processed?: {
coopname: <string>; // Имя кооператива
decision: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
decisionAggregate?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
hash: <string>; // Хеш собрания
presider: <string>; // Председатель собрания
presider_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат председателя собрания
quorum_passed: <boolean>; // Пройден ли кворум
quorum_percent: <number>; // Процент кворума
results: <{
accepted: <boolean>; // Принят ли вопрос
context: <string>; // Контекст вопроса
decision: <string>; // Принятое решение
number: <number>; // Порядковый номер вопроса
question_id: <number>; // Идентификатор вопроса
title: <string>; // Заголовок вопроса
votes_abstained: <number>; // Количество воздержавшихся
votes_against: <number>; // Количество голосов против
votes_for: <number>; // Количество голосов за
}[]>; // Результаты голосования по вопросам
secretary: <string>; // Секретарь собрания
secretary_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат секретаря собрания
signed_ballots: <number>; // Количество подписанных бюллетеней
};
processing?: {
extendedStatus: <ExtendedMeetStatus>; // Расширенный статус собрания на основе дат и состояния
hash: <string>; // Хеш собрания
isVoted: <boolean>; // Флаг указывающий, голосовал ли текущий пользователь
meet: {
authorization?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
close_at: <unknown>; // Дата закрытия собрания
coopname: <string>; // Имя аккаунта кооператива
created_at: <unknown>; // Дата создания собрания
current_quorum_percent: <number>; // Текущий процент кворума
cycle: <number>; // Цикл собрания
decision1?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
decision2?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
hash: <string>; // Хеш собрания
id: <number>; // Уникальный идентификатор собрания
initiator: <string>; // Инициатор собрания
initiator_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат инициатора собрания
level: <string>; // Уровень собрания
notified_users: <string[]>; // Список пользователей, которые подписали уведомление
open_at: <unknown>; // Дата открытия собрания
presider: <string>; // Председатель собрания
presider_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат председателя собрания
proposal?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
quorum_passed: <boolean>; // Флаг достижения кворума
quorum_percent: <number>; // Процент необходимого кворума
secretary: <string>; // Секретарь собрания
secretary_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат секретаря собрания
signed_ballots: <number>; // Количество подписанных бюллетеней
status: <string>; // Статус собрания
type: <string>; // Тип собрания
};
questions: <{
context: <string>; // Контекст или дополнительная информация по вопросу
coopname: <string>; // Имя аккаунта кооператива
counter_votes_abstained: <number>; // Количество голосов "Воздержался"
counter_votes_against: <number>; // Количество голосов "Против"
counter_votes_for: <number>; // Количество голосов "За"
decision: <string>; // Предлагаемое решение по вопросу
id: <number>; // Уникальный идентификатор вопроса
meet_id: <number>; // Идентификатор собрания, к которому относится вопрос
number: <number>; // Порядковый номер вопроса в повестке
title: <string>; // Заголовок вопроса
voters_abstained: <string[]>; // Список участников, проголосовавших "Воздержался"
voters_against: <string[]>; // Список участников, проголосовавших "Против"
voters_for: <string[]>; // Список участников, проголосовавших "За"
}[]>; // Список вопросов повестки собрания
};
};
}
Получить список собраний¶
🛠️ SDK: Queries.Meet.GetMeets | 🔗 GraphQL API: Query.getMeets
import { Queries } from '@coopenomics/sdk';
const variables: Queries.Meet.GetMeets.IInput = {
data: {
coopname: <string>; // Имя аккаунта кооператива
};
};
const { [Queries.Meet.GetMeets.name]: result } = await client.Query(
Queries.Meet.GetMeets.query,
{ variables }
);
Результат:
interface IOutput {
getMeets: <{
hash: <string>; // Хеш собрания
pre?: {
agenda: <{
context: <string>; // Контекст или дополнительная информация по пункту повестки
decision: <string>; // Предлагаемое решение по пункту повестки
title: <string>; // Заголовок пункта повестки
}[]>; // Повестка собрания
close_at: <unknown>; // Дата закрытия собрания
coopname: <string>; // Имя аккаунта кооператива
hash: <string>; // Хеш собрания
initiator: <string>; // Инициатор собрания
initiator_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат инициатора собрания
open_at: <unknown>; // Дата открытия собрания
presider: <string>; // Председатель собрания
presider_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат председателя собрания
proposal?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
secretary: <string>; // Секретарь собрания
secretary_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат секретаря собрания
};
processed?: {
coopname: <string>; // Имя кооператива
decision: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
decisionAggregate?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
hash: <string>; // Хеш собрания
presider: <string>; // Председатель собрания
presider_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат председателя собрания
quorum_passed: <boolean>; // Пройден ли кворум
quorum_percent: <number>; // Процент кворума
results: <{
accepted: <boolean>; // Принят ли вопрос
context: <string>; // Контекст вопроса
decision: <string>; // Принятое решение
number: <number>; // Порядковый номер вопроса
question_id: <number>; // Идентификатор вопроса
title: <string>; // Заголовок вопроса
votes_abstained: <number>; // Количество воздержавшихся
votes_against: <number>; // Количество голосов против
votes_for: <number>; // Количество голосов за
}[]>; // Результаты голосования по вопросам
secretary: <string>; // Секретарь собрания
secretary_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат секретаря собрания
signed_ballots: <number>; // Количество подписанных бюллетеней
};
processing?: {
extendedStatus: <ExtendedMeetStatus>; // Расширенный статус собрания на основе дат и состояния
hash: <string>; // Хеш собрания
isVoted: <boolean>; // Флаг указывающий, голосовал ли текущий пользователь
meet: {
authorization?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <... | ... | ... | ...>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <... | ...>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
close_at: <unknown>; // Дата закрытия собрания
coopname: <string>; // Имя аккаунта кооператива
created_at: <unknown>; // Дата создания собрания
current_quorum_percent: <number>; // Текущий процент кворума
cycle: <number>; // Цикл собрания
decision1?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <... | ... | ... | ...>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <... | ...>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
decision2?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <... | ... | ... | ...>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <... | ...>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
hash: <string>; // Хеш собрания
id: <number>; // Уникальный идентификатор собрания
initiator: <string>; // Инициатор собрания
initiator_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат инициатора собрания
level: <string>; // Уровень собрания
notified_users: <string[]>; // Список пользователей, которые подписали уведомление
open_at: <unknown>; // Дата открытия собрания
presider: <string>; // Председатель собрания
presider_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат председателя собрания
proposal?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <... | ... | ... | ...>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <... | ...>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
quorum_passed: <boolean>; // Флаг достижения кворума
quorum_percent: <number>; // Процент необходимого кворума
secretary: <string>; // Секретарь собрания
secretary_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат секретаря собрания
signed_ballots: <number>; // Количество подписанных бюллетеней
status: <string>; // Статус собрания
type: <string>; // Тип собрания
};
questions: <{
context: <string>; // Контекст или дополнительная информация по вопросу
coopname: <string>; // Имя аккаунта кооператива
counter_votes_abstained: <number>; // Количество голосов "Воздержался"
counter_votes_against: <number>; // Количество голосов "Против"
counter_votes_for: <number>; // Количество голосов "За"
decision: <string>; // Предлагаемое решение по вопросу
id: <number>; // Уникальный идентификатор вопроса
meet_id: <number>; // Идентификатор собрания, к которому относится вопрос
number: <number>; // Порядковый номер вопроса в повестке
title: <string>; // Заголовок вопроса
voters_abstained: <string[]>; // Список участников, проголосовавших "Воздержался"
voters_against: <string[]>; // Список участников, проголосовавших "Против"
voters_for: <string[]>; // Список участников, проголосовавших "За"
}[]>; // Список вопросов повестки собрания
};
}[]>; // Получить список всех собраний кооператива
}
Создание общего собрания¶
🛠️ SDK: Mutations.Meet.CreateAnnualGeneralMeet | 🔗 GraphQL API: Mutation.createAnnualGeneralMeet
import { Mutations } from '@coopenomics/sdk';
const variables: Mutations.Meet.CreateAnnualGeneralMeet.IInput = {
data: {
agenda: <{
context: <string>; // Контекст или дополнительная информация по пункту повестки
decision: <string>; // Предлагаемое решение по пункту повестки
title: <string>; // Заголовок пункта повестки
}[]>; // Повестка собрания
close_at: <any>; // Время закрытия собрания
coopname: <string>; // Имя аккаунта кооператива
initiator: <string>; // Имя аккаунта инициатора
open_at: <any>; // Время открытия собрания
presider: <string>; // Имя аккаунта председателя
proposal: {
doc_hash: <string>; // Хэш содержимого документа
hash: <string>; // Общий хэш (doc_hash + meta_hash)
meta: {
block_num: <number>; // Номер блока, на котором был создан документ
coopname: <string>; // Название кооператива, связанное с документом
created_at: <string>; // Дата и время создания документа
generator: <string>; // Имя генератора, использованного для создания документа
is_repeated: <boolean>; // Флаг повторного собрания
lang: <string>; // Язык документа
links: <string[]>; // Ссылки, связанные с документом
meet: {
close_at_datetime: <string>; // Дата и время окончания собрания
open_at_datetime: <string>; // Дата и время начала собрания
type: <string>; // Тип собрания (очередное или внеочередное)
};
questions: <{
context?: <null | string>; // Контекст или дополнительная информация по вопросу
decision: <string>; // Предлагаемое решение по вопросу повестки
number: <string>; // Номер вопроса в повестке
title: <string>; // Заголовок вопроса повестки
}[]>;
registry_id: <number>; // ID документа в реестре
timezone: <string>; // Часовой пояс, в котором был создан документ
title: <string>; // Название документа
username: <string>; // Имя пользователя, создавшего документ
version: <string>; // Версия генератора, использованного для создания документа
};
meta_hash: <string>; // Хэш мета-данных
signatures: <{
id: <number>; // Идентификатор номера подписи
meta: <string>; // Мета-данные подписи
public_key: <string>; // Публичный ключ
signature: <string>; // Подпись хэша
signed_at: <string>; // Время подписания
signed_hash: <string>; // Подписанный хэш
signer: <string>; // Аккаунт подписавшего
}[]>; // Вектор подписей
version: <string>; // Версия стандарта документа
};
secretary: <string>; // Имя аккаунта секретаря
};
};
const { [Mutations.Meet.CreateAnnualGeneralMeet.name]: result } = await client.Mutation(
Mutations.Meet.CreateAnnualGeneralMeet.mutation,
{ variables }
);
Результат:
interface IOutput {
createAnnualGeneralMeet: {
hash: <string>; // Хеш собрания
pre?: {
agenda: <{
context: <string>; // Контекст или дополнительная информация по пункту повестки
decision: <string>; // Предлагаемое решение по пункту повестки
title: <string>; // Заголовок пункта повестки
}[]>; // Повестка собрания
close_at: <unknown>; // Дата закрытия собрания
coopname: <string>; // Имя аккаунта кооператива
hash: <string>; // Хеш собрания
initiator: <string>; // Инициатор собрания
initiator_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат инициатора собрания
open_at: <unknown>; // Дата открытия собрания
presider: <string>; // Председатель собрания
presider_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат председателя собрания
proposal?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
secretary: <string>; // Секретарь собрания
secretary_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат секретаря собрания
};
processed?: {
coopname: <string>; // Имя кооператива
decision: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
decisionAggregate?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
hash: <string>; // Хеш собрания
presider: <string>; // Председатель собрания
presider_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат председателя собрания
quorum_passed: <boolean>; // Пройден ли кворум
quorum_percent: <number>; // Процент кворума
results: <{
accepted: <boolean>; // Принят ли вопрос
context: <string>; // Контекст вопроса
decision: <string>; // Принятое решение
number: <number>; // Порядковый номер вопроса
question_id: <number>; // Идентификатор вопроса
title: <string>; // Заголовок вопроса
votes_abstained: <number>; // Количество воздержавшихся
votes_against: <number>; // Количество голосов против
votes_for: <number>; // Количество голосов за
}[]>; // Результаты голосования по вопросам
secretary: <string>; // Секретарь собрания
secretary_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат секретаря собрания
signed_ballots: <number>; // Количество подписанных бюллетеней
};
processing?: {
extendedStatus: <ExtendedMeetStatus>; // Расширенный статус собрания на основе дат и состояния
hash: <string>; // Хеш собрания
isVoted: <boolean>; // Флаг указывающий, голосовал ли текущий пользователь
meet: {
authorization?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
close_at: <unknown>; // Дата закрытия собрания
coopname: <string>; // Имя аккаунта кооператива
created_at: <unknown>; // Дата создания собрания
current_quorum_percent: <number>; // Текущий процент кворума
cycle: <number>; // Цикл собрания
decision1?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
decision2?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
hash: <string>; // Хеш собрания
id: <number>; // Уникальный идентификатор собрания
initiator: <string>; // Инициатор собрания
initiator_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат инициатора собрания
level: <string>; // Уровень собрания
notified_users: <string[]>; // Список пользователей, которые подписали уведомление
open_at: <unknown>; // Дата открытия собрания
presider: <string>; // Председатель собрания
presider_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат председателя собрания
proposal?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
quorum_passed: <boolean>; // Флаг достижения кворума
quorum_percent: <number>; // Процент необходимого кворума
secretary: <string>; // Секретарь собрания
secretary_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат секретаря собрания
signed_ballots: <number>; // Количество подписанных бюллетеней
status: <string>; // Статус собрания
type: <string>; // Тип собрания
};
questions: <{
context: <string>; // Контекст или дополнительная информация по вопросу
coopname: <string>; // Имя аккаунта кооператива
counter_votes_abstained: <number>; // Количество голосов "Воздержался"
counter_votes_against: <number>; // Количество голосов "Против"
counter_votes_for: <number>; // Количество голосов "За"
decision: <string>; // Предлагаемое решение по вопросу
id: <number>; // Уникальный идентификатор вопроса
meet_id: <number>; // Идентификатор собрания, к которому относится вопрос
number: <number>; // Порядковый номер вопроса в повестке
title: <string>; // Заголовок вопроса
voters_abstained: <string[]>; // Список участников, проголосовавших "Воздержался"
voters_against: <string[]>; // Список участников, проголосовавших "Против"
voters_for: <string[]>; // Список участников, проголосовавших "За"
}[]>; // Список вопросов повестки собрания
};
};
}
Создание предложения повестки очередного общего собрания пайщиков.
Уведомление о собрании¶
🛠️ SDK: Mutations.Meet.NotifyOnAnnualGeneralMeet | 🔗 GraphQL API: Mutation.notifyOnAnnualGeneralMeet
import { Mutations } from '@coopenomics/sdk';
const variables: Mutations.Meet.NotifyOnAnnualGeneralMeet.IInput = {
data: {
coopname: <string>;
meet_hash: <string>;
notification: {
doc_hash: <string>; // Хэш содержимого документа
hash: <string>; // Общий хэш (doc_hash + meta_hash)
meta: {
block_num: <number>; // Номер блока, на котором был создан документ
coopname: <string>; // Название кооператива, связанное с документом
created_at: <string>; // Дата и время создания документа
generator: <string>; // Имя генератора, использованного для создания документа
lang: <string>; // Язык документа
links: <string[]>; // Ссылки, связанные с документом
meet_hash: <string>; // Хеш собрания
registry_id: <number>; // ID документа в реестре
timezone: <string>; // Часовой пояс, в котором был создан документ
title: <string>; // Название документа
username: <string>; // Имя пользователя, создавшего документ
version: <string>; // Версия генератора, использованного для создания документа
};
meta_hash: <string>; // Хэш мета-данных
signatures: <{
id: <number>; // Идентификатор номера подписи
meta: <string>; // Мета-данные подписи
public_key: <string>; // Публичный ключ
signature: <string>; // Подпись хэша
signed_at: <string>; // Время подписания
signed_hash: <string>; // Подписанный хэш
signer: <string>; // Аккаунт подписавшего
}[]>; // Вектор подписей
version: <string>; // Версия стандарта документа
};
username: <string>;
};
};
const { [Mutations.Meet.NotifyOnAnnualGeneralMeet.name]: result } = await client.Mutation(
Mutations.Meet.NotifyOnAnnualGeneralMeet.mutation,
{ variables }
);
Результат:
interface IOutput {
notifyOnAnnualGeneralMeet: {
hash: <string>; // Хеш собрания
pre?: {
agenda: <{
context: <string>; // Контекст или дополнительная информация по пункту повестки
decision: <string>; // Предлагаемое решение по пункту повестки
title: <string>; // Заголовок пункта повестки
}[]>; // Повестка собрания
close_at: <unknown>; // Дата закрытия собрания
coopname: <string>; // Имя аккаунта кооператива
hash: <string>; // Хеш собрания
initiator: <string>; // Инициатор собрания
initiator_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат инициатора собрания
open_at: <unknown>; // Дата открытия собрания
presider: <string>; // Председатель собрания
presider_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат председателя собрания
proposal?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
secretary: <string>; // Секретарь собрания
secretary_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат секретаря собрания
};
processed?: {
coopname: <string>; // Имя кооператива
decision: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
decisionAggregate?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
hash: <string>; // Хеш собрания
presider: <string>; // Председатель собрания
presider_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат председателя собрания
quorum_passed: <boolean>; // Пройден ли кворум
quorum_percent: <number>; // Процент кворума
results: <{
accepted: <boolean>; // Принят ли вопрос
context: <string>; // Контекст вопроса
decision: <string>; // Принятое решение
number: <number>; // Порядковый номер вопроса
question_id: <number>; // Идентификатор вопроса
title: <string>; // Заголовок вопроса
votes_abstained: <number>; // Количество воздержавшихся
votes_against: <number>; // Количество голосов против
votes_for: <number>; // Количество голосов за
}[]>; // Результаты голосования по вопросам
secretary: <string>; // Секретарь собрания
secretary_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат секретаря собрания
signed_ballots: <number>; // Количество подписанных бюллетеней
};
processing?: {
extendedStatus: <ExtendedMeetStatus>; // Расширенный статус собрания на основе дат и состояния
hash: <string>; // Хеш собрания
isVoted: <boolean>; // Флаг указывающий, голосовал ли текущий пользователь
meet: {
authorization?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
close_at: <unknown>; // Дата закрытия собрания
coopname: <string>; // Имя аккаунта кооператива
created_at: <unknown>; // Дата создания собрания
current_quorum_percent: <number>; // Текущий процент кворума
cycle: <number>; // Цикл собрания
decision1?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
decision2?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
hash: <string>; // Хеш собрания
id: <number>; // Уникальный идентификатор собрания
initiator: <string>; // Инициатор собрания
initiator_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат инициатора собрания
level: <string>; // Уровень собрания
notified_users: <string[]>; // Список пользователей, которые подписали уведомление
open_at: <unknown>; // Дата открытия собрания
presider: <string>; // Председатель собрания
presider_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат председателя собрания
proposal?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
quorum_passed: <boolean>; // Флаг достижения кворума
quorum_percent: <number>; // Процент необходимого кворума
secretary: <string>; // Секретарь собрания
secretary_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат секретаря собрания
signed_ballots: <number>; // Количество подписанных бюллетеней
status: <string>; // Статус собрания
type: <string>; // Тип собрания
};
questions: <{
context: <string>; // Контекст или дополнительная информация по вопросу
coopname: <string>; // Имя аккаунта кооператива
counter_votes_abstained: <number>; // Количество голосов "Воздержался"
counter_votes_against: <number>; // Количество голосов "Против"
counter_votes_for: <number>; // Количество голосов "За"
decision: <string>; // Предлагаемое решение по вопросу
id: <number>; // Уникальный идентификатор вопроса
meet_id: <number>; // Идентификатор собрания, к которому относится вопрос
number: <number>; // Порядковый номер вопроса в повестке
title: <string>; // Заголовок вопроса
voters_abstained: <string[]>; // Список участников, проголосовавших "Воздержался"
voters_against: <string[]>; // Список участников, проголосовавших "Против"
voters_for: <string[]>; // Список участников, проголосовавших "За"
}[]>; // Список вопросов повестки собрания
};
};
}
Отправка уведомлений всем пайщикам о проведении общего собрания.
Голосование на собрании¶
🛠️ SDK: Mutations.Meet.VoteOnAnnualGeneralMeet | 🔗 GraphQL API: Mutation.voteOnAnnualGeneralMeet
import { Mutations } from '@coopenomics/sdk';
const variables: Mutations.Meet.VoteOnAnnualGeneralMeet.IInput = {
data: {
ballot: {
doc_hash: <string>; // Хэш содержимого документа
hash: <string>; // Общий хэш (doc_hash + meta_hash)
meta: {
answers: <{
id: <string>; // ID вопроса
number: <string>; // Номер вопроса
vote: <string>; // Голос (за/против/воздержался)
}[]>; // Ответы голосования
block_num: <number>; // Номер блока, на котором был создан документ
coopname: <string>; // Название кооператива, связанное с документом
created_at: <string>; // Дата и время создания документа
generator: <string>; // Имя генератора, использованного для создания документа
lang: <string>; // Язык документа
links: <string[]>; // Ссылки, связанные с документом
meet_hash: <string>; // Хеш собрания
registry_id: <number>; // ID документа в реестре
timezone: <string>; // Часовой пояс, в котором был создан документ
title: <string>; // Название документа
username: <string>; // Имя пользователя голосующего
version: <string>; // Версия генератора, использованного для создания документа
};
meta_hash: <string>; // Хэш мета-данных
signatures: <{
id: <number>; // Идентификатор номера подписи
meta: <string>; // Мета-данные подписи
public_key: <string>; // Публичный ключ
signature: <string>; // Подпись хэша
signed_at: <string>; // Время подписания
signed_hash: <string>; // Подписанный хэш
signer: <string>; // Аккаунт подписавшего
}[]>; // Вектор подписей
version: <string>; // Версия стандарта документа
};
coopname: <string>; // Имя аккаунта кооператива
hash: <string>; // Хеш собрания, по которому производится голосование
username: <string>; // Идентификатор члена кооператива, который голосует
votes: <{
question_id: <number>; // Идентификатор вопроса повестки
vote: <string>; // Решение по вопросу (вариант голосования)
}[]>; // Бюллетень с решениями по вопросам повестки
};
};
const { [Mutations.Meet.VoteOnAnnualGeneralMeet.name]: result } = await client.Mutation(
Mutations.Meet.VoteOnAnnualGeneralMeet.mutation,
{ variables }
);
Результат:
interface IOutput {
voteOnAnnualGeneralMeet: {
hash: <string>; // Хеш собрания
pre?: {
agenda: <{
context: <string>; // Контекст или дополнительная информация по пункту повестки
decision: <string>; // Предлагаемое решение по пункту повестки
title: <string>; // Заголовок пункта повестки
}[]>; // Повестка собрания
close_at: <unknown>; // Дата закрытия собрания
coopname: <string>; // Имя аккаунта кооператива
hash: <string>; // Хеш собрания
initiator: <string>; // Инициатор собрания
initiator_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат инициатора собрания
open_at: <unknown>; // Дата открытия собрания
presider: <string>; // Председатель собрания
presider_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат председателя собрания
proposal?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
secretary: <string>; // Секретарь собрания
secretary_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат секретаря собрания
};
processed?: {
coopname: <string>; // Имя кооператива
decision: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
decisionAggregate?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
hash: <string>; // Хеш собрания
presider: <string>; // Председатель собрания
presider_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат председателя собрания
quorum_passed: <boolean>; // Пройден ли кворум
quorum_percent: <number>; // Процент кворума
results: <{
accepted: <boolean>; // Принят ли вопрос
context: <string>; // Контекст вопроса
decision: <string>; // Принятое решение
number: <number>; // Порядковый номер вопроса
question_id: <number>; // Идентификатор вопроса
title: <string>; // Заголовок вопроса
votes_abstained: <number>; // Количество воздержавшихся
votes_against: <number>; // Количество голосов против
votes_for: <number>; // Количество голосов за
}[]>; // Результаты голосования по вопросам
secretary: <string>; // Секретарь собрания
secretary_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат секретаря собрания
signed_ballots: <number>; // Количество подписанных бюллетеней
};
processing?: {
extendedStatus: <ExtendedMeetStatus>; // Расширенный статус собрания на основе дат и состояния
hash: <string>; // Хеш собрания
isVoted: <boolean>; // Флаг указывающий, голосовал ли текущий пользователь
meet: {
authorization?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
close_at: <unknown>; // Дата закрытия собрания
coopname: <string>; // Имя аккаунта кооператива
created_at: <unknown>; // Дата создания собрания
current_quorum_percent: <number>; // Текущий процент кворума
cycle: <number>; // Цикл собрания
decision1?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
decision2?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
hash: <string>; // Хеш собрания
id: <number>; // Уникальный идентификатор собрания
initiator: <string>; // Инициатор собрания
initiator_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат инициатора собрания
level: <string>; // Уровень собрания
notified_users: <string[]>; // Список пользователей, которые подписали уведомление
open_at: <unknown>; // Дата открытия собрания
presider: <string>; // Председатель собрания
presider_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат председателя собрания
proposal?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
quorum_passed: <boolean>; // Флаг достижения кворума
quorum_percent: <number>; // Процент необходимого кворума
secretary: <string>; // Секретарь собрания
secretary_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат секретаря собрания
signed_ballots: <number>; // Количество подписанных бюллетеней
status: <string>; // Статус собрания
type: <string>; // Тип собрания
};
questions: <{
context: <string>; // Контекст или дополнительная информация по вопросу
coopname: <string>; // Имя аккаунта кооператива
counter_votes_abstained: <number>; // Количество голосов "Воздержался"
counter_votes_against: <number>; // Количество голосов "Против"
counter_votes_for: <number>; // Количество голосов "За"
decision: <string>; // Предлагаемое решение по вопросу
id: <number>; // Уникальный идентификатор вопроса
meet_id: <number>; // Идентификатор собрания, к которому относится вопрос
number: <number>; // Порядковый номер вопроса в повестке
title: <string>; // Заголовок вопроса
voters_abstained: <string[]>; // Список участников, проголосовавших "Воздержался"
voters_against: <string[]>; // Список участников, проголосовавших "Против"
voters_for: <string[]>; // Список участников, проголосовавших "За"
}[]>; // Список вопросов повестки собрания
};
};
}
Голосование пайщика по вопросам повестки общего собрания.
Подписание секретарем¶
🛠️ SDK: Mutations.Meet.SignBySecretaryOnAnnualGeneralMeet | 🔗 GraphQL API: Mutation.signBySecretaryOnAnnualGeneralMeet
import { Mutations } from '@coopenomics/sdk';
const variables: Mutations.Meet.SignBySecretaryOnAnnualGeneralMeet.IInput = {
data: {
coopname: <string>; // Имя аккаунта кооператива
hash: <string>; // Хеш собрания
secretary_decision: {
doc_hash: <string>; // Хэш содержимого документа
hash: <string>; // Общий хэш (doc_hash + meta_hash)
meta: {
block_num: <number>; // Номер блока, на котором был создан документ
coopname: <string>; // Название кооператива, связанное с документом
created_at: <string>; // Дата и время создания документа
generator: <string>; // Имя генератора, использованного для создания документа
lang: <string>; // Язык документа
links: <string[]>; // Ссылки, связанные с документом
meet_hash: <string>; // Хеш собрания
registry_id: <number>; // ID документа в реестре
timezone: <string>; // Часовой пояс, в котором был создан документ
title: <string>; // Название документа
username: <string>; // Имя пользователя, создавшего документ
version: <string>; // Версия генератора, использованного для создания документа
};
meta_hash: <string>; // Хэш мета-данных
signatures: <{
id: <number>; // Идентификатор номера подписи
meta: <string>; // Мета-данные подписи
public_key: <string>; // Публичный ключ
signature: <string>; // Подпись хэша
signed_at: <string>; // Время подписания
signed_hash: <string>; // Подписанный хэш
signer: <string>; // Аккаунт подписавшего
}[]>; // Вектор подписей
version: <string>; // Версия стандарта документа
};
username: <string>; // Имя аккаунта пользователя
};
};
const { [Mutations.Meet.SignBySecretaryOnAnnualGeneralMeet.name]: result } = await client.Mutation(
Mutations.Meet.SignBySecretaryOnAnnualGeneralMeet.mutation,
{ variables }
);
Результат:
interface IOutput {
signBySecretaryOnAnnualGeneralMeet: {
hash: <string>; // Хеш собрания
pre?: {
agenda: <{
context: <string>; // Контекст или дополнительная информация по пункту повестки
decision: <string>; // Предлагаемое решение по пункту повестки
title: <string>; // Заголовок пункта повестки
}[]>; // Повестка собрания
close_at: <unknown>; // Дата закрытия собрания
coopname: <string>; // Имя аккаунта кооператива
hash: <string>; // Хеш собрания
initiator: <string>; // Инициатор собрания
initiator_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат инициатора собрания
open_at: <unknown>; // Дата открытия собрания
presider: <string>; // Председатель собрания
presider_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат председателя собрания
proposal?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
secretary: <string>; // Секретарь собрания
secretary_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат секретаря собрания
};
processed?: {
coopname: <string>; // Имя кооператива
decision: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
decisionAggregate?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
hash: <string>; // Хеш собрания
presider: <string>; // Председатель собрания
presider_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат председателя собрания
quorum_passed: <boolean>; // Пройден ли кворум
quorum_percent: <number>; // Процент кворума
results: <{
accepted: <boolean>; // Принят ли вопрос
context: <string>; // Контекст вопроса
decision: <string>; // Принятое решение
number: <number>; // Порядковый номер вопроса
question_id: <number>; // Идентификатор вопроса
title: <string>; // Заголовок вопроса
votes_abstained: <number>; // Количество воздержавшихся
votes_against: <number>; // Количество голосов против
votes_for: <number>; // Количество голосов за
}[]>; // Результаты голосования по вопросам
secretary: <string>; // Секретарь собрания
secretary_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат секретаря собрания
signed_ballots: <number>; // Количество подписанных бюллетеней
};
processing?: {
extendedStatus: <ExtendedMeetStatus>; // Расширенный статус собрания на основе дат и состояния
hash: <string>; // Хеш собрания
isVoted: <boolean>; // Флаг указывающий, голосовал ли текущий пользователь
meet: {
authorization?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
close_at: <unknown>; // Дата закрытия собрания
coopname: <string>; // Имя аккаунта кооператива
created_at: <unknown>; // Дата создания собрания
current_quorum_percent: <number>; // Текущий процент кворума
cycle: <number>; // Цикл собрания
decision1?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
decision2?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
hash: <string>; // Хеш собрания
id: <number>; // Уникальный идентификатор собрания
initiator: <string>; // Инициатор собрания
initiator_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат инициатора собрания
level: <string>; // Уровень собрания
notified_users: <string[]>; // Список пользователей, которые подписали уведомление
open_at: <unknown>; // Дата открытия собрания
presider: <string>; // Председатель собрания
presider_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат председателя собрания
proposal?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
quorum_passed: <boolean>; // Флаг достижения кворума
quorum_percent: <number>; // Процент необходимого кворума
secretary: <string>; // Секретарь собрания
secretary_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат секретаря собрания
signed_ballots: <number>; // Количество подписанных бюллетеней
status: <string>; // Статус собрания
type: <string>; // Тип собрания
};
questions: <{
context: <string>; // Контекст или дополнительная информация по вопросу
coopname: <string>; // Имя аккаунта кооператива
counter_votes_abstained: <number>; // Количество голосов "Воздержался"
counter_votes_against: <number>; // Количество голосов "Против"
counter_votes_for: <number>; // Количество голосов "За"
decision: <string>; // Предлагаемое решение по вопросу
id: <number>; // Уникальный идентификатор вопроса
meet_id: <number>; // Идентификатор собрания, к которому относится вопрос
number: <number>; // Порядковый номер вопроса в повестке
title: <string>; // Заголовок вопроса
voters_abstained: <string[]>; // Список участников, проголосовавших "Воздержался"
voters_against: <string[]>; // Список участников, проголосовавших "Против"
voters_for: <string[]>; // Список участников, проголосовавших "За"
}[]>; // Список вопросов повестки собрания
};
};
}
Подписание решения секретарём на общем собрании пайщиков.
Подписание председателем¶
🛠️ SDK: Mutations.Meet.SignByPresiderOnAnnualGeneralMeet | 🔗 GraphQL API: Mutation.signByPresiderOnAnnualGeneralMeet
import { Mutations } from '@coopenomics/sdk';
const variables: Mutations.Meet.SignByPresiderOnAnnualGeneralMeet.IInput = {
data: {
coopname: <string>; // Имя аккаунта кооператива
hash: <string>; // Хеш собрания
presider_decision: {
doc_hash: <string>; // Хэш содержимого документа
hash: <string>; // Общий хэш (doc_hash + meta_hash)
meta: {
block_num: <number>; // Номер блока, на котором был создан документ
coopname: <string>; // Название кооператива, связанное с документом
created_at: <string>; // Дата и время создания документа
generator: <string>; // Имя генератора, использованного для создания документа
lang: <string>; // Язык документа
links: <string[]>; // Ссылки, связанные с документом
meet_hash: <string>; // Хеш собрания
registry_id: <number>; // ID документа в реестре
timezone: <string>; // Часовой пояс, в котором был создан документ
title: <string>; // Название документа
username: <string>; // Имя пользователя, создавшего документ
version: <string>; // Версия генератора, использованного для создания документа
};
meta_hash: <string>; // Хэш мета-данных
signatures: <{
id: <number>; // Идентификатор номера подписи
meta: <string>; // Мета-данные подписи
public_key: <string>; // Публичный ключ
signature: <string>; // Подпись хэша
signed_at: <string>; // Время подписания
signed_hash: <string>; // Подписанный хэш
signer: <string>; // Аккаунт подписавшего
}[]>; // Вектор подписей
version: <string>; // Версия стандарта документа
};
username: <string>; // Имя аккаунта пользователя
};
};
const { [Mutations.Meet.SignByPresiderOnAnnualGeneralMeet.name]: result } = await client.Mutation(
Mutations.Meet.SignByPresiderOnAnnualGeneralMeet.mutation,
{ variables }
);
Результат:
interface IOutput {
signByPresiderOnAnnualGeneralMeet: {
hash: <string>; // Хеш собрания
pre?: {
agenda: <{
context: <string>; // Контекст или дополнительная информация по пункту повестки
decision: <string>; // Предлагаемое решение по пункту повестки
title: <string>; // Заголовок пункта повестки
}[]>; // Повестка собрания
close_at: <unknown>; // Дата закрытия собрания
coopname: <string>; // Имя аккаунта кооператива
hash: <string>; // Хеш собрания
initiator: <string>; // Инициатор собрания
initiator_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат инициатора собрания
open_at: <unknown>; // Дата открытия собрания
presider: <string>; // Председатель собрания
presider_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат председателя собрания
proposal?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
secretary: <string>; // Секретарь собрания
secretary_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат секретаря собрания
};
processed?: {
coopname: <string>; // Имя кооператива
decision: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
decisionAggregate?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
hash: <string>; // Хеш собрания
presider: <string>; // Председатель собрания
presider_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат председателя собрания
quorum_passed: <boolean>; // Пройден ли кворум
quorum_percent: <number>; // Процент кворума
results: <{
accepted: <boolean>; // Принят ли вопрос
context: <string>; // Контекст вопроса
decision: <string>; // Принятое решение
number: <number>; // Порядковый номер вопроса
question_id: <number>; // Идентификатор вопроса
title: <string>; // Заголовок вопроса
votes_abstained: <number>; // Количество воздержавшихся
votes_against: <number>; // Количество голосов против
votes_for: <number>; // Количество голосов за
}[]>; // Результаты голосования по вопросам
secretary: <string>; // Секретарь собрания
secretary_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат секретаря собрания
signed_ballots: <number>; // Количество подписанных бюллетеней
};
processing?: {
extendedStatus: <ExtendedMeetStatus>; // Расширенный статус собрания на основе дат и состояния
hash: <string>; // Хеш собрания
isVoted: <boolean>; // Флаг указывающий, голосовал ли текущий пользователь
meet: {
authorization?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
close_at: <unknown>; // Дата закрытия собрания
coopname: <string>; // Имя аккаунта кооператива
created_at: <unknown>; // Дата создания собрания
current_quorum_percent: <number>; // Текущий процент кворума
cycle: <number>; // Цикл собрания
decision1?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
decision2?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
hash: <string>; // Хеш собрания
id: <number>; // Уникальный идентификатор собрания
initiator: <string>; // Инициатор собрания
initiator_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат инициатора собрания
level: <string>; // Уровень собрания
notified_users: <string[]>; // Список пользователей, которые подписали уведомление
open_at: <unknown>; // Дата открытия собрания
presider: <string>; // Председатель собрания
presider_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат председателя собрания
proposal?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
quorum_passed: <boolean>; // Флаг достижения кворума
quorum_percent: <number>; // Процент необходимого кворума
secretary: <string>; // Секретарь собрания
secretary_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат секретаря собрания
signed_ballots: <number>; // Количество подписанных бюллетеней
status: <string>; // Статус собрания
type: <string>; // Тип собрания
};
questions: <{
context: <string>; // Контекст или дополнительная информация по вопросу
coopname: <string>; // Имя аккаунта кооператива
counter_votes_abstained: <number>; // Количество голосов "Воздержался"
counter_votes_against: <number>; // Количество голосов "Против"
counter_votes_for: <number>; // Количество голосов "За"
decision: <string>; // Предлагаемое решение по вопросу
id: <number>; // Уникальный идентификатор вопроса
meet_id: <number>; // Идентификатор собрания, к которому относится вопрос
number: <number>; // Порядковый номер вопроса в повестке
title: <string>; // Заголовок вопроса
voters_abstained: <string[]>; // Список участников, проголосовавших "Воздержался"
voters_against: <string[]>; // Список участников, проголосовавших "Против"
voters_for: <string[]>; // Список участников, проголосовавших "За"
}[]>; // Список вопросов повестки собрания
};
};
}
Подписание решения председателем на общем собрании пайщиков.
Перезапуск собрания¶
🛠️ SDK: Mutations.Meet.RestartAnnualGeneralMeet | 🔗 GraphQL API: Mutation.restartAnnualGeneralMeet
import { Mutations } from '@coopenomics/sdk';
const variables: Mutations.Meet.RestartAnnualGeneralMeet.IInput = {
data: {
coopname: <string>; // Имя аккаунта кооператива
hash: <string>; // Хеш собрания, которое необходимо перезапустить
new_close_at: <any>; // Новая дата закрытия собрания
new_open_at: <any>; // Новая дата открытия собрания
newproposal: {
doc_hash: <string>; // Хэш содержимого документа
hash: <string>; // Общий хэш (doc_hash + meta_hash)
meta: {
block_num: <number>; // Номер блока, на котором был создан документ
coopname: <string>; // Название кооператива, связанное с документом
created_at: <string>; // Дата и время создания документа
generator: <string>; // Имя генератора, использованного для создания документа
is_repeated: <boolean>; // Флаг повторного собрания
lang: <string>; // Язык документа
links: <string[]>; // Ссылки, связанные с документом
meet: {
close_at_datetime: <string>; // Дата и время окончания собрания
open_at_datetime: <string>; // Дата и время начала собрания
type: <string>; // Тип собрания (очередное или внеочередное)
};
questions: <{
context?: <null | string>; // Контекст или дополнительная информация по вопросу
decision: <string>; // Предлагаемое решение по вопросу повестки
number: <string>; // Номер вопроса в повестке
title: <string>; // Заголовок вопроса повестки
}[]>;
registry_id: <number>; // ID документа в реестре
timezone: <string>; // Часовой пояс, в котором был создан документ
title: <string>; // Название документа
username: <string>; // Имя пользователя, создавшего документ
version: <string>; // Версия генератора, использованного для создания документа
};
meta_hash: <string>; // Хэш мета-данных
signatures: <{
id: <number>; // Идентификатор номера подписи
meta: <string>; // Мета-данные подписи
public_key: <string>; // Публичный ключ
signature: <string>; // Подпись хэша
signed_at: <string>; // Время подписания
signed_hash: <string>; // Подписанный хэш
signer: <string>; // Аккаунт подписавшего
}[]>; // Вектор подписей
version: <string>; // Версия стандарта документа
};
};
};
const { [Mutations.Meet.RestartAnnualGeneralMeet.name]: result } = await client.Mutation(
Mutations.Meet.RestartAnnualGeneralMeet.mutation,
{ variables }
);
Результат:
interface IOutput {
restartAnnualGeneralMeet: {
hash: <string>; // Хеш собрания
pre?: {
agenda: <{
context: <string>; // Контекст или дополнительная информация по пункту повестки
decision: <string>; // Предлагаемое решение по пункту повестки
title: <string>; // Заголовок пункта повестки
}[]>; // Повестка собрания
close_at: <unknown>; // Дата закрытия собрания
coopname: <string>; // Имя аккаунта кооператива
hash: <string>; // Хеш собрания
initiator: <string>; // Инициатор собрания
initiator_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат инициатора собрания
open_at: <unknown>; // Дата открытия собрания
presider: <string>; // Председатель собрания
presider_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат председателя собрания
proposal?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
secretary: <string>; // Секретарь собрания
secretary_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат секретаря собрания
};
processed?: {
coopname: <string>; // Имя кооператива
decision: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
decisionAggregate?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
hash: <string>; // Хеш собрания
presider: <string>; // Председатель собрания
presider_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат председателя собрания
quorum_passed: <boolean>; // Пройден ли кворум
quorum_percent: <number>; // Процент кворума
results: <{
accepted: <boolean>; // Принят ли вопрос
context: <string>; // Контекст вопроса
decision: <string>; // Принятое решение
number: <number>; // Порядковый номер вопроса
question_id: <number>; // Идентификатор вопроса
title: <string>; // Заголовок вопроса
votes_abstained: <number>; // Количество воздержавшихся
votes_against: <number>; // Количество голосов против
votes_for: <number>; // Количество голосов за
}[]>; // Результаты голосования по вопросам
secretary: <string>; // Секретарь собрания
secretary_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат секретаря собрания
signed_ballots: <number>; // Количество подписанных бюллетеней
};
processing?: {
extendedStatus: <ExtendedMeetStatus>; // Расширенный статус собрания на основе дат и состояния
hash: <string>; // Хеш собрания
isVoted: <boolean>; // Флаг указывающий, голосовал ли текущий пользователь
meet: {
authorization?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
close_at: <unknown>; // Дата закрытия собрания
coopname: <string>; // Имя аккаунта кооператива
created_at: <unknown>; // Дата создания собрания
current_quorum_percent: <number>; // Текущий процент кворума
cycle: <number>; // Цикл собрания
decision1?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
decision2?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
hash: <string>; // Хеш собрания
id: <number>; // Уникальный идентификатор собрания
initiator: <string>; // Инициатор собрания
initiator_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат инициатора собрания
level: <string>; // Уровень собрания
notified_users: <string[]>; // Список пользователей, которые подписали уведомление
open_at: <unknown>; // Дата открытия собрания
presider: <string>; // Председатель собрания
presider_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат председателя собрания
proposal?: {
document: {
doc_hash: <string>;
hash: <string>;
meta: <unknown>;
meta_hash: <string>;
signatures: <{
id: <number>;
is_valid?: <null | boolean>;
meta: <unknown>;
public_key: <string>;
signature: <string>;
signed_at: <string>;
signed_hash: <string>;
signer: <string>;
signer_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат подписанта (сокращенная информация)
}[]>;
version: <string>;
};
hash: <string>;
rawDocument?: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
};
quorum_passed: <boolean>; // Флаг достижения кворума
quorum_percent: <number>; // Процент необходимого кворума
secretary: <string>; // Секретарь собрания
secretary_certificate?: <({ username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | null | undefined; inn: string; } | { username: string; type: AccountType; first_name: string; last_name: string; middle_name?: string | ... 1 more ... | undefined; } | { ...; }) & {}>; // Сертификат секретаря собрания
signed_ballots: <number>; // Количество подписанных бюллетеней
status: <string>; // Статус собрания
type: <string>; // Тип собрания
};
questions: <{
context: <string>; // Контекст или дополнительная информация по вопросу
coopname: <string>; // Имя аккаунта кооператива
counter_votes_abstained: <number>; // Количество голосов "Воздержался"
counter_votes_against: <number>; // Количество голосов "Против"
counter_votes_for: <number>; // Количество голосов "За"
decision: <string>; // Предлагаемое решение по вопросу
id: <number>; // Уникальный идентификатор вопроса
meet_id: <number>; // Идентификатор собрания, к которому относится вопрос
number: <number>; // Порядковый номер вопроса в повестке
title: <string>; // Заголовок вопроса
voters_abstained: <string[]>; // Список участников, проголосовавших "Воздержался"
voters_against: <string[]>; // Список участников, проголосовавших "Против"
voters_for: <string[]>; // Список участников, проголосовавших "За"
}[]>; // Список вопросов повестки собрания
};
};
}
Перезапуск общего собрания пайщиков при необходимости.
Генерация документов¶
Повестка собрания¶
🛠️ SDK: Mutations.Meet.GenerateAnnualGeneralMeetAgendaDocument | 🔗 GraphQL API: Mutation.generateAnnualGeneralMeetAgendaDocument
import { Mutations } from '@coopenomics/sdk';
const variables: Mutations.Meet.GenerateAnnualGeneralMeetAgendaDocument.IInput = {
data: {
block_num?: <null | number>; // Номер блока, на котором был создан документ
coopname: <string>; // Название кооператива, связанное с документом
created_at?: <null | string>; // Дата и время создания документа
generator?: <null | string>; // Имя генератора, использованного для создания документа
is_repeated: <boolean>; // Флаг повторного собрания
lang?: <null | string>; // Язык документа
links?: <null | string[]>; // Ссылки, связанные с документом
meet: {
close_at_datetime: <string>; // Дата и время окончания собрания
open_at_datetime: <string>; // Дата и время начала собрания
type: <string>; // Тип собрания (очередное или внеочередное)
};
questions: <{
context?: <null | string>; // Контекст или дополнительная информация по вопросу
decision: <string>; // Предлагаемое решение по вопросу повестки
number: <string>; // Номер вопроса в повестке
title: <string>; // Заголовок вопроса повестки
}[]>;
timezone?: <null | string>; // Часовой пояс, в котором был создан документ
title?: <null | string>; // Название документа
username: <string>; // Имя пользователя, создавшего документ
version?: <null | string>; // Версия генератора, использованного для создания документа
};
options?: {
lang?: <null | string>; // Язык документа
skip_save?: <null | boolean>; // Пропустить сохранение
};
};
const { [Mutations.Meet.GenerateAnnualGeneralMeetAgendaDocument.name]: result } = await client.Mutation(
Mutations.Meet.GenerateAnnualGeneralMeetAgendaDocument.mutation,
{ variables }
);
Результат:
interface IOutput {
generateAnnualGeneralMeetAgendaDocument: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
}
Генерация документа предложения повестки общего собрания пайщиков.
Уведомление о собрании¶
🛠️ SDK: Mutations.Meet.GenerateAnnualGeneralMeetNotificationDocument | 🔗 GraphQL API: Mutation.generateAnnualGeneralMeetNotificationDocument
import { Mutations } from '@coopenomics/sdk';
const variables: Mutations.Meet.GenerateAnnualGeneralMeetNotificationDocument.IInput = {
data: {
block_num?: <null | number>; // Номер блока, на котором был создан документ
coopname: <string>; // Название кооператива, связанное с документом
created_at?: <null | string>; // Дата и время создания документа
generator?: <null | string>; // Имя генератора, использованного для создания документа
lang?: <null | string>; // Язык документа
links?: <null | string[]>; // Ссылки, связанные с документом
meet_hash: <string>; // Хеш собрания
timezone?: <null | string>; // Часовой пояс, в котором был создан документ
title?: <null | string>; // Название документа
username: <string>; // Имя пользователя, создавшего документ
version?: <null | string>; // Версия генератора, использованного для создания документа
};
options?: {
lang?: <null | string>; // Язык документа
skip_save?: <null | boolean>; // Пропустить сохранение
};
};
const { [Mutations.Meet.GenerateAnnualGeneralMeetNotificationDocument.name]: result } = await client.Mutation(
Mutations.Meet.GenerateAnnualGeneralMeetNotificationDocument.mutation,
{ variables }
);
Результат:
interface IOutput {
generateAnnualGeneralMeetNotificationDocument: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
}
Генерация документа уведомления о проведении общего собрания.
Бюллетень для голосования¶
🛠️ SDK: Mutations.Meet.GenerateBallotForAnnualGeneralMeetDocument | 🔗 GraphQL API: Mutation.generateBallotForAnnualGeneralMeetDocument
import { Mutations } from '@coopenomics/sdk';
const variables: Mutations.Meet.GenerateBallotForAnnualGeneralMeetDocument.IInput = {
data: {
answers: <{
id: <string>; // ID вопроса
number: <string>; // Номер вопроса
vote: <string>; // Голос (за/против/воздержался)
}[]>; // Ответы голосования
block_num?: <null | number>; // Номер блока, на котором был создан документ
coopname: <string>; // Название кооператива, связанное с документом
created_at?: <null | string>; // Дата и время создания документа
generator?: <null | string>; // Имя генератора, использованного для создания документа
lang?: <null | string>; // Язык документа
links?: <null | string[]>; // Ссылки, связанные с документом
meet_hash: <string>; // Хеш собрания
timezone?: <null | string>; // Часовой пояс, в котором был создан документ
title?: <null | string>; // Название документа
username: <string>; // Имя пользователя голосующего
version?: <null | string>; // Версия генератора, использованного для создания документа
};
options?: {
lang?: <null | string>; // Язык документа
skip_save?: <null | boolean>; // Пропустить сохранение
};
};
const { [Mutations.Meet.GenerateBallotForAnnualGeneralMeetDocument.name]: result } = await client.Mutation(
Mutations.Meet.GenerateBallotForAnnualGeneralMeetDocument.mutation,
{ variables }
);
Результат:
interface IOutput {
generateBallotForAnnualGeneralMeetDocument: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
}
Генерация бюллетеня для голосования на общем собрании.
Решение собрания¶
🛠️ SDK: Mutations.Meet.GenerateAnnualGeneralMeetDecisionDocument | 🔗 GraphQL API: Mutation.generateAnnualGeneralMeetDecisionDocument
import { Mutations } from '@coopenomics/sdk';
const variables: Mutations.Meet.GenerateAnnualGeneralMeetDecisionDocument.IInput = {
data: {
block_num?: <null | number>; // Номер блока, на котором был создан документ
coopname: <string>; // Название кооператива, связанное с документом
created_at?: <null | string>; // Дата и время создания документа
generator?: <null | string>; // Имя генератора, использованного для создания документа
lang?: <null | string>; // Язык документа
links?: <null | string[]>; // Ссылки, связанные с документом
meet_hash: <string>; // Хеш собрания
timezone?: <null | string>; // Часовой пояс, в котором был создан документ
title?: <null | string>; // Название документа
username: <string>; // Имя пользователя, создавшего документ
version?: <null | string>; // Версия генератора, использованного для создания документа
};
options?: {
lang?: <null | string>; // Язык документа
skip_save?: <null | boolean>; // Пропустить сохранение
};
};
const { [Mutations.Meet.GenerateAnnualGeneralMeetDecisionDocument.name]: result } = await client.Mutation(
Mutations.Meet.GenerateAnnualGeneralMeetDecisionDocument.mutation,
{ variables }
);
Результат:
interface IOutput {
generateAnnualGeneralMeetDecisionDocument: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
}
Генерация документа решения общего собрания пайщиков.
Решение совета о проведении собрания¶
🛠️ SDK: Mutations.Meet.GenerateSovietDecisionOnAnnualMeetDocument | 🔗 GraphQL API: Mutation.generateSovietDecisionOnAnnualMeetDocument
import { Mutations } from '@coopenomics/sdk';
const variables: Mutations.Meet.GenerateSovietDecisionOnAnnualMeetDocument.IInput = {
data: {
block_num?: <null | number>; // Номер блока, на котором был создан документ
coopname: <string>; // Название кооператива, связанное с документом
created_at?: <null | string>; // Дата и время создания документа
decision_id: <number>; // ID решения совета
generator?: <null | string>; // Имя генератора, использованного для создания документа
is_repeated: <boolean>; // Флаг повторного собрания
lang?: <null | string>; // Язык документа
links?: <null | string[]>; // Ссылки, связанные с документом
meet_hash: <string>; // Хеш собрания
timezone?: <null | string>; // Часовой пояс, в котором был создан документ
title?: <null | string>; // Название документа
username: <string>; // Имя пользователя, создавшего документ
version?: <null | string>; // Версия генератора, использованного для создания документа
};
options?: {
lang?: <null | string>; // Язык документа
skip_save?: <null | boolean>; // Пропустить сохранение
};
};
const { [Mutations.Meet.GenerateSovietDecisionOnAnnualMeetDocument.name]: result } = await client.Mutation(
Mutations.Meet.GenerateSovietDecisionOnAnnualMeetDocument.mutation,
{ variables }
);
Результат:
interface IOutput {
generateSovietDecisionOnAnnualMeetDocument: {
binary: <string>; // Бинарное содержимое документа (base64)
full_title: <string>; // Полное название документа
hash: <string>; // Хэш документа
html: <string>; // HTML содержимое документа
meta: <unknown>; // Метаданные документа
};
}
Генерация документа решения Совета о проведении общего собрания.
Жизненный цикл общего собрания¶
- Инициация - создание повестки собрания
- Решение совета - принятие решения о проведении
- Уведомление - извещение всех пайщиков
- Проведение - само собрание и голосование
- Оформление - подписание решений секретарем и председателем
- Завершение - публикация итоговых документов