Sample code for 30+ languages & platforms
Dart Requires Chilkat v11.0.0+

Walmart v3 Item Setup by Match

See more Walmart v3 Examples

Provides a quick and convenient way to set up items by matching your items to existing item content on Walmart.com.

Chilkat Dart Downloads

Dart
import 'package:chilkat/chilkat.dart';

void main() {
  // This example assumes the Chilkat API to have been previously unlocked.
  // See Global Unlock Sample for sample code.

  final http = CkHttp();

  // Implements the following CURL command:

  // curl -X POST \
  //   https://marketplace.walmartapis.com/v3/feeds?feedType=item \
  //   -H 'WM_SVC.NAME: Walmart Marketplace'
  //   -H 'WM_SEC.ACCESS_TOKEN: eyJraWQiOiIzZjVhYTFmNS1hYWE5LTQzM.....'
  //   -H 'WM_QOS.CORRELATION_ID: b3261d2d-028a-4ef7-8602-633c23200af6'
  //   -H 'Content-Type: application/json'
  //   -H 'Accept: application/json'
  //   -d '{
  //     "MPItemFeedHeader": {
  //         "version": "3.2.1"
  //     },
  //     "MPItem": [
  //         {
  //             "sku": "setup_by_ref",
  //             "productIdentifiers": [
  //                 {
  //                     "productIdType": "GTIN",
  //                     "productId": "05518319011365"
  //                 }
  //             ],
  //             "MPProduct": {
  //                 "category": "Electronics",
  //                 "subCategory": "ElectronicsAccessories"
  //             },
  //             "MPOffer": {
  //                 "price": 12.00,
  //                 "shippingWeight": {
  //                     "measure": 0.5,
  //                     "unit": "lb"
  //                 },
  //                 "productTaxCode": 2038710
  //             }
  //         }
  //     ]
  // }'

  // Use this online tool to generate code from sample JSON:
  // Generate Code to Create JSON

  // The following JSON is sent in the request body.

  // {
  //   "MPItemFeedHeader": {
  //     "version": "3.2.1"
  //   },
  //   "MPItem": [
  //     {
  //       "sku": "setup_by_ref",
  //       "productIdentifiers": [
  //         {
  //           "productIdType": "GTIN",
  //           "productId": "05518319011365"
  //         }
  //       ],
  //       "MPProduct": {
  //         "category": "Electronics",
  //         "subCategory": "ElectronicsAccessories"
  //       },
  //       "MPOffer": {
  //         "price": 12.00,
  //         "shippingWeight": {
  //           "measure": 0.5,
  //           "unit": "lb"
  //         },
  //         "productTaxCode": 2038710
  //       }
  //     }
  //   ]
  // }

  final json = CkJsonObject();
  json.updateString('MPItemFeedHeader.version', '3.2.1');
  json.updateString('MPItem[0].sku', 'setup_by_ref');
  json.updateString('MPItem[0].productIdentifiers[0].productIdType', 'GTIN');
  json.updateString('MPItem[0].productIdentifiers[0].productId', '05518319011365');
  json.updateString('MPItem[0].MPProduct.category', 'Electronics');
  json.updateString('MPItem[0].MPProduct.subCategory', 'ElectronicsAccessories');
  json.updateNumber('MPItem[0].MPOffer.price', '12.00');
  json.updateNumber('MPItem[0].MPOffer.shippingWeight.measure', '0.5');
  json.updateString('MPItem[0].MPOffer.shippingWeight.unit', 'lb');
  json.updateInt('MPItem[0].MPOffer.productTaxCode', 2038710);

  http.setRequestHeader('WM_QOS.CORRELATION_ID', 'b3261d2d-028a-4ef7-8602-633c23200af6');
  http.setRequestHeader('Content-Type', 'application/json');
  http.setRequestHeader('WM_SEC.ACCESS_TOKEN', 'eyJraWQiOiIzZjVhYTFmNS1hYWE5LTQzM.....');
  http.setRequestHeader('Accept', 'application/json');
  http.setRequestHeader('WM_SVC.NAME', 'Walmart Marketplace');

  final resp = CkHttpResponse();
  try {
    http.httpJson('POST', 'https://marketplace.walmartapis.com/v3/feeds?feedType=item', json, 'application/json', resp);
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  final sbResponseBody = CkStringBuilder();
  resp.getBodySb(sbResponseBody);
  final jResp = CkJsonObject();
  jResp.loadSb(sbResponseBody);
  jResp.emitCompact = false;

  print('Response Body:');
  print(jResp.emit());

  final respStatusCode = resp.statusCode;
  print('Response Status Code = $respStatusCode');
  if (respStatusCode >= 400) {
    print('Response Header:');
    print(resp.header);
    print('Failed.');
    return;
  }

  // Sample JSON response:
  // (Sample code for parsing the JSON response is shown below)

  // {
  //   "feedId": "BC141881F6BB4B5891F084B225581BF2@AUUBAQA"
  // }

  // Sample code for parsing the JSON response...
  // Use the following online tool to generate parsing code from sample JSON:
  // Generate Parsing Code from JSON

  final feedId = jResp.stringOf('feedId');
}