API와 관련된 콜백 URL은 무엇입니까?


98

나는 인터넷을 샅샅이 뒤졌고 콜백 URL에 대한 아이디어를 내 머리로 감쌀 수없는 것 같습니다. 제 경우에는 직접 정의해야하는 콜백 URL이 몇 개 있습니다. 인기있는 것은 "기본 콜백 URL"입니다. 이것은 정확히 무엇입니까? 평범한 영어로 예를 들어 줄 수 있습니까?

답변:


67

콜백 URL은 완료된 후 호출하는 API 메서드에 의해 호출됩니다. 그래서 전화하면

POST /api.example.com/foo?callbackURL=http://my.server.com/bar

그런 다음 /foo완료되면에 요청을 보냅니다 http://my.server.com/bar. 해당 요청의 내용과 방법은 다를 수 있습니다. 액세스하는 API에 대한 설명서를 확인하세요.


1
콜백 URL이 올바르게 설정되지 않으면 오류가 발생합니까?
user3768495

@ user3768495 그렇지 않을 것이라고 예상하지만 API 구현에 따라 달라집니다. 이론적으로 트랜잭션의 콜백 부분을 내부적으로 만들고 콜백이 2xx 응답을 반환하지 않는 경우 원래 요청에 의해 변경된 사항을 롤백 할 수 있습니다.
Eric Stein

/api.example.com/foo에서 POST 요청에 대한 응답을 보내야합니까?
Abhijeet

@Abhijeet 당신은 필요 하지 않습니다 . 응답을 포함하는 것이 적절하다면, 그렇습니다.
에릭 스타

별도의 메모에서 클라이언트 측 또는 서버 측에서 콜백 URL을 어디에 보관해야한다고 생각하십니까?
Khatri

29

편지로 생각하십시오. 때로는 양식을 작성하도록 요청한 다음 양식이 들어 있던 원래 봉투에있는 주소가 미리 지정된 봉투에 양식을 반환하는 등의 편지를받습니다.

양식 작성을 마치면 제공된 반환 봉투에 넣고 다시 보냅니다.

callbackUrl은 반환 봉투와 같습니다. 당신은 기본적으로 내가이 데이터를 보내고 있다고 말하는 것입니다. 완료되면이 callbackUrl에서 귀하의 응답을 기다리고 있습니다. 따라서 API는 사용자가 보낸 데이터를 처리 한 다음 콜백을 확인하여 응답을 보냅니다.

때로는 일부 데이터를 처리하는 데 시간이 오래 걸리고 호출자가 응답을 기다리도록하는 것이 의미가 없기 때문에 유용합니다. 예를 들어 API를 통해 사용자가 문서를 보내고 바이러스를 스캔 할 수 있다고 가정 해 보겠습니다. 그런 다음 보고서를 보냅니다. 스캔은 3 분 정도 걸릴 수 있습니다. 사용자는 3 분 동안 기다릴 수 없습니다. 따라서 문서를 받았음을 인정하고 스캔을 수행하는 동안 발신자가 다른 비즈니스에 참여하도록 한 다음 완료되면 callbackUrl을 사용하여 스캔 결과를 알려줍니다.


13

콜백 URL을 사용하는 경우 API는 콜백 URL에 연결하여 일부 데이터를 보내거나받을 수 있습니다. 이는 API가 나중에 (API 호출 후) 사용자에게 연결할 수 있음을 의미합니다.

도표

  1. 당신은 에 요청하여 데이터 전송 API를
  2. API 는 두 번째 요청을 사용하여 데이터를 귀하 에게 보냅니다.

API 문서에 정확한 정의가 있어야합니다.


5

비동기 방식으로 API를 호출하는 메커니즘입니다. 순서는 다음과 같습니다

  1. 앱이 URL을 호출하여 콜백 URL을 매개 변수로 전달합니다.
  2. API는 20x http 코드로 응답합니다 (201 추측하지만 api 문서를 참조하십시오)
  3. API는 특정 시간 동안 귀하의 요청에 따라 작동합니다.
  4. API는 콜백 URL 주소에서 결과를 제공하기 위해 앱을 호출합니다.

따라서 API를 호출하고 사용자에게 예를 들어 요청이 "처리 중"또는 "획득"임을 알리고 API에서 응답을 받으면 상태를 업데이트 할 수 있습니다.

이해가 되길 바랍니다. -지


2

또 다른 사용 사례는 OAuth와 같은 것일 수 있습니다. API에서 직접 호출하지 않을 수 있습니다. 대신 ID 공급자와의 인증을 완료 한 후 브라우저에서 콜백 URL을 호출합니다.

일반적으로 사용자 이름 암호에 최종 사용자 키를 입력하면 ID 서비스 제공 업체는 임시 인증 코드를 사용하여 브라우저를 "콜백"URL로 리디렉션합니다. 예 :

https://example.com/callback?code=AUTHORIZATION_CODE

그런 다음 애플리케이션은이 인증 코드를 사용하여 수명이 훨씬 긴 ID 공급자에게 액세스 토큰을 요청할 수 있습니다.


0

나는 당신을 위해 이것을 매우 간단하게 만들 것입니다. 트랜잭션이 시작되면 터미널 단계에 도달 할 때까지 처리 단계에 들어갑니다. 터미널 단계에 도달하면 결제 게이트웨이에서 거래 상태를 일반적으로 판매자가 사용자에게 성공 / 실패 페이지를 표시하기 위해 참조로 사용하는 콜백 URL에 게시합니다. 도움이 되었기를 바랍니다?

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.