2011-01-04 6 views
0

나는 내가 사용하는 도매 업체의 라이브 XML 피드를 사용하여 제품 변형 재고 수준을 자동으로 업데이트하려는 shopify 스토어를 운영하고 있습니다.Nokogiri/XPath로 Ruby XML 구문 분석

나는 Ruby를 프로그래밍하는 것을 배우고 있는데 이것은 첫 번째 프로젝트이지만 여기서 연구를 마친 후에 어떻게 작동해야하는지 생각합니다.

Ruby/Nokugiri를 사용하여 도매 업체의 XML 피드를 구문 분석 한 다음 Xpath를 사용하여 고유 한 제품 변형 SKU 코드와 재고 수준을 찾습니다.

어떻게 든이 SKU를 사용하여 Shopify 스토어 제품 XML 목록을 다시 참조하고 SKU 코드를 사용하여 변형 고유 ID를 추출해야합니다.

그런 다음 builder gem과 같은 것을 사용하여 필요에 맞는 XML 형식을 작성한 다음 curl을 사용하여 변경 사항을 PUT하십시오. 나는 모든 제품에 대해이 과정을 반복한다고 생각하니?

Shopify는 300 통화 제한 만 알고 있으므로 스크립트 지연을 설정하는 방법에 대한 기사를 얻었으나 위 방법은이 문제를 해결하는 가장 쉬운 방법은 아닌 것 같은 느낌을 받습니까? Shopify와

당신은 고유의 변형 XML 파일에 대한 변형 재고 수준 업데이트를 적용해야합니다, 그래서 고유의 XML 파일/코드를 구축하고 /admin/variants/#[thevariantid].xml에 넣을 필요가

나는 이것을 함께 모으고 그 과정에서 배우려고하는 것을 고대하고있다. 그러나 이것으로 올바른 길을 가고 있는가? 내가보아야 할 더 단순한 보석이 있습니까?

n.b 나는 최근에 Ruby를 배우기 시작했으며 이후에는 Rails로 향할 것입니다. XML에 대해 조금 알고 있습니다. XPath를 사용하여 필요한 부분을 찾을 수 있어야합니다.

답변

3

당신이 올바른 궤도에있어,하지만 난 대신 XML과 URI를 형성해야하는 Shopify 이야기를 수행 할 shopify_api 보석을 사용하는 거라고 자신 : https://github.com/Shopify/shopify_api

또한 도움이 될 수도 있다는 article on our wiki을있다 API 호출 제한과 관련하여 의견을 나누지 만 더 많은 공간이 필요하면 알려주세요. 우리는 매우 유연하며 제한 사항은 스크립트가 야생화되고 다른 모든 사용자에게 서비스에 영향을 미치지 않도록하기위한 것입니다.

+0

Thanks Edward. 나는 두 파일을 같은 테이블에 파싱하기로 결정했다. 그래서 나는 현재 shopify_id (이것은 제품 id가 아닌 Variant id), shopify_sku (변형 sku), 그리고 내가 업데이트하고자하는 올바른 Stocklevel을 가지고있다. 함께 쇼핑하십시오. shopify_api 보석을 사용하여 내 상점에 액세스했지만 변형 ID에 대한 쿼리를 쉽게 실행할 수있는 방법이 없습니다. ShopifyAPI :: Product 만있는 제품. 내 데이터베이스에서 가지고있는 것을 가져다가 그 변형을 변형에 적용하는 최선의 방법은 무엇일까요? – Even4

+0

Hello Even4! Apps 포럼에 대해 큰 소리로 말하면 다음 단계로 진행됩니다. http://forums.shopify.com/categories/9 –

0

Nokogiri에는 일부 very nice XML-building이 내장되어 있으므로 '빌더'보석을 사용할 필요가 없다는 점을 제외하면 제안 된 경로가 좋은 것처럼 보입니다.