CLIВведение

CLI

Введение

Установите команду sofia, войдите в аккаунт и публикуйте из терминала: посты, медиа, аккаунты, статистика и вебхуки, с выводом в JSON для скриптов.

Sofia CLI оборачивает Sofia API v1 в одну команду sofia. Каждая команда записывается как ресурс:действие, а каждый ответ — JSON, поэтому её легко объединять с jq, cron и CI-пайплайнами.

Установка

CLI опубликована в npm как пакет sofia-post; устанавливается команда sofia.

npm install -g sofia-post
pnpm install -g sofia-post
yarn global add sofia-post

Проверьте установку и выведите список всех команд. Добавьте --help к любой команде, чтобы увидеть её параметры.

sofia --help
sofia posts:create --help
sofia --version

Быстрый старт

Войдите через браузер, найдите своё заведение и опубликуйте первый пост.

sofia auth:login
sofia establishments:list
sofia posts:create -e $ESTABLISHMENT_ID -p instagram -c "Tarte tatin du jour"

Команды

КомандаЧто делает
auth:login, auth:status, auth:logoutВойти через браузер, узнать, кто вы, выйти.
meПоказывает аккаунт, от имени которого работает CLI.
platforms:listСписок сетей, куда публикует Sofia, и их правила.
establishments:listСписок ваших заведений.
accounts:list, accounts:connectСписок подключённых аккаунтов или ссылка для подключения нового.
posts:create, posts:list, posts:get, posts:update, posts:deleteПубликовать, планировать, просматривать, редактировать и удалять посты.
media:upload, media:list, media:get, media:deleteЗагружает файл или https-адрес в медиатеку и управляет ею.
insights:getЧитает статистику заведения.
webhooks:create, webhooks:list, webhooks:delete, webhooks:testРегистрировать, просматривать, удалять и тестировать вебхуки.

Вывод в JSON

Каждая команда выводит в stdout JSON-ответ API с отступами. Передайте его в jq, чтобы выбрать нужное.

sofia establishments:list | jq '.data[].id'

При ошибке конверт ошибки API (или локальная ошибка той же формы) уходит в stderr, а код возврата равен 1.

{ "error": { "code": "invalid_request", "message": "…", "details": [ … ] } }

Удаление отвечает { "deleted": true, "id": "…" }. Дальше: аутентификация, затем посты.

Эта страница была полезной?