Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

solapi/solapi-elixir

Repository files navigation

SOLAPI SDK for Elixir

Caution

Experimental - 이 SDK는 현재 실험 단계입니다. API가 예고 없이 변경될 수 있으며, 프로덕션 환경에서의 사용은 권장하지 않습니다. 피드백은 GitHub Discussions에 남겨주세요!

SMS, LMS, MMS, 카카오 알림톡/친구톡 발송을 지원하는 SOLAPI 공식 Elixir SDK입니다.

빠른 시작

1. 의존성 추가 (mix.exs):

def deps do
 [{:solapi, "~> 0.1.0"}]
end

2. 환경 변수 설정:

export SOLAPI_API_KEY="your_api_key"
export SOLAPI_API_SECRET="your_api_secret"

3. 메시지 발송:

Solapi.send(%{to: "01012345678", from: "0212345678", text: "안녕하세요!"})

사전 준비: API 키 발급 | 발신번호 등록

설정

환경 변수 (권장)

config/runtime.exs:

config :solapi,
 api_key: System.get_env("SOLAPI_API_KEY"),
 api_secret: System.get_env("SOLAPI_API_SECRET")

런타임 클라이언트

client = Solapi.client(api_key: "key", api_secret: "secret")
Solapi.send(client, %{to: "01012345678", from: "0212345678", text: "안녕하세요!"})

사용법

SMS

Solapi.send(%{to: "01012345678", from: "0212345678", text: "안녕하세요!"})

LMS (장문)

Solapi.send(%{to: "01012345678", from: "0212345678", subject: "공지", text: "장문 메시지..."})

MMS (이미지)

Solapi.send(%{to: "01012345678", from: "0212345678", type: "MMS", text: "내용", image_id: "IMG_ID"})

카카오 알림톡

Solapi.send(%{
 to: "01012345678",
 from: "0212345678",
 kakao_options: %{
 "pfId" => "KA01PF...",
 "templateId" => "KA01TP...",
 "variables" => %{"#{고객명}" => "홍길동"}
 }
})

대량 발송

messages = [
 %{to: "01012345678", from: "0212345678", text: "메시지 1"},
 %{to: "01087654321", from: "0212345678", text: "메시지 2"}
]
Solapi.send(client, messages)

에러 처리

타입 설명
Solapi.Error.ValidationError 필수 파라미터 누락
Solapi.Error.ApiError API 응답 에러 (인증 실패 등)
Solapi.Error.NetworkError 네트워크 오류
case Solapi.send(message) do
 {:ok, response} -> IO.puts("성공: #{response["messageId"]}")
 {:error, %Solapi.Error.ApiError{message: msg}} -> IO.puts("실패: #{msg}")
 {:error, error} -> IO.puts("에러: #{inspect(error)}")
end

문서

라이선스

MIT License - LICENSE

About

SOLAPI SDK for Elixir

Resources

License

Stars

Watchers

Forks

Packages

Contributors

Languages

AltStyle によって変換されたページ (->オリジナル) /