“ERP에 있는 상품 정보를 쇼핑몰로 보내고 싶습니다.”
“결제가 완료되면 사내 시스템에도 자동으로 반영되게 만들 수 있을까요?”
“택배사 API를 연결해서 송장 등록과 배송 조회를 자동화하고 싶습니다.”
API연동 개발을 검토할 때 처음 나오는 요구사항은 대체로 이렇게 간단합니다. 하지만 개발업체가 실제 구축 범위와 견적을 판단하려면 연결할 시스템의 이름만으로는 부족합니다.
같은 ERP 연동이라도 상품만 가져오는지, 재고와 거래처 가격까지 동기화하는지에 따라 범위가 달라집니다. 주문 데이터를 ERP로 전달한 뒤 처리 결과를 다시 쇼핑몰에 반영해야 한다면 상태 관리와 오류 대응 기능도 필요합니다.
결제 API 역시 결제창을 여는 기능만 필요한 경우와 승인·취소·부분 취소·환불·정산 조회까지 관리해야 하는 경우는 서로 다른 프로젝트에 가깝습니다.
그래서 API연동 개발업체에 문의하기 전에는 다음 질문에 답할 수 있어야 합니다.
- 어느 시스템이 원본 데이터를 관리하는가?
- 어떤 데이터를 주고받아야 하는가?
- 데이터는 언제 전달되어야 하는가?
- 두 시스템의 식별자와 상태값은 어떻게 연결할 것인가?
- 연동이 실패하면 자동으로 다시 처리할 것인가?
- 운영자는 실패한 건을 어디에서 확인하고 어떻게 조치할 것인가?
- API 계정, 권한과 테스트 환경은 누가 준비하는가?
이 내용을 미리 정리하면 모든 기술 사양을 완성하지 않더라도 개발업체가 필요한 질문을 구체적으로 할 수 있습니다. 반대로 “API 연결이 가능한가요?”라는 질문만으로 견적을 받으면 업체마다 서로 다른 범위를 가정하게 되고, 총액만으로 견적을 비교하기 어려워집니다.
API연동 개발과 데이터 이전은 무엇이 다를까요?
API는 서로 다른 시스템이 정해진 형식으로 요청과 응답을 주고받도록 만든 연결 규칙입니다.
예를 들어 쇼핑몰에서 결제 요청을 보내면 결제 시스템이 승인 결과를 반환할 수 있습니다. ERP에서 상품 목록을 조회해 B2B 주문 사이트에 보여줄 수도 있고, 주문이 접수되면 해당 주문 정보를 사내 업무 시스템으로 전달할 수도 있습니다.
반면 데이터 이전은 기존 데이터를 한 번 옮기는 작업에 가깝습니다.
기존 회원 데이터를 새로운 서비스로 옮기거나, 엑셀에 보관하던 상품 정보를 새 시스템에 등록하는 작업은 데이터 이전으로 분류할 수 있습니다. 이전이 완료된 뒤 두 시스템이 계속 정보를 주고받지 않는다면 지속적인 API연동과는 차이가 있습니다.
| 구분 | 데이터 이전 | API연동 |<br>|---|---|---|<br>| 목적 | 기존 데이터를 새로운 위치로 이동 | 서로 다른 시스템이 계속 데이터를 교환 |<br>| 실행 시점 | 한 번 또는 제한된 횟수 | 실시간·이벤트·주기적으로 반복 |<br>| 주요 검토 사항 | 데이터 정제, 필드 변환, 누락 확인 | 기준 시스템, 동기화 시점, 오류·중복·재처리 |<br>| 운영 기능 | 이전 결과와 누락 데이터 확인 | 요청 이력, 실패 사유, 재처리와 상태 확인 |<br>| 유지보수 | 이전 완료 후 범위가 줄어들 수 있음 | 외부 API 변경과 운영 장애에 지속 대응 |
API연동 프로젝트에는 초기 데이터 이전이 함께 포함되기도 합니다.
예를 들어 새 주문 시스템을 구축하면서 기존 ERP의 거래처와 상품을 처음 한 번 가져온 뒤, 이후 변경분만 API로 동기화할 수 있습니다. 이 경우에는 ‘초기 전체 데이터 이전’과 ‘운영 중 변경 데이터 동기화’를 분리해 범위를 확인해야 합니다.
연동 대상보다 먼저 기준 시스템을 정해야 합니다
두 시스템에 같은 종류의 데이터가 있다면 어느 쪽이 기준인지 먼저 결정해야 합니다.
ERP와 쇼핑몰에 모두 상품명, 판매가와 재고가 존재하는 상황을 생각해볼 수 있습니다. 운영자가 양쪽 시스템에서 모두 값을 수정할 수 있다면 다음과 같은 충돌이 생길 수 있습니다.
- ERP에서는 상품 가격을 10,000원으로 수정
- 쇼핑몰에서는 같은 상품 가격을 12,000원으로 수정
- 다음 동기화 때 어느 값을 유지해야 하는지 불분명
- 연동 방향에 따라 한쪽에서 수정한 값이 다시 이전 값으로 변경
이 문제는 API 호출 기술보다 업무 운영 기준에 가깝습니다.
다음과 같이 데이터 항목별 기준 시스템을 표로 정리하면 개발 범위를 설명하기 쉬워집니다.
| 데이터 | 기준 시스템 | 전달 방향 | 다른 시스템에서 수정 가능 여부 |<br>|---|---|---|---|<br>| 상품 기본정보 | ERP | ERP → 쇼핑몰 | 불가 |<br>| 상품 상세 설명 | 쇼핑몰 | 쇼핑몰 내부 관리 | 가능 |<br>| 판매 가능 재고 | ERP | ERP → 쇼핑몰 | 불가 |<br>| 신규 주문 | 쇼핑몰 | 쇼핑몰 → ERP | ERP에서 접수 처리 |<br>| 배송 상태 | ERP 또는 배송 시스템 | ERP → 쇼핑몰 | 지정된 시스템에서만 변경 |<br>| 결제 승인 상태 | 결제사 | 결제사 → 쇼핑몰 | 직접 수정 불가 |<br>| 고객 상담 메모 | 관리자 시스템 | 내부 관리 | 권한 있는 운영자만 수정 |
모든 데이터를 하나의 시스템이 관리해야 하는 것은 아닙니다. 상품명은 ERP가 기준이지만 상품 소개 콘텐츠는 쇼핑몰 관리자가 직접 작성할 수 있습니다.
중요한 것은 데이터 항목마다 다음 세 가지를 구분하는 것입니다.
- 최초 값을 만드는 시스템
- 수정 권한을 가진 시스템
- 다른 시스템으로 결과를 전달하는 방향
양방향 연동을 요청할 때도 주의해야 합니다.
양방향 연동은 어느 쪽에서 수정해도 자동으로 맞춰주는 기능처럼 들리지만, 실제로는 충돌 우선순위와 수정 시각, 동기화 실패를 함께 처리해야 합니다. 운영상 꼭 필요한 데이터만 양방향으로 연결하고 나머지는 기준 시스템을 명확히 두는 편이 구조를 단순하게 만들 수 있습니다.
실시간·주기적 동기화·웹훅 중 어떤 방식을 선택해야 할까요?
API연동은 데이터를 전달하는 시점에 따라 크게 세 가지 방식으로 구분해볼 수 있습니다.
1. 사용자의 요청과 함께 즉시 처리하는 방식
사용자가 화면에서 특정 작업을 실행할 때 외부 API를 바로 호출하는 방식입니다.
예를 들어 배송 조회 버튼을 눌렀을 때 택배사 API를 호출하거나, 주소를 입력하면 주소 검색 API에서 결과를 받아오는 기능이 여기에 해당합니다.
결과를 바로 보여줄 수 있다는 장점이 있지만 외부 시스템의 응답이 느리거나 중단되면 사용자 화면도 영향을 받을 수 있습니다. 따라서 요청 제한 시간, 로딩 안내, 실패 메시지와 대체 처리 방법을 함께 설계해야 합니다.
2. 정해진 주기로 데이터를 확인하는 방식
일정한 시간마다 외부 시스템을 조회해 변경 데이터를 가져오는 방식입니다. 이를 폴링 또는 배치 동기화라고도 합니다.
- 5분마다 신규 주문 조회
- 매시간 재고 동기화
- 매일 새벽 거래처 정보 갱신
- 하루 한 번 정산 데이터 수집
실시간으로 처리할 필요가 없는 업무에는 주기적 동기화가 더 적합할 수 있습니다. 다만 전체 데이터를 매번 가져올지, 마지막 동기화 이후 변경된 데이터만 가져올지에 따라 호출량과 처리 시간이 달라집니다.
Google Calendar API의 공식 동기화 안내도 최초에는 전체 동기화를 수행하고 이후에는 동기화 토큰을 이용해 변경 데이터를 가져오는 증분 동기화 방식을 설명합니다. 해당 토큰이 만료되거나 유효하지 않게 되는 상황에는 다시 전체 동기화가 필요할 수 있습니다. 실제 연동에서도 변경분 조회 기능의 제공 여부와 초기화 조건을 API별로 확인해야 합니다. (developers.google.com)
3. 외부 시스템이 변경 사실을 알려주는 웹훅 방식
웹훅은 외부 시스템에서 특정 이벤트가 발생했을 때 미리 등록된 주소로 알림을 보내는 방식입니다.
결제 승인, 구독 해지, 배송 상태 변경처럼 변경 시점을 빠르게 알아야 하는 업무에 활용할 수 있습니다. 일정 주기로 계속 조회하지 않아도 된다는 장점이 있지만, 웹훅을 받았다고 모든 업무가 완료되는 것은 아닙니다.
일부 서비스의 웹훅은 변경된 전체 데이터를 전달하기보다 “변경이 발생했다”는 사실만 알려줍니다. Google Calendar의 푸시 알림도 알림을 받은 뒤 변경된 상세 데이터를 확인하기 위해 추가 API 호출이 필요한 구조를 안내하고 있습니다. (developers.google.com)
또한 웹훅은 네트워크 상황이나 수신 서버의 응답 상태에 따라 다시 전달될 수 있습니다. Microsoft Graph 공식 문서도 웹훅 수신 서버가 정해진 시간 안에 정상 응답하지 않으면 전달을 재시도할 수 있다고 설명합니다. 따라서 웹훅은 한 번만 들어온다고 가정하지 말고, 같은 이벤트가 반복되어도 중복 처리되지 않도록 설계해야 합니다. (learn.microsoft.com)
세 가지 방식 가운데 하나만 선택해야 하는 것은 아닙니다.
주문 접수는 웹훅으로 빠르게 받고, 누락 여부는 주기적 동기화로 점검하는 식의 혼합 방식도 가능합니다. 견적 단계에서는 단순히 ‘실시간 연동’이라고 적기보다 업무상 허용할 수 있는 지연 시간을 함께 전달하는 것이 좋습니다.
상품·회원·주문·결제 데이터를 연결하려면 식별자가 필요합니다
서로 다른 시스템에서 같은 대상을 어떻게 찾을 것인지 정하는 것도 중요합니다.
ERP 상품번호가 P-1001이고 쇼핑몰 내부 상품번호가 3258이라면 두 값이 같은 상품을 가리킨다는 연결 정보를 저장해야 합니다.
상품명처럼 변경될 수 있는 값으로 데이터를 연결하면 문제가 생길 수 있습니다.
- 상품명이 수정될 수 있음
- 서로 다른 상품의 이름이 같을 수 있음
- 공백이나 특수문자 표기가 달라질 수 있음
- 시스템마다 글자 길이와 형식이 다를 수 있음
따라서 가능하면 변경되지 않는 고유 식별자를 사용하고, 외부 시스템의 ID와 내부 시스템의 ID를 함께 보관하는 구조를 검토해야 합니다.
| 데이터 종류 | 확인할 식별자 |<br>|---|---|<br>| 상품 | 내부 상품 ID, ERP 품목 코드, 외부 쇼핑몰 상품 ID |<br>| 옵션 | 옵션 ID, 품목 조합 코드, SKU |<br>| 회원 | 내부 회원 ID, 외부 회원 ID, 연동 계정 ID |<br>| 주문 | 내부 주문번호, 외부 주문번호, 채널별 주문 ID |<br>| 결제 | 주문번호, 결제 요청 ID, 결제사 거래 ID |<br>| 배송 | 주문·주문상품 ID, 택배사 코드, 송장번호 |<br>| 거래처 | 내부 거래처 ID, ERP 거래처 코드, 사업자 식별 정보 |
API연동 개발업체에 문의할 때는 실제 데이터 전체를 제공하지 않더라도 각 시스템에서 사용하는 샘플 식별자와 관계를 전달하는 것이 좋습니다.
한 주문에 여러 상품이 포함되거나, 하나의 주문이 여러 배송으로 나뉘거나, 여러 주문을 한 번에 합배송할 수 있다면 주문번호와 송장번호만 단순히 일대일로 연결할 수 없기 때문입니다.
상태값은 시스템별 이름보다 업무 의미를 맞춰야 합니다
API연동에서 자주 문제가 되는 부분이 상태값입니다.
쇼핑몰에서는 주문 상태를 다음과 같이 사용할 수 있습니다.
- 결제 대기
- 결제 완료
- 상품 준비
- 배송 중
- 배송 완료
- 취소 요청
- 취소 완료
ERP에서는 같은 업무를 다음처럼 관리할 수 있습니다.
- 접수
- 출고 지시
- 출고 완료
- 매출 확정
- 반품 접수
- 반품 완료
이 상태들은 이름도 다르고 변경 시점도 다를 수 있습니다. 쇼핑몰의 ‘배송 완료’가 ERP의 ‘매출 확정’과 항상 같은 의미라고 단정할 수도 없습니다.
따라서 상태명만 일대일로 연결하지 말고, 실제 업무 조건을 확인해야 합니다.
| 외부 상태 | 내부 상태 | 반영 조건 | 자동 처리 여부 |<br>|---|---|---|---|<br>| 결제 완료 | 주문 접수 대기 | 결제 검증 완료 | 자동 |<br>| 주문 접수 성공 | 주문 접수 | ERP 주문번호 발급 | 자동 |<br>| 출고 완료 | 배송 중 | 송장번호 존재 | 자동 |<br>| 취소 요청 | 취소 검토 | 이미 출고됐는지 확인 | 운영자 검토 |<br>| 환불 완료 | 결제 취소 | 환불 금액과 거래 ID 확인 | 조건부 자동 |
상태를 정의할 때는 정상 순서만 확인해서는 부족합니다.
- 결제는 승인됐지만 ERP 주문 등록이 실패한 경우
- 주문 등록은 성공했지만 응답을 받지 못한 경우
- 일부 상품만 재고가 부족한 경우
- 전체 주문 중 한 상품만 출고된 경우
- 취소 요청 중 배송이 시작된 경우
- 부분 취소와 부분 환불이 발생한 경우
이러한 중간 상태를 어디에 기록하고, 사용자는 어떤 안내를 보며, 운영자는 무엇을 확인해야 하는지 함께 정해야 합니다.
성공과 실패만으로는 연동 결과를 충분히 표현하기 어렵습니다
API 응답이 성공인지 실패인지 확인하는 것만으로는 실제 업무 결과를 판단하기 어려울 수 있습니다.
다음과 같은 상황이 발생할 수 있기 때문입니다.
요청은 성공했지만 업무 처리는 대기 중인 경우
외부 시스템이 요청을 정상적으로 접수했지만 내부 처리를 비동기로 진행할 수 있습니다. 이 경우 응답이 성공했다고 우리 시스템의 업무 상태를 최종 완료로 바꾸면 안 될 수 있습니다.
‘전송 완료’와 ‘외부 처리 완료’를 분리하고, 처리 결과를 다시 조회하거나 웹훅으로 받아야 합니다.
외부 처리는 성공했지만 응답을 받지 못한 경우
우리 시스템이 주문 등록 요청을 보냈고 ERP에서는 주문을 생성했지만, 응답이 돌아오기 전에 네트워크 연결이 끊길 수 있습니다.
이때 같은 요청을 그대로 다시 보내면 ERP에 주문이 두 번 생성될 수 있습니다. 외부 API가 중복 방지 키를 지원하는지 확인하고, 지원하지 않는다면 내부 요청 ID나 주문번호를 이용해 기존 처리 결과를 조회하는 방식이 필요합니다.
HTTP 표준에서도 동일 요청을 반복했을 때 서버의 의도된 결과가 한 번 요청한 것과 같도록 만드는 성질을 멱등성으로 설명합니다. 비멱등 요청은 원래 요청이 적용됐는지 확인할 수 있는 방법 없이 자동 재시도하지 않는 것이 원칙입니다. (datatracker.ietf.org)
일부 API는 별도의 멱등성 키를 제공합니다. Stripe 공식 문서의 경우 생성·수정 요청에 고유한 키를 사용하면 통신 오류 후 같은 요청을 다시 보내더라도 중복 작업을 방지할 수 있다고 안내합니다. 다만 모든 외부 API가 같은 기능을 제공하는 것은 아니므로 실제 연동 대상의 문서를 확인해야 합니다. (docs.stripe.com)
여러 건 가운데 일부만 처리된 경우
상품 100개를 전송했는데 95개만 성공하고 5개가 실패할 수 있습니다.
이 상황을 전체 실패로 볼지, 부분 성공으로 볼지 정해야 합니다. 이미 반영된 95개까지 다시 보내면 중복 수정이 발생할 수 있고, 실패한 5개를 찾을 수 없다면 운영자가 전체 데이터를 수작업으로 대조해야 합니다.
따라서 다음 정보가 남아야 합니다.
- 전체 요청 건수
- 성공 건수
- 실패 건수
- 실패한 데이터 식별자
- 실패 사유
- 마지막 처리 시각
- 재시도 횟수
- 운영자 재처리 여부
재시도와 운영자 재처리는 구분해서 설계해야 합니다
연동 실패를 처리하는 방법은 크게 자동 재시도와 운영자 재처리로 나눌 수 있습니다.
자동 재시도에 적합한 오류
- 외부 API의 일시적인 서버 오류
- 네트워크 연결 실패
- 제한 시간 초과
- 일시적인 호출 제한
- 잠시 후 해결될 가능성이 높은 장애
운영자 확인이 필요한 오류
- 필수 데이터 누락
- 존재하지 않는 상품·거래처 코드
- 권한이 없는 계정
- 이미 취소된 주문에 대한 변경 요청
- 재고나 금액 불일치
- 업무 규칙상 자동 판단이 어려운 상태 충돌
모든 오류를 자동으로 반복 호출하는 것은 적절하지 않습니다.
필수값이 빠진 요청은 같은 데이터를 여러 번 보내도 계속 실패합니다. 반면 외부 서버가 잠시 응답하지 않은 경우에는 일정 시간 후 다시 시도하면 성공할 수 있습니다.
따라서 오류 코드를 기준으로 다음 행동을 구분해야 합니다.
| 오류 유형 | 처리 방법 |<br>|---|---|<br>| 일시적 통신 오류 | 일정 간격 후 자동 재시도 |<br>| 호출 제한 초과 | 제한 해제 시점 또는 간격을 두고 재시도 |<br>| 인증 만료 | 토큰 갱신 후 재시도 |<br>| 입력 데이터 오류 | 자동 중단 후 운영자 확인 |<br>| 권한 부족 | 계정·권한 설정 확인 |<br>| 중복 가능성 | 기존 처리 결과 조회 후 판단 |<br>| 알 수 없는 오류 | 로그와 원본 요청 확인 후 수동 처리 |
API 제공자는 안정적인 운영을 위해 일정 시간 동안의 요청 횟수를 제한하기도 합니다. GitHub REST API 공식 문서도 인증 방식 등에 따라 호출 한도를 적용하고, 응답 헤더를 통해 남은 요청량과 초기화 시점을 확인할 수 있도록 안내합니다. 연동 대상이 호출 제한을 두고 있다면 동기화 주기, 한 번에 처리할 데이터 수와 재시도 간격에 이를 반영해야 합니다. (docs.github.com)
API연동에도 관리자 화면이 필요할 수 있습니다
API가 백그라운드에서 자동으로 동작하면 별도의 화면이 필요하지 않다고 생각하기 쉽습니다.
하지만 실제 운영에서는 연동이 정상적으로 처리되고 있는지 확인할 수단이 필요합니다. 개발 로그만 남기고 운영자가 볼 수 있는 화면이 없다면 작은 오류도 매번 개발자에게 확인을 요청해야 할 수 있습니다.
운영자용 관리 기능에는 다음 항목을 검토할 수 있습니다.
- 연동 대상별 최근 실행 시각
- 요청 데이터와 응답 결과
- 성공·실패·처리 중 상태
- 외부 시스템의 처리 ID
- 오류 코드와 운영자가 이해할 수 있는 사유
- 자동 재시도 횟수
- 수동 재처리 버튼
- 특정 기간 또는 식별자 검색
- 실패 건 엑셀 다운로드
- 데이터 수정 후 재전송
- 운영자의 재처리 이력
- 개인정보와 인증정보의 마스킹
모든 원본 요청과 응답을 그대로 화면에 노출해야 하는 것은 아닙니다. 인증 토큰이나 개인정보가 로그에 포함될 수 있기 때문에 개발자용 기술 로그와 운영자용 확인 정보를 구분하는 것이 좋습니다.
운영자는 “HTTP 400 오류”보다 “ERP에 등록되지 않은 거래처 코드입니다”라는 설명을 필요로 합니다. 따라서 외부 API 오류 메시지를 그대로 노출하는 것에 그치지 않고, 내부 업무 기준에 맞는 안내로 변환해야 할 수 있습니다.
인증·권한·개인정보 범위도 견적에 영향을 줍니다
API연동을 시작하려면 외부 시스템의 사용 권한이 필요합니다.
API 키를 발급받는 방식도 있고, 사용자 계정으로 동의 절차를 거쳐 접근 토큰을 받는 OAuth 방식도 있습니다. 특정 IP만 허용하거나 별도 서버 인증서, 방화벽 설정이 필요한 경우도 있습니다.
개발업체에 문의하기 전 다음 내용을 확인해보는 것이 좋습니다.
- API 계정과 계약은 어느 회사 명의로 진행하는가?
- 개발용 계정과 운영용 계정이 분리되어 있는가?
- 테스트용 API 또는 샌드박스 환경이 제공되는가?
- 상품 조회, 주문 등록, 취소 등 필요한 권한을 모두 받을 수 있는가?
- 인증 토큰의 만료 및 갱신 방식은 무엇인가?
- 특정 서버 IP 등록이 필요한가?
- 개인정보가 외부 시스템으로 전달되는가?
- 요청·응답 로그를 어느 기간까지 보관해야 하는가?
- 운영자가 조회할 수 있는 개인정보 범위는 어디까지인가?
OAuth를 사용하는 연동이라면 단순히 로그인 화면을 연결하는 데서 끝나지 않습니다. 리디렉션 주소 검증, 인증 코드 보호, 토큰 보관과 갱신 등도 함께 검토해야 합니다. IETF의 OAuth 2.0 보안 모범 사례는 리디렉션 주소의 정확한 검증, PKCE 사용과 전 구간 TLS 등을 권고하고 있습니다. (datatracker.ietf.org)
권한도 ‘API를 호출할 수 있는가’만 확인해서는 부족합니다.
운영자, 상담 담당자, 정산 담당자마다 조회하거나 재처리할 수 있는 데이터가 다를 수 있습니다. API에서 받은 객체의 ID를 알고 있다는 이유만으로 다른 거래처나 사용자의 데이터를 조회할 수 있어서는 안 됩니다. OWASP API Security 자료도 API 요청으로 전달된 객체 식별자뿐 아니라 실제 로그인 사용자가 해당 데이터에 접근할 권한이 있는지 개별적으로 검증해야 한다고 설명합니다. (api-security.owasp.org)
테스트 범위는 정상 처리보다 예외 상황을 중심으로 확인해야 합니다
API연동 테스트를 “한 건 전송해보고 성공하면 완료”로 끝내면 운영 중에 문제를 발견할 가능성이 높습니다.
다음과 같은 테스트 항목을 준비하는 것이 좋습니다.
정상 흐름
- 신규 데이터 등록
- 기존 데이터 수정
- 상태 변경
- 조회 결과 반영
- 웹훅 수신
- 운영자 화면에서 결과 확인
중복과 순서
- 같은 요청을 두 번 전송
- 같은 웹훅을 두 번 수신
- 이전 상태 알림이 나중에 도착
- 빠르게 연속으로 상태가 변경
- 운영자가 재처리하는 중 자동 재시도가 실행
실패와 복구
- 외부 API가 응답하지 않음
- 인증 토큰 만료
- 호출 제한 초과
- 잘못된 상품·거래처 코드
- 일부 데이터만 성공
- 전송 성공 후 응답 유실
- 웹훅 수신 서버 일시 중단
- 재시도 후 정상 복구
데이터 검증
- 필수값 누락
- 허용 길이를 초과한 텍스트
- 날짜와 시간대 차이
- 소수점과 반올림 기준
- 세금·할인·배송비 계산 차이
- 삭제되거나 비활성화된 데이터
- 개인정보 마스킹 여부
개발 환경에서 연동에 성공했다고 바로 운영 환경에 적용할 수 있는 것도 아닙니다.
운영 계정과 테스트 계정의 권한이 다를 수 있고, 운영 환경에서만 IP 등록이나 별도 심사가 필요할 수도 있습니다. 배포 전후에 어떤 데이터를 검증할지, 기존 데이터와 신규 데이터가 섞이지 않도록 어떻게 전환할지도 정해야 합니다.
API연동 개발업체 문의 전 준비하면 좋은 자료
처음부터 상세한 개발 명세서를 작성할 필요는 없습니다. 다음 자료만 준비해도 상담과 견적 검토가 훨씬 구체적이 됩니다.
1. 현재 사용 중인 시스템 목록
- ERP
- 쇼핑몰
- 자사 웹사이트 또는 앱
- 결제 시스템
- 배송·택배 시스템
- CRM
- 회계·정산 시스템
- 엑셀과 수작업 관리 자료
제품명과 버전, 클라우드형인지 사내 설치형인지도 함께 정리하면 좋습니다.
2. 현재 업무 흐름
예시는 다음과 같이 한 줄씩 정리할 수 있습니다.
``text<br>쇼핑몰에서 주문 접수<br>→ 운영자가 주문 내역 확인<br>→ 엑셀로 ERP에 다시 입력<br>→ ERP에서 출고 처리<br>→ 송장번호를 쇼핑몰에 수기 등록<br>→ 배송 완료 후 정산 확인<br>``
현재 흐름이 있어야 어떤 부분을 API로 자동화할지 판단할 수 있습니다.
3. 연동 후 원하는 흐름
``text<br>쇼핑몰 주문 접수<br>→ ERP 주문 자동 등록<br>→ 등록 결과와 ERP 주문번호 저장<br>→ 출고 후 송장번호 자동 수신<br>→ 쇼핑몰 배송 상태 반영<br>→ 실패 건은 관리자 화면에서 확인 및 재처리<br>``
‘자동화하고 싶다’보다 어떤 단계에서 수작업을 없애고 싶은지 보여주는 것이 중요합니다.
4. 주고받을 데이터 목록
- 상품
- 옵션
- 가격
- 재고
- 회원
- 거래처
- 주문
- 결제
- 취소·환불
- 배송
- 정산
각 데이터의 조회·등록·수정·삭제 필요 여부도 구분해보는 것이 좋습니다.
5. 사용 가능한 API 자료
- API 문서
- 개발자센터 안내
- 인증 방식
- 샘플 요청과 응답
- 테스트 계정
- 호출 제한
- 웹훅 제공 여부
- API 담당자 연락처
API 문서가 없다면 데이터베이스 직접 연동, 파일 교환, SFTP, 엑셀 업로드 등 다른 방법을 검토해야 할 수 있습니다. 다만 기존 시스템의 데이터베이스에 직접 접근하는 방식은 데이터 구조와 보안, 변경 책임을 별도로 확인해야 합니다.
API연동 견적서에서 확인할 항목
업체별 견적을 비교할 때는 총액보다 포함 범위를 먼저 맞춰야 합니다.
| 확인 항목 | 질문 예시 |<br>|---|---|<br>| 연동 방향 | 단방향인지 양방향인지 |<br>| 데이터 종류 | 상품·재고·주문·결제 중 어디까지인지 |<br>| 동기화 방식 | 실시간·웹훅·주기적 처리 중 무엇인지 |<br>| 초기 데이터 | 기존 데이터 전체 이전이 포함되는지 |<br>| 식별자 연결 | 내부·외부 ID 매핑을 어떻게 관리하는지 |<br>| 상태값 | 상태 변환표와 중간 상태 설계가 포함되는지 |<br>| 오류 처리 | 자동 재시도와 수동 재처리가 포함되는지 |<br>| 관리자 기능 | 로그 조회, 검색과 재처리 화면이 있는지 |<br>| 인증·보안 | API 키·토큰 보관과 권한 설계가 포함되는지 |<br>| 테스트 | 정상·실패·중복·부분 성공 테스트 범위 |<br>| 배포 | 테스트 환경과 운영 환경 적용 범위 |<br>| 문서화 | 연동 구조, 필드와 운영 방법 문서 제공 여부 |<br>| 유지보수 | 외부 API 변경과 장애 대응 조건 |<br>| 인수인계 | 소스코드, 서버, 계정과 배포 권한의 귀속 |
특히 ‘API연동 1식’처럼 한 줄로만 적힌 견적은 실제 포함 내용을 확인해야 합니다.
API 호출 코드만 개발하는지, 데이터 저장 구조와 상태 관리, 관리자 기능, 오류 재처리까지 포함하는지에 따라 구축 이후의 운영 가능성이 달라집니다.
API연동 개발업체의 역량은 어떤 질문으로 확인할 수 있을까요?
상담 과정에서 다음 질문을 해보면 업체가 단순 연결뿐 아니라 운영 구조까지 검토하는지 판단하는 데 도움이 됩니다.
- 외부 API가 느리거나 중단되면 우리 서비스는 어떻게 동작하나요?
- 요청은 처리됐지만 응답을 받지 못하면 어떻게 중복을 방지하나요?
- 같은 웹훅이 여러 번 들어오면 한 번만 처리할 수 있나요?
- 여러 건 중 일부만 실패하면 실패 데이터만 다시 처리할 수 있나요?
- 각 시스템의 상태값이 다르면 어떤 기준으로 변환하나요?
- 운영자가 실패 내역과 원인을 직접 확인할 수 있나요?
- 외부 API의 버전이나 인증 방식이 바뀌면 유지보수 범위는 어떻게 되나요?
- 테스트 계정이 없거나 API 문서가 부족하면 사전 검토를 어떻게 진행하나요?
- 개발 로그에 개인정보나 인증 토큰이 남지 않도록 어떻게 구분하나요?
- 연동 구조와 운영 방법을 어떤 문서로 인계하나요?
모든 프로젝트에 복잡한 관리자 시스템과 자동 복구 구조가 필요한 것은 아닙니다.
처리량이 적고 실패 시 담당자가 직접 확인할 수 있다면 초기에는 단순한 실패 목록과 수동 재처리 기능만 구축할 수도 있습니다. 반대로 주문·결제·재고처럼 누락이나 중복이 매출과 고객 응대에 직접 영향을 준다면 초기부터 상태 관리와 추적 기능을 충분히 포함해야 합니다.
원소프트가 API연동 범위를 검토하는 관점
원소프트는 API가 기술적으로 호출되는지만 확인하기보다 사용자 화면, 백엔드, 데이터베이스와 관리자 운영 흐름이 어떻게 연결되는지를 함께 검토합니다.
원소프트가 개발한 바토너 부동산 경매 업무 통합 플랫폼에서도 경매 정보 조회부터 입찰 신청, 계약 문서 처리, 결제, 포인트, 정산과 알림으로 이어지는 데이터를 하나의 업무 흐름으로 연결했습니다.
이 프로젝트에서는 OCR, 결제와 푸시 알림 같은 외부 기능을 연동하는 동시에, 각 처리 결과를 회원·입찰·계약·정산 데이터와 연결하고 운영자가 관리자 기능에서 확인할 수 있도록 백엔드와 API를 구성했습니다.
외부 기능을 호출하는 것 자체보다 다음 단계가 이어질 수 있는 상태와 이력을 남기는 것이 중요한 이유입니다.
예를 들어 문서를 OCR로 인식했다면 인식 결과가 어느 입찰 또는 계약 데이터에 속하는지 연결해야 합니다. 결제가 완료됐다면 결제 내역만 저장하는 것이 아니라 해당 서비스 신청과 정산 흐름에 어떤 상태로 반영되는지 정해야 합니다.
API연동을 검토할 때도 같은 관점이 필요합니다.
- 외부 데이터가 내부의 어떤 업무에 사용되는가?
- 결과가 어느 사용자와 주문, 계약 또는 결제에 연결되는가?
- 자동 처리와 운영자 확인의 경계는 어디인가?
- 실패했을 때 어떤 데이터부터 다시 처리해야 하는가?
- 이후 연동 대상이 추가돼도 확장할 수 있는 구조인가?
문의 전에 완성된 기획서가 없어도 괜찮습니다
API연동 개발을 문의하기 위해 모든 필드와 예외 상황을 미리 확정할 필요는 없습니다.
현재 운영 방식과 불편한 지점, 사용 중인 시스템, 자동화하고 싶은 흐름을 정리하는 것부터 시작할 수 있습니다. 이후 API 문서와 실제 샘플 데이터를 확인하면서 기준 시스템, 동기화 방식, 상태값과 오류 대응 범위를 구체화하면 됩니다.
다만 다음 다섯 가지는 가능한 범위에서 준비하는 것이 좋습니다.
- 현재 사용 중인 시스템
- 연결하려는 데이터
- 현재 수작업 흐름
- 연동 후 원하는 업무 흐름
- API 문서 또는 담당자 정보
API연동 견적은 연결할 API의 개수만으로 정해지지 않습니다.
데이터 종류와 연동 방향, 처리 시점, 상태값, 오류 재처리, 관리자 기능, 인증·보안, 테스트와 배포 범위에 따라 필요한 개발 내용이 달라집니다.
원소프트는 경기도 화성시 동탄순환대로 823, 영천동 에이팩시티에 위치한 웹·앱·AI·관리자 시스템 개발사입니다. ERP·결제·OCR·푸시 알림 등 외부 시스템 연동을 검토하고 있다면 현재 업무 흐름과 제공되는 API 자료를 바탕으로 필요한 개발 범위와 운영 기능을 함께 정리할 수 있습니다.
제목 후보
- API연동 개발업체 문의 전, 기존 시스템과 운영 범위를 정리하는 방법
- API연동 개발, 견적 문의 전에 기준 시스템과 오류 처리를 정하세요
- API연동 업체 선정 전 확인할 데이터 동기화·상태값·재처리 기준
- ERP·결제·배송 API연동, 연결보다 운영 범위를 먼저 확인하세요
- API연동 견적을 받기 전 준비할 자료와 개발 범위 체크리스트
추천 제목
API연동 개발업체 문의 전, 기존 시스템과 운영 범위를 정리하는 방법
메인 키워드
API연동
서브 키워드
- API연동 개발업체
- 외부 API 연동
- ERP API 연동
- 데이터 동기화
- API 연동 견적
추천 해시태그
#API연동 #API연동개발 #API연동개발업체 #외부API연동 #ERP연동 #데이터동기화 #관리자시스템개발 #업무자동화 #동탄개발업체 #화성웹개발
썸네일 문구
- API연동 전 정할 운영 범위
- 연결보다 중요한 오류 재처리
- API연동 문의 준비 체크리스트
글 요약
API연동은 외부 시스템을 기술적으로 연결하는 작업에 그치지 않고, 어느 시스템을 데이터의 기준으로 삼을지와 동기화 시점, 식별자·상태값, 오류·중복·부분 실패 처리 방식을 정하는 프로젝트입니다. 개발업체에 문의하기 전 현재 업무 흐름과 연동할 데이터, API 자료, 관리자 운영 범위를 준비하고 견적서에서 테스트·배포·유지보수 포함 여부까지 확인하는 방법을 정리했습니다.
CTA 후보
- 사용 중인 ERP·쇼핑몰·결제·배송 시스템과 현재 수작업 흐름을 전달해주시면, API 제공 범위와 운영 방식을 기준으로 필요한 개발 항목을 함께 정리해드릴 수 있습니다.
- API 문서는 있지만 실제 구축 범위를 판단하기 어렵다면 기준 시스템, 데이터 동기화와 오류 재처리까지 포함해 1차 개발 범위를 검토해볼 수 있습니다.
관련 포트폴리오
- 바토너(Batoner) - 부동산 경매 업무 통합 플랫폼
- 참고한 부분: 결제·OCR·푸시 알림 외부 연동, 사용자 유형별 인증과 권한, 입찰 신청부터 계약·결제·정산까지의 상태 기반 업무 흐름, 관리자 기능을 통한 회원·입찰·결제·정산·문의 데이터 관리, Swagger 기반 API 문서화
다음에 작성하면 좋은 연관 글
- ERP API연동 개발, 상품·거래처·주문 데이터의 기준 시스템을 정하는 방법
- 웹훅 개발, 중복 알림과 누락을 줄이기 위한 재처리 구조
- API연동 유지보수, 외부 서비스 버전 변경과 장애에 대응하는 방법
