Skip to content

API 오류 및 응답

이 참고 문서에서는 Braze API를 사용하는 동안 발생할 수 있는 다양한 오류 및 서버 응답과 문제 해결 방법에 대해 설명합니다.

서버 응답

POST 페이로드가 서버에 의해 수락되었다면, 성공적인 메시지는 다음과 같은 응답을 받습니다:

1
2
3
{
  "message" : "success"
}

성공은 RESTful API 페이로드가 올바르게 형성되어 푸시 알림 또는 이메일 또는 기타 메시징 서비스에 전달되었다는 것을 의미합니다. 메시지가 실제로 전달되었다는 것을 의미하지는 않으며, 추가적인 요인이 메시지 전달을 방해할 수 있습니다(예: 기기가 오프라인일 수 있고, 푸시 토큰이 Apple의 서버에 의해 거부될 수 있으며, 알 수 없는 사용자 ID를 제공했을 수 있습니다).

메시지를 전송하지 않는 /users/identify와 같은 엔드포인트의 경우, 성공 메시지는 Braze가 처리 요청을 수신했음을 의미합니다. 처리 후 별칭에 대한 일치가 없으면 요청이 중단됩니다.

메시지가 성공적이지만 비치명적인 오류가 있는 경우, 다음과 같은 응답을 받습니다:

1
2
3
{
  "message" : "success", "errors" : [<minor error message>]
}

성공의 경우, errors 배열에서 오류의 영향을 받지 않은 모든 메시지는 여전히 전달됩니다. 메시지에 치명적인 오류가 있는 경우, 다음과 같은 응답을 받습니다:

1
2
3
{
  "message" : <fatal error message>, "errors" : [<minor error message>]
}

추적된 전송 ID에 대한 응답

애널리틱스는 캠페인에 항상 사용할 수 있습니다. 또한 캠페인이 생방송으로 전송될 때 특정 캠페인 전송 인스턴스에 대한 분석을 사용할 수 있습니다. 특정 캠페인 전송 인스턴스에 대한 추적이 가능할 때, 다음과 같은 응답을 받습니다:

1
2
3
{
  "message": "success", "send_id" : "example_send_id"
}

제공된 전송 ID는 /send/data_series 엔드포인트의 매개변수로 사용하여 특정 분석 결과를 다시 가져올 수 있습니다.

오류

서버 응답의 상태 코드 요소는 3자리 숫자로, 코드의 첫 번째 숫자가 응답의 클래스를 정의합니다.

  • 상태 코드의 2XX 클래스 (치명적이지 않음)는 요청이 성공적으로 수신되고 이해되었으며 수락되었음을 나타냅니다.
  • 상태 코드의 4XX 클래스 (치명적)는 클라이언트 오류를 나타냅니다. 4XX 오류 코드 및 설명의 전체 목록은 치명적인 오류 차트를 참조하세요.
  • 상태 코드의 5XX 클래스 (치명적)는 서버 오류를 나타냅니다. 예를 들어 액세스하려는 서버가 요청을 실행할 수 없거나 서버가 유지보수 중이어서 요청을 실행할 수 없거나 서버에 높은 수준의 트래픽이 발생하는 등 몇 가지 잠재적인 원인이 있을 수 있습니다. 이 경우 지수 백오프를 사용하여 요청을 다시 시도하는 것이 좋습니다. 인시던트 또는 가동 중단이 발생하는 경우, Braze는 인시던트 기간 동안 실패한 REST API 호출을 재생할 수 없습니다. 사고 발생 기간 동안 실패한 모든 호출을 재시도해야 합니다.
    • 502 오류는 대상 서버에 도달하기 전의 실패입니다.
    • 503 오류는 요청이 대상 서버에 도달했지만 용량이 충분하지 않거나 네트워크 문제 등으로 인해 요청을 완료할 수 없음을 의미합니다.
    • 504 오류는 서버가 업스트림의 다른 서버로부터 응답을 받지 못했음을 나타냅니다.

치명적인 오류

요청이 치명적인 오류에 직면할 경우, 다음 상태 코드와 관련된 오류 메시지가 반환됩니다.

New Stuff!