모바일 앱용 WooCommerce API
WooCommerce 숍용 네이티브 모바일 안드로이드 앱을 개발할 예정입니다.
REST API 매뉴얼은 이쪽에서 확인했습니다.http://docs.woocommercev2.apiary.io/ 이미 테스트를 시작했는데 다른 콜을 할 때
GET /orders
가게의 모든 주문을 돌려준다고 칩시다.
API를 사용하여 최종 사용자 앱을 개발하는 방법을 알고 계신 분?
예를 들어 다음과 같습니다.
GET /products
PUT /order
(로그인한 사용자의 주문 작성)
GET /order
(로그인한 사용자의 주문을 가져옵니다.)
어떤 아이디어라도 감사합니다:)
잘 부탁드립니다.
저는 이 단계를 제안합니다.
먼저 백엔드에서 Woocommerce API를 활성화 할 수 있습니다.http://docs.woothemes.com/document/woocommerce-rest-api/
https://www.npmjs.com/package/woocommerce 에서는 이 링크를 사용합니다.이 링크에는 woocommerce와 대화하는 모든 방법이 포함되어 있습니다.또는 경량 미들웨어를 사용하면 woocommerce 서버에 접속하여 JSON 데이터를 앱으로 되돌리는 데 도움이 됩니다.
ionic 프레임워크를 사용하여 서비스를 작성하고 씬 미들웨어 클라이언트와 대화합니다.항상 서버에 영향을 주지 않도록 데이터를 캐시(로컬 스토리지 사용)하는 것을 잊지 마십시오.- Contus M Comm
위해서http
(또한 ssl 프로토콜(예:https
)의 요구는 OAthu 1.0a 인증 프레임워크에서 사용해야 합니다.자바에는 oauth 1.0a용 라이브러리가 많이 있습니다.scribeJava에서 사용하고 있습니다.
따라서 다음 단계를 수행합니다.
종속성 scop에서 다음을 추가합니다.
compile 'org.scribe:scribe:1.3.5'
OAuth 서비스 공급자의 WoocommerceApi로 새 클래스입니다.중요한.를 사용해야 합니다.
public
oauth 공급자를 구현하기 위한 DefaultApi10a 클래스public static class WooCommerceApi extends org.scribe.builder.api.DefaultApi10a { @Override public org.scribe.model.Verb getRequestTokenVerb() { return org.scribe.model.Verb.POST; } @Override public String getRequestTokenEndpoint() { return "http://www.your-domain.com/wc-auth/authorize"; } @Override public String getAccessTokenEndpoint() { return "none"; } @Override public String getAuthorizationUrl(org.scribe.model.Token requestToken) { return "none"; } }
그리고 요청은 다음에서 해야 합니다.
String restURL = "http://www.your-domain.com/wp-json/wc/v1/products/"; OAuthService service = new ServiceBuilder() .provider(WooCommerceApi.class) .apiKey(CONSUMER_KEY) //Your Consumer key .apiSecret(CONSUMER_SECRET) //Your Consumer secret .scope("API.Public") //fixed .signatureType(SignatureType.QueryString) .build(); OAuthRequest request = new OAuthRequest(Verb.GET, restURL); // for POST requests // OAuthRequest request = new OAuthRequest(Verb.POST, restURL); // request.addBodyParameter(YOUR_PARAM_KEY, YOUR_VALUE); // or // request.addPayload(YOUR_JSON); Token accessToken = new Token("", ""); //not required for context.io service.signRequest(accessToken, request); Response response = request.send(); Log.d("OAuthTask",response.getBody());
문서에 따르면 예상되는 데이터 형식은 JSON뿐이지만(이전 XML 또는 Json과는 대조적으로) 각 엔드포인트에 대해 어떤 데이터 구조가 예상되는지 더 이상 설명하지 않습니다.
다음은 쿠폰 작성에 대한 현재 설명서에서 POST 요청 형식의 유일한 예입니다.
REST 요구 URI
POST http://private-anon-0fe404a22-woocommercev2.apiary-mock.com/coupons?fields=id,code&filter=filter[limit]=100&page=2
Java 코드(매뉴얼에서 붙여넣기)
Client client = ClientBuilder.newClient();
Entity payload = Entity.json("{ 'coupon': { 'code': 'autumn-is-coming', 'type': 'fixed_cart', 'amount': '4.00', 'individual_use': true, 'description': '' }}");
Response response = client.target("http://private-anon-0fe404a22-woocommercev2.apiary-mock.com")
.path("/coupons{?fields,filter,page}")
.request(MediaType.APPLICATION_JSON_TYPE)
.post(payload);
System.out.println("status: " + response.getStatus());
System.out.println("headers: " + response.getHeaders());
System.out.println("body:" + response.readEntity(String.class));
Json 응답
{
"coupon": {
"id": 21548,
"code": "augustheat",
"type": "fixed_cart",
"created_at": "2014-08-30T19:25:48Z",
"updated_at": "2014-08-30T19:25:48Z",
"amount": "5.00",
"individual_use": false,
"product_ids": [],
"exclude_product_ids": [],
"usage_limit": null,
"usage_limit_per_user": null,
"limit_usage_to_x_items": 0,
"usage_count": 0,
"expiry_date": "2014-08-30T21:22:13Z",
"apply_before_tax": true,
"enable_free_shipping": false,
"product_category_ids": [],
"exclude_product_category_ids": [],
"exclude_sale_items": false,
"minimum_amount": "0.00",
"maximum_amount": "0.00",
"customer_emails": [],
"description": "Beat the August heat with $5 off your purchase!"
}
}
http://docs.woocommercev2.apiary.io/ #reference/reference/contrace-collection/create-a-contrace
API가 모든 관련 엔드포인트에 대한 POST 요청을 받아들인다는 것을 고려하면 이는 쇼핑 주문으로 가능합니다.
Appmaker.xyz와 같은 플러그 앤 플레이 솔루션 AKA 앱 빌더를 사용하여 최종 사용자 앱을 만들 수 있습니다.
언급URL : https://stackoverflow.com/questions/27489565/woocommerce-api-for-mobile-app
'programing' 카테고리의 다른 글
WordPress 4.8 on Docker REST API에 액세스할 수 없음 (0) | 2023.03.26 |
---|---|
로컬 데이터베이스와 라이브 데이터베이스를 결합하는 방법 (0) | 2023.03.26 |
TypeScript 유형 정의에서 앰퍼샌드(&)는 무엇을 의미합니까? (0) | 2023.03.26 |
jQuery를 사용하여 twitter 해시태그를 찾아 링크를 적용합니다. (0) | 2023.03.26 |
WordPress 데이터베이스에서 Advanced Custom Fields 필드 키를 가져오려면 어떻게 해야 합니까? (0) | 2023.03.26 |