{"id":43336041,"url":"https://github.com/solapi/solapi-agent","last_synced_at":"2026-02-02T00:36:27.309Z","repository":{"id":40272335,"uuid":"303170977","full_name":"solapi/solapi-agent","owner":"solapi","description":"Agent for SOLAPI Services","archived":false,"fork":false,"pushed_at":"2025-05-26T05:06:26.000Z","size":23398,"stargazers_count":0,"open_issues_count":0,"forks_count":3,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-05-26T06:25:48.780Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/solapi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-10-11T17:05:03.000Z","updated_at":"2025-05-26T05:06:29.000Z","dependencies_parsed_at":"2025-05-26T06:24:51.532Z","dependency_job_id":"45273e38-4465-4f27-ac7b-0137b2aef221","html_url":"https://github.com/solapi/solapi-agent","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/solapi/solapi-agent","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/solapi%2Fsolapi-agent","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/solapi%2Fsolapi-agent/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/solapi%2Fsolapi-agent/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/solapi%2Fsolapi-agent/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/solapi","download_url":"https://codeload.github.com/solapi/solapi-agent/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/solapi%2Fsolapi-agent/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28997081,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-01T23:10:54.274Z","status":"ssl_error","status_checked_at":"2026-02-01T23:10:47.298Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-02-02T00:36:26.277Z","updated_at":"2026-02-02T00:36:27.299Z","avatar_url":"https://github.com/solapi.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Solapi Agent\n\n## 🛑 주의사항 🛑\n* 더 이상 솔라피 DB 연동형 에이전트는 유지보수 되지 않습니다.\n* 문서를 통해 [API 개발연동](https://developers.solapi.com/references/messages/sendManyDetail)을 진행해주시거나, [SOLAPI Github](https://github.com/solapi) 내 SDK를 통해 개발연동을 진행해주시기 바랍니다.\n\n## 개요\nDB INSERT로 카카오톡 및 문자를 발송 할 수 있도록 go언어로 작성되었습니다.  \n현재 Agent는 go 컴파일러(go 1.18 기준)로 새로 빌드하셔야 합니다.\n\n## DB 준비\n\u003e MySQL 버전 5.7.14 이상을 준비해주세요.\n\u003e 혹은 MariaDB 버전 10.2 이상을 준비해주세요.\n\n아래 내용으로 DB 및 계정을 만들어 주세요.\n```\nCREATE DATABASE msg;\nCREATE USER 'msg'@'localhost' IDENTIFIED BY 'msg';\nGRANT ALL PRIVILEGES ON msg.* TO 'msg'@'localhost';\n```\n아래 스키마로 테이블을 만들어 주세요. (MariaDB는 create_table_maria.sql 참고)\n```\nCREATE TABLE msg (\n  id integer  AUTO_INCREMENT primary key,\n  createdAt DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,\n  updatedAt DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,\n  scheduledAt DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,\n  sendAttempts SMALLINT NOT NULL DEFAULT 0,\n  reportAttempts SMALLINT NOT NULL DEFAULT 0,\n  `to` VARCHAR(20) AS (payload-\u003e\u003e'$.to') STORED,\n  `from` VARCHAR(20) AS (payload-\u003e\u003e'$.from') STORED,\n  groupId VARCHAR(255) AS (result-\u003e\u003e'$.groupId') STORED,\n  messageId VARCHAR(255) AS (result-\u003e\u003e'$.messageId') STORED,\n  status VARCHAR(20) AS (result-\u003e\u003e'$.status') STORED,\n  statusCode VARCHAR(255) AS (result-\u003e\u003e'$.statusCode') STORED,\n  statusMessage VARCHAR(255) AS (result-\u003e\u003e'$.statusMessage') STORED,\n  payload JSON,\n  result JSON default NULL,\n  sent BOOLEAN NOT NULL default false,\n  KEY (`createdAt`),\n  KEY (`updatedAt`),\n  KEY (`scheduledAt`),\n  KEY (`sendAttempts`),\n  KEY (`reportAttempts`),\n  KEY (`to`),\n  KEY (`from`),\n  KEY (groupId),\n  KEY (messageId),\n  KEY (status),\n  KEY (statusCode),\n  KEY (sent)\n) DEFAULT CHARSET=utf8mb4;\n```\n\n## 소스 코드 빌드\n아래 명령으로 빌드하면 agent 실행파일이 생성됩니다.\n```\ngo build ./cmd/agent/agent.go\n```\n\n## 서비스 데몬 설치\n\n빌드된 agent 파일을 /opt/agent 디렉토리를 만들고 아래로 복사합니다.\n```\nmkdir -p /opt/agent\ncp ./agent /opt/agent/agent\n```\n\n/opt/agent/db.json 파일을 만들고 DB접속 정보를 입력합니다.\n```\nvi /opt/agent/db.json\n```\ndb.json 예시\n```\n{\n  \"provider\": \"mysql\",\n  \"dbname\": \"msg\",\n  \"table\": \"msg\",\n  \"user\": \"root\",\n  \"password\": \"root-password\",\n  \"host\": \"localhost\",\n  \"port\": 3306\n}\n```\n\n/opt/agent/config.json 파일을 만들고 API Key정보를 입력합니다.\n```\nvi /opt/agent/config.json\n```\nconfig.json 예시\n```\n{\n  \"APIKey\": \"발급받은 API Key 입력\",\n  \"APISecret\": \"발급받은 API Secret Key 입력\",\n  \"Protocol\": \"https\",\n  \"Domain\": \"api.solapi.com\",\n  \"Prefix\": \"\",\n  \"AppId\": \"\",\n  \"AllowDuplicates\": true\n}\n```\nPrefix, AppId는 비워두시면 됩니다.\nAllowDuplicates값이 true이면 동시간대 같은 수신번호로 여러건 발송이 가능하고, false이면 한건만 발송되고 나머지는 중복건으로 발송 실패됩니다.\n\n## 서비스 데몬 실행\n서비스 데몬을 시스템에 등록 및 실행합니다. (모든 명령은 root 권한으로 실행해야 합니다.)\n```\n./agent install\n./agent start\n```\n\n기본 설치 경로(/opt/agent)와 다르게 설치한 경우 아래와 같이 AGENT_HOME 환경변수를 설정해 주세요\n```\nexport AGENT_HOME=/home/ubuntu/agent\n```\n\n## 서비스 데몬 명령\n시스템에 등록\n```\n./agent install\n```\n\n데몬 실행\n```\n./agent start\n```\n\n데몬 상태\n```\n./agent status\n```\n\n데몬 정지\n```\n./agent stop\n```\n\n시스템에서 제거\n```\n./agent remove\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsolapi%2Fsolapi-agent","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsolapi%2Fsolapi-agent","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsolapi%2Fsolapi-agent/lists"}