워드프레스로 인터페이스가 되던 내용을 API로 처리해야 하기 때문에

기존 워드프레스 Form의 필드를 확인했는데

기존 필드 개수 등을 비교해보니 유사한 명칭들의 필드가 같은 경우는 통합이 가능했지만

이름이 유사해서 통합 문의가 고객사에 날아간 데이터 중 일부는 필드 개수가 확연히 차이났다.

 

일단 그 부분이야 여러개를 만들면 되기 때문에 딱히 신경쓸 부분은 아니고

협력사쪽에 정의서를 전달하기 위해 필드 정리를 시작했는데

대부분의 필드는 간단하게 정리해서 정의서 초안을 만들 수 있었지만

마지막에 특정 필드는 Name: vx_list_files , Type: files 형태로 되어있었다.

 

애초에 세일즈포스에 저런 말도 안되는 필드 명칭이 standard일리도 없어 보였지만

용량제한도 있을 것 같은데 file도 아닌 files였기 때문에 상당히 당황스러웠다.

해당 방식을 처리하기 위해 "files": ['aaa','bbb','ccc'] 형태로 받아볼까 했지만

용량 제한은 그대로 문제기도 했고 blob 방식이라 데이터도 뭔가 애매하게 올 것 같았다.

 

일단 files 관련 이상한 코드는 무시하고 다른 필드의 정리를 마무리했는데

첫번째 인터페이스용 초안을 완성했기 때문에 나머지는 내용물만 복사해서 빠르게 정의를 할 수 있을 것 같았다.

 

나머지 필드 정의서는 급한게 아니기 때문에 필드만 훑어봤는데

다른 인터페이스에서도 파일 전송 부분이 보이고 있었고

고객사 홈페이지를 들어가서 직접 문의사항 작성등을 눌러보니

용량 무제한이나 30mb등 SFDC Heap Size가 6MB밖에 안되기 때문에

Custom REST API로는 도저히 답이 보이지 않았다.

 

여기서 해결 가능한 방법은 기껏해야 링크로 수신해서 저장하는 방법이나

SFDC REST API를 사용해서 보내라고 안내하는 법 밖에 없어보였는데

첫번째 방법의 경우에는 파일이 생성되는게 아니기 떄문에

고객사에서 파일들의 다운로드 링크를 직접 눌러서 다운받은 다음

다운받은 파일들을 개별적으로 다 열어봐야만 확인이 가능한 방식이라 사실 말이 안되고

두번째 방식으로 무조건 가야 한다고 생각하긴 하지만

협력사에서 그냥 Custom REST API에 한번에 보내고 끝내는 방식이 아니고

나머지 Form Data를 전부 발송한 다음 협력사에서 해당 ID값을 반환받고

해당 ID에 해당하는 부모값을 참조하며 파일 생성을 직접 SFDC 기본 제공 API로 해야 할 것 같았다.

 

일단 링크 방식 및 파일 전송 방식을 고객사에서 결정해야 할 것 같았고

파일 전송 방식의 경우 SFDC REST API의 경우에도 제한이 있기 때문에

두번째 방식 선택 시 용량 제한 및 파일 조건, 개수 등에 대한 문의를 작성했다.

 

이후 출고 시스템 관련 에러에 대한 SAP 답변을 확인했는데

서버는 연결되었고 그 외에 데이터가 비정상인 부분까지 검토해줬는데

사실 개발서버고 연동되지 않아 정상처리 자체가 쉽지 않긴 했지만

일단 가능한대로 처리하려고 하더라도 이미 처리된 데이터라 진행되지 않았다.

 

퇴근시간 근처라서 보낼까 고민이 잠깐 되긴 했는데

고객사와 같이 테스트를 진행할 수 있도록 방법 안내를 요청했고

상단에 오늘 진행할 내용이 아니라 다음 주 중에 처리해주면 된다는 내용을 강조해서 발송했다.

 

 

(1).백준 17388번 와글와글 숭고한은 그냥 숭실 고려 한양대학교가 협력한다고 할 때

업무 진행도가 100 이상인 경우 OK를 출력하고 그 외의 경우 가장 기여도가 낮은 학교를 출력해야 하는 문제였다.

 

List에 각 학교 명칭을 기입해두고

최저값을 따로 빼서 비교할 때 사용하기로 했고

일단 모든 값을 합해서 100 이상이면 OK를 출력했고

나머지 경우 각각의 index에 맞는 값들을 min과 비교한 다음 일치하는 경우 list에 해당 index를 넣어 출력해줬다.

const input = `31 41 59`.split(' ').map(Number)

const list = ['Soongsil', 'Korea', 'Hanyang']
const min = Math.min(...input)
if(input[0] + input[1] + input[2] >= 100){
    console.log('OK')
}
else if(input[0] == min){
    console.log(list[0])
}
else if(input[1] == min){
    console.log(list[1])
}
else{
    console.log(list[2])
}

'회고' 카테고리의 다른 글

[개발일지] - 454(주말)  (1) 2024.09.29
[개발일지] - 453(주말)  (1) 2024.09.28
[개발일지] - 451  (0) 2024.09.26
[개발일지] - 450  (2) 2024.09.25
[개발일지] - 449  (0) 2024.09.24

+ Recent posts