Glowb Dev Docs
Admin API인스타 DM 자동응답

대화 상대에게 보내기

DM 이력 화면에서 그 상대에게 바로 DM 을 보냅니다. 보낼 수단은 서버가 정합니다.

대화 상대에게 보내기

DM 이력 화면에서 보고 있는 상대에게 바로 DM 을 보냅니다.

실제 인스타그램 DM 이 발송됩니다. test 서버도 DM 데이터는 prod 와 같은 것을 보므로 화면의 상대는 실제 크리에이터입니다.

보낼 수단은 서버가 정합니다

화면은 본문만 보냅니다. 무엇으로 보낼지는 서버가 정하고, 실제로 나간 수단은 응답의 via 로 알 수 있습니다. 지금은 파트너십 메시지 → 일반 DM 순으로만 보내고, 둘 다 안 되면 보내지 않습니다 — AutoDM 으로는 보내지 않습니다.

HTTP 요청

POST /ai/admin/ig-dm/threads/{peerIgsid}/messages
Authorization: Bearer {access_token}
Content-Type: application/json

{
  "content": "안녕하세요, Glow.B 입니다.",
  "force": false
}

Path Parameters

파라미터타입필수설명
peerIgsidString예대화 상대 ID (대화 상대 목록의 peerIgsid)

Request Body

필드타입필수설명
contentString예보낼 내용
forceBoolean아니오수신을 중단한 크리에이터에게도 보낼지. 기본 false
applicationIdLong아니오미비한 일정에서 보낼 때의 신청 ID. 주면 실제로 보내진 뒤 그 신청에 연락 이력(INSTAGRAM_DM)을 남깁니다
campaignNoInteger아니오applicationId 와 함께 주면 그 신청이 이 캠페인 것인지 보내기 전에 대조합니다
pendingCaseString아니오연락 이력에 남길 미비 사유(미비한 일정 목록의 pendingCase)

미비한 일정 DM 위젯에서 쓰기

  1. 대화 상대 목록을 applicationId={신청ID}&folder=PARTNERSHIP 으로 조회합니다.
  2. 결과가 있으면 그 peerIgsid 로 대화를 열고, 이 API 에 applicationId·campaignNo·pendingCase 를 함께 실어 보냅니다.
  3. 결과가 비면 아직 그 크리에이터와 파트너십 대화가 없는 것입니다 — "아직 파트너십 메시지를 보내지 않았습니다" 로 안내하세요. 첫 메시지는 인스타그램 앱에서 보내야 합니다.

응답

발송 실패도 200 으로 오고 data.ok 가 false 입니다. 요청 자체가 잘못된 경우만 에러 응답입니다.

성공 응답 (200 OK)

{
  "status": 200,
  "code": null,
  "message": "DM 발송 요청을 처리했습니다.",
  "data": {
    "peerIgsid": "1699622574467666",
    "peerUsername": "give_me_jishin",
    "ok": true,
    "via": "PARTNERSHIP",
    "messageId": "aWdfZAG1faXRlbToxOklH..."
  }
}

발송 실패 (200 OK, ok=false)

{
  "status": 200,
  "code": null,
  "message": "DM 발송 요청을 처리했습니다.",
  "data": {
    "peerIgsid": "1346286794282890",
    "peerUsername": "beom710",
    "partnershipReason": "파트너십 대화가 없습니다. 첫 메시지는 Business Suite 에서 보내야 합니다.",
    "apiReason": "(#10) This message is sent outside of allowed window.",
    "ok": false,
    "reason": "파트너십·일반 DM 으로 보낼 수 없어 보내지 않았습니다(AutoDM 으로는 넘기지 않습니다). (#10) This message is sent outside of allowed window."
  }
}
필드설명
ok보냈으면 true
via실제로 나간 수단 — PARTNERSHIP(파트너십 메시지) / API(일반 DM)
messageId파트너십·API 로 나간 메시지 ID
partnershipReason파트너십을 건너뛴 이유 (AUTO 에서 다음 단계로 넘어간 경우)
apiReason일반 DM 으로 보내지 못한 이유 (예: 24시간 창이 닫힘)
reason보내지 못한 이유
contactLogIdapplicationId 를 줬고 실제로 보내졌을 때 남긴 연락 이력 ID. 요약은 파트너십이면 인스타 파트너십 메시지 발송 (@계정), 일반 DM 이면 인스타 DM 발송 (@계정)
contactLogError메시지는 보내졌지만 연락 이력 저장이 실패한 경우의 사유. 다시 보내지 마세요(중복 발송)

보낸 메시지는 릴레이가 기록하므로 곧바로 대화 상세에 나타납니다.

차단 규칙

상황결과
주고받은 기록이 없는 peerIgsid404 (INVALID_DATA)
없는 applicationId, 또는 campaignNo 와 다른 캠페인의 신청404 (INVALID_DATA) — 보내지 않습니다
content 가 비어 있음404 (INVALID_DATA)
DM 인증한 크리에이터가 수신을 중단함404 (INVALID_DATA). force: true 면 보냅니다
test 환경에서 허용 목록 밖 계정파트너십 메시지는 보냅니다(test 에서도 실발송 — 기존 파트너십 대화 상대만). 파트너십이 안 되면 일반 DM 으로는 넘기지 않고 ok=false
파트너십 대화가 없고 일반 DM 24시간 창도 닫힘ok=false — AutoDM 으로 넘기지 않습니다

에러 응답

상태 코드설명
404위 차단 규칙 (code: INVALID_DATA, 사유는 message) — 기존 DM 발송과 같은 예외 코드입니다
401인증 실패
403ADMIN 권한 없음

On this page