대량 데이터 교환을 위해 Walmart Marketplace API에 대한 POST 요청에 문제가있어 도움이 필요합니다.Walmart API POST가 400 잘못된 요청 (인벤토리 피드)으로 실패 함 ARCA
는배경 : 내가 서명 인증 루틴을 작성에 성공했고, 성공적으로 얻을 제품과 같은 명령을 GET 실행할 수 등이 인증 서명이 제대로 (대부분의 경우) 형식 및 헤더 것을 나에게 나타냅니다 맞습니다.
문제점 : 400 잘못된 요청 응답이 수신 중이며 요청 내용이 유효하지 않습니다. 월마트 API에 테스트 피드를 제출할 때 응답 나는이 문제가 일반적이라는 것을 읽었지만 실제 문제를 명확하게 설명하는 포럼 게시판이나 해결 방법을 아직 찾지 못했습니다. 여기 내 현재의 매개 변수는 다음과 같습니다
ARCA ARCA Rest Client For Chrome
URL :
https://marketplace.walmartapis.com/v2/feeds?feedType=inventory
가 헤더 :
Accept: application/xml
WM_SVC.NAME: Walmart Marketplace
WM_CONSUMER.ID: <Consumer ID>
WM_SEC.AUTH_SIGNATURE: <Good Auth Signature>
WM_QOS.CORRELATION_ID: 15649814651
WM_SEC.TIMESTAMP: <Timestamp>
WM_CONSUMER.CHANNEL.TYPE: <Channel Type>
Content-Type: multipart/form-data
첨부 파일 (즉, 비록 원시하지 페이로드가 시도되고있다)
<?xml version="1.0" encoding="utf-8"?>
<InventoryFeed xmlns="http://walmart.com/">
<InventoryHeader>
<version>1.4</version>
</InventoryHeader>
<inventory>
<sku>KON04418</sku>
<quantity>
<unit>EACH</unit>
<amount>4</amount>
</quantity>
<fulfillmentLagTime>1</fulfillmentLagTime>
</inventory>
</InventoryFeed>
정확히 동일한 XML을 사용하고 Walmart API Explorer 에서 테스트하면 파일이 응답 코드 200 (OK)으로 허용됩니다.
XML이 Walmart에서 제공 한 XSD를 준수한다는 메모장 + XML 도구 플러그인으로 확인했습니다. 적용 할 필요가있는 경계에 관한 수많은 게시물을 보았습니다. 따라서 Content-Type을 변경하고 경계를 추가하려했지만 요청을 수락하는 데 실패했습니다.
이 요청이 응답 코드 200을 반환하는 데 도움이 될 경우 크게 감사드립니다.
마지막으로 ARCA에서이 요청의 유효성을 검사하면 C#으로 구현할 예정입니다. 이미 모든 코드가 작성되었지만 HttpWebRequest에 첨부 파일을 추가하는 방법과 원시 데이터 스트림을 제출하는 방법에 대한 약간의 모호함이 있습니다. 차이점에 대해 명확성이 제공 될 수 있다면 다시 한 번 감사 드리겠습니다.