콘텐츠로 이동

한계 및 오류

이 페이지에는 API 전체에서 공유되는 규칙이 요약되어 있습니다. 필수 필드, 수명 주기 동작 및 모델별 의미 체계는 여전히 각 API 페이지에 속합니다.

아이템한도
신체 사이즈 요청최대 32KB.
게이트웨이 생성 ID32개의 소문자 16진수 문자입니다.
Channel 비밀번호일반적으로 8~128자입니다.
op_id1~128자; 문자, 숫자, _, :, -.
images최대 32개의 URL, 각각 최대 2048자.
tags최대 32개의 태그(각각 최대 64자)를 잘라내고 중복을 제거했습니다.
metadata스칼라 값만; 키 최대 64, 값 최대 512.
attrs객체 패치; null는 키를 제거합니다. 복잡한 중첩을 피하십시오.
ttlUnix-밀리초 타임스탬프; 공급자 전달 TTL은 약 28일로 제한됩니다.
알 수 없는 필드기본 Message, Event, Thing 및 MCP 도구 인수는 엄격합니다. 알 수 없는 필드가 400을 반환합니다.

성공:

{
"success": true,
"data": {
"accepted": true
},
"error": null,
"error_code": null
}

실패:

{
"success": false,
"data": null,
"error": "human readable message",
"error_code": "machine_readable_code"
}

자동화는 자연어 error 텍스트보다 successerror_code를 선호해야 합니다.

success=true는 Gateway가 요청을 처리했음을 의미합니다. accepted=true는 발송에 들어갔다는 뜻입니다.

다음 사항을 보장하지 않습니다.

  • 모든 디바이스가 온라인 상태입니다.
  • APNs 또는 FCM가 알림을 표시했습니다.
  • 실시간으로 전달되는 Android 개인교통수단.
  • 사용자는 알림 권한, 집중 모드, 배터리 정책의 영향을 받지 않습니다.

accepted를 최종 디바이스 디스플레이 영수증이 아닌 Gateway 수락 및 발송 상태로 처리합니다.

상태의미일반적인 이유해야 할 일
200Gateway가 요청을 처리했습니다success=true, 하지만 여전히 accepted를 확인하세요반환된 ID와 op_id를 저장합니다.
400유효성 검사 실패필수 필드 누락, 알 수 없는 필드, 잘못된 형식JSON를 API 필드 테이블과 비교하세요.
401Gateway 인증 실패개인용 Gateway는 PUSHGO_TOKEN를 사용합니다. Bearer 토큰이 없거나 잘못됨Authorization: Bearer <token>를 확인하세요.
404타겟 누락Channel, Event 또는 Thing이 존재하지 않습니다channel_id, event_id, thing_id를 확인하세요.
413요청 본문이 너무 큼JSON가 32KB를 초과합니다이미지 URL을 사용하세요. 메타데이터 또는 속성을 줄입니다.
503발송이 완전히 허용되지 않음공급자, private transport, 대기열 또는 다운스트림을 사용할 수 없음Gateway 로그, 통계, 대기열 용량을 검사합니다.
  • JSON가 유효해야 합니다.
  • event_id/event/create로 보내거나 thing_id/thing/create로 보내지 마세요.
  • 알 수 없는 필드를 제거합니다.
  • severitycritical, high, normal 또는 low여야 합니다.
  • attrs는 배열이나 깊게 중첩된 구조가 아닌 객체 패치여야 합니다.
  • 개인용 Gateway에 PUSHGO_TOKEN가 있는지 확인하세요.
  • 헤더는 Authorization: Bearer <token>여야 합니다.
  • 채널 비밀번호와 Gateway 토큰을 혼동하지 마세요.
  • 역방향 프록시가 인증 헤더를 제거하지 않는지 확인하세요.

요청이 성공했지만 디바이스가 알림을 보내지 않음

섹션 제목: “요청이 성공했지만 디바이스가 알림을 보내지 않음”
  • 클라이언트는 채널을 구독해야 합니다.
  • 기기 알림 권한이 활성화되어 있어야 합니다.
  • Apple 전달은 APNs, 포커스 모드 및 시스템 설정에 의해 영향을 받을 수 있습니다.
  • Android 클라이언트는 올바른 /gateway/profile를 가져올 수 있어야 합니다.
  • private transport 포트, 인증서, 외부 주소에 접근할 수 있어야 합니다.
  • Gateway 로그에 공급자 또는 개인 디스패치 오류가 표시될 수 있습니다.
  • PUSHGO_PRIVATE_TRANSPORTS를 활성화해야 합니다.
  • WSS는 HTTPS 도메인을 통해 연결할 수 있어야 합니다.
  • QUIC UDP 포트는 방화벽이나 프록시에 의해 차단될 수 있습니다.
  • Raw TCP는 TLS 또는 TLS 오프로드를 올바르게 처리해야 합니다.
  • 광고된 포트와 실제 바인딩 포트는 NAT 또는 포트 매핑에 따라 다를 수 있습니다.
  • PUSHGO_MCP_ENABLED를 활성화해야 합니다.
  • PUSHGO_PUBLIC_BASE_URL는 외부 HTTPS URL이어야 합니다.
  • 역방향 프록시는 /.well-known/*, /oauth/*/mcp를 전달해야 합니다.
  • DCR은 클라이언트 기능과 일치해야 합니다.
  • 바인드 페이지 세션이 만료될 수 있습니다.