Организация и отделения
Прежде чем создавать магазин необходимо указать данные организации, которая будет обслуживать товарные и финансовые потоки. Вы можете создавать несколько организаций, их отделений или кооперативных участков (департаментов), которые управляют различными магазинами.
Создание и изменение данных организации и департаментов, а так управление списком лиц с правом доступа к управлению организацией, осуществляется с помощью ACCESS_TOKEN, выпущенному только этой организацией.
- REST API
const response = await fetch(ENDPOINT_URL + '/v1/organization', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer ACCESS_TOKEN'
},
body: JSON.stringify({
title: 'Потребительский Кооператив "Ромашка"',
shortname: "ПК Ромака", //сокращенное название организации
slug: "romashka", //краткий псевдоним организации
email: "contact@romashka.web",
regdate: "2024-03-08",
regnum: "123456", //дата регистрации организации
taxid: "987654", //налоговый номер организации
account: COOP_ACCOUNT, //account организации в Coopenomics
website: "www.romashka.web",
description: "Описание организации"
})
});
const result = await response.json();
mutation OrganizationMutation {
manageOrganization(
data: {
organization: {
title: 'Потребительский Кооператив "Ромашка"'
slug: "romashka" #краткий псевдоним организации
shortname: "ПК Ромашка" #сокращенное название организации
email: "contact@romashka.web"
regdate: "2024-03-08"
regnum: "123456" #дата регистрации организации
taxid: "987654" #налоговый номер организации
account: COOP_ACCOUNT #account организации в Coopenomics
website: "www.romashka.web"
description: "Описание организации"
}
}
) {
organization {
id
slug
}
}
}
Поле SLUG - это псевдоним организации, котрый удобно использовать в адресной строке, его можно не указывать и, в таком случае, SLUG будет сформирован из названия компании title автоматически.
У организаций могут также быть отделения, структурные подразделения или кооперативные участки. Мы называем их Департаменты. По крайней мере один департамент создается автоматически в момент регистрации компании и имеет такой же SLUG и COOP_ACCOUNT как и у самой организации. Вы можете добавлять новые или изменять данные таких департаменов дополнительным запросом Mutation:manageDivision:
- REST API
const response = await fetch(ENDPOINT_URL + '/v1/division', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer ACCESS_TOKEN',
},
body: JSON.stringify({
organization: "romashka", //ID или slug головной организации
title: 'Кооперативный участок "Василёк"',
shortname: "КУ Василёк" //сокращённое название участка
email: "vasilek@romashka.web"
slug: "vasilek" //краткий псевдоним участка
account: COOP_ACCOUNT //account департамента (участка) в Coopenomics
website: "www.romashka.web"
description: "Описание участка"
})
});
const result = await response.json();
mutation OrganizationMutation {
manageDivision (
data: {
organization: {
id: "romashka" #ID или slug организации
divisions: {
title: 'Кооперативный участок "Василёк"'
shortname: "КУ Василёк" #сокращённое название участка
email: "vasilek@romashka.web"
slug: "vasilek" #краткий псевдоним участка
account: COOP_ACCOUNT #account департамента (участка) в Coopenomics
website: "www.romashka.web"
description: "Описание участка"
}
}
}
) {
organization {
id
slug
divisions {
id
slug
}
}
}
}
В момент создания организации и департаментов мы назначаем основного пользователя в список авторизованных членов, которые могут управлять организацией и магазином c правами chairman. Можно добавить пользователей с разными правами доступа:
Права доступа могут быть сделующие:
- associate - доступ к методам только для чтения данных магазина организации
- member - доступ только к методам, связанным с узко определенной деятельностью организации, назначенной вышестоящими исполнитеьными или управляющими органами
- manager - доступ к методам, связанным с оперативной деятельностью организации
- board - доступ ко всем методам, кроме действий, связанных с решением Совета, Правления или основного управляющего и исполнительного органов организации
- executive - доступ ко всем методам, кроме действий, связанных с решением Совета или основного управляющего органа организации
- chairman - полный доступ ко всем методам и ресурсам
Для редактирования данных организации или департаментов небходимо указать идентификатор, который может быть:
- ID - ID в формате UUID
- SLUG - псевдним (латинскими)
- COOP_ACCOUNT - аккаунт в Coopenomics
- REST API
const response = await fetch(ENDPOINT_URL + '/v1/division/IDENTIFICATOR', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer ACCESS_TOKEN',
},
body: JSON.stringify({
title: 'Кооперативный участок "Новый Василёк"'
})
});
const result = await response.json();
Вы можете добавлять новых пользователей или управлять их правами доступа:
- REST API
const response = await fetch(ENDPOINT_URL + '/v1/member', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer ACCESS_TOKEN',
},
body: JSON.stringify({
identifier: IDENTIFIER //ID, username или COOP_ACCOUNT пользователя
division: IDENTIFIER //ID, SLUG или COOP_ACCOUNT департамента
})
});
const result = await response.json();
Каждая организация или департамент могут иметь один или несколько почтовых адресов, которые добавляются методом Mutation:manageAddress
Типы и классификация видов адресов:
- home - (по умолчанию) адрес местонахождения
- legal - юридический адрес
- shipping - адрес доставки и получения груза
- warehouse - адрес складских помещений
- corporate - административный офис организации
- REST API
const response = await fetch(ENDPOINT_URL + '/v1/division', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer ACCESS_TOKEN',
},
body: JSON.stringify({
organization: "romashka", //ID, SLUG или COOP_ACCOUNT организации
})
});
const result = await response.json();
Можно добавить один или несколько телефонов методом Mutation:managePhone
Типы и классификация видов телефонных номеров:
- dormant - телефон отключен или не поддерживается
- home - домашний телефон
- work - офисный телефон
- mobile - мобильный номер телефона
- free - телефон бесплатного соединения (toll free)
- support - многоканальный телефон службы поддержки
- REST API
const response = await fetch(ENDPOINT_URL + '/v1/division', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer ACCESS_TOKEN',
},
body: JSON.stringify({
organization: "romashka", //ID, SLUG или COOP_ACCOUNT организации
})
});
const result = await response.json();
Дополнительные методы для управления организацией, департаментами и правами доступа пользователей в документации:
Теперь настало время создания магазина: Магазин и каталог