Skip to content

X-WC-Session header doesn't return cart items #70

Description

@utiq

This works:

curl --request GET \
  --url https://mydomain/wp-json/rae/v1/cart/items \
  --header 'X-Headless-CMS: true' \
  --header 'content-type: application/json' \
  --cookie 'wp_woocommerce_session_ad4ec40f37e54b7c8edc88479b7594e2=t_b0f4917d0533740677a3ab18f7bd4d%7C%7C1718161181%7C%7C1718157581%7C%7C0ce34add9d9edef7d7c5a36fa675bbed'

It returns something like this:

[{"key":"072b030ba126b2f4b2374f342be9ed44","product_id":60,"variation_id":0,"variation":[],"quantity":1,"data_hash":"b5c1d5ca8bae6d4896cf1807cdf763f0","line_tax_data":{"subtotal":[],"total":[]},"line_subtotal":25,"line_subtotal_tax":0,"line_total":25,"line_tax":0,"data":{"id":60,"name":"My Product","slug":"my-product","date_created":{"date":"2024-06-09 19:39:20.000000","timezone_type":1,"timezone":"+00:00"},"date_modified":{"date":"2024-06-09 19:39:21.000000","timezone_type":1,"timezone":"+00:00"},"status":"publish","featured":false,"catalog_visibility":"visible","description":"This is a description","short_description":"","sku":"","price":"25","regular_price":"29","sale_price":"25","date_on_sale_from":null,"date_on_sale_to":null,"total_sales":0,"tax_status":"taxable","tax_class":"","manage_stock":false,"stock_quantity":null,"stock_status":"instock","backorders":"no","low_stock_amount":"","sold_individually":false,"weight":"","length":"","width":"","height":"","upsell_ids":[],"cross_sell_ids":[],"parent_id":0,"reviews_allowed":true,"purchase_note":"","attributes":[],"default_attributes":[],"menu_order":0,"post_password":"","virtual":false,"downloadable":false,"category_ids":[15],"tag_ids":[],"shipping_class_id":0,"downloads":[],"image_id":"","gallery_image_ids":[],"download_limit":-1,"download_expiry":-1,"rating_counts":[],"average_rating":"0","review_count":0,"meta_data":[{"id":7,"key":"_last_editor_used_jetpack","value":"classic-editor"}],"images":[{"id":0,"src":"mydomain\/wp-content\/uploads\/woocommerce-placeholder.png","name":"Placeholder","alt":"Placeholder"}]},"currency":"$"}]

This doesn't work:

  curl --request GET \
  --url https://mydomain/wp-json/rae/v1/cart/items \
  --header 'X-Headless-CMS: true' \
  --header 'content-type: application/json' \
  --header 'X-WC-Session: t_b0f4917d0533740677a3ab18f7bd4d%7C%7C1718161181%7C%7C1718157581%7C%7C0ce34add9d9edef7d7c5a36fa675bbed'

notice the sessions are the same

I'm trying to retrieve the items added to a cart, if I set a cookie, it works, but if I use the header X-WC-Session, it returns an empty array.

`

WordPress Environment

WordPress address (URL): https://api.journalfor.kids
Site address (URL): https://api.journalfor.kids
WC Version: 8.9.2
REST API Version: ✔ 8.9.2
Action Scheduler Version: ✔ 3.8.0
Log Directory Writable: ✔
WP Version: 6.5.4
WP Multisite: –
WP Memory Limit: 256 MB
WP Debug Mode: –
WP Cron: ✔
Language: en_US
External object cache: –

Server Environment

Server Info: nginx/1.24.0
PHP Version: 8.3.8
PHP Post Max Size: 8 MB
PHP Time Limit: 30
PHP Max Input Vars: 1000
cURL Version: 8.5.0
OpenSSL/3.0.13

SUHOSIN Installed: –
MySQL Version: 8.0.36-2ubuntu3
Max Upload Size: 2 MB
Default Timezone is UTC: ✔
fsockopen/cURL: ✔
SoapClient: ❌ Your server does not have the SoapClient class enabled - some gateway plugins which use SOAP may not work as expected.
DOMDocument: ✔
GZip: ✔
Multibyte String: ✔
Remote Post: ✔
Remote Get: ✔

Database

WC Database Version: 8.9.2
WC Database Prefix: wp_
Total Database Size: 14.99MB
Database Data Size: 11.67MB
Database Index Size: 3.32MB
wp_woocommerce_sessions: Data: 0.20MB + Index: 0.02MB + Engine InnoDB
wp_woocommerce_api_keys: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_woocommerce_attribute_taxonomies: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_woocommerce_downloadable_product_permissions: Data: 0.02MB + Index: 0.06MB + Engine InnoDB
wp_woocommerce_order_items: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_woocommerce_order_itemmeta: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_woocommerce_tax_rates: Data: 0.02MB + Index: 0.06MB + Engine InnoDB
wp_woocommerce_tax_rate_locations: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_woocommerce_shipping_zones: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_woocommerce_shipping_zone_locations: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_woocommerce_shipping_zone_methods: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_woocommerce_payment_tokens: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_woocommerce_payment_tokenmeta: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_woocommerce_log: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_actionscheduler_actions: Data: 0.23MB + Index: 0.17MB + Engine InnoDB
wp_actionscheduler_claims: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_actionscheduler_groups: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_actionscheduler_logs: Data: 0.13MB + Index: 0.13MB + Engine InnoDB
wp_commentmeta: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_comments: Data: 0.02MB + Index: 0.08MB + Engine InnoDB
wp_gla_attribute_mapping_rules: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_gla_budget_recommendations: Data: 0.19MB + Index: 0.14MB + Engine InnoDB
wp_gla_merchant_issues: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_gla_shipping_rates: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_gla_shipping_times: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_jetpack_sync_queue: Data: 0.02MB + Index: 0.06MB + Engine InnoDB
wp_links: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_mailpoet_automation_run_logs: Data: 0.02MB + Index: 0.05MB + Engine InnoDB
wp_mailpoet_automation_run_subjects: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_mailpoet_automation_runs: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_mailpoet_automation_triggers: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_mailpoet_automation_versions: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_mailpoet_automations: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_mailpoet_custom_fields: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_mailpoet_dynamic_segment_filters: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_mailpoet_feature_flags: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_mailpoet_forms: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_mailpoet_log: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_mailpoet_migrations: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_mailpoet_newsletter_links: Data: 0.02MB + Index: 0.05MB + Engine InnoDB
wp_mailpoet_newsletter_option: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_mailpoet_newsletter_option_fields: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_mailpoet_newsletter_posts: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_mailpoet_newsletter_segment: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_mailpoet_newsletter_templates: Data: 2.52MB + Index: 0.00MB + Engine InnoDB
wp_mailpoet_newsletters: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_mailpoet_scheduled_task_subscribers: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_mailpoet_scheduled_tasks: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_mailpoet_segments: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_mailpoet_sending_queues: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_mailpoet_settings: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_mailpoet_statistics_bounces: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_mailpoet_statistics_clicks: Data: 0.02MB + Index: 0.05MB + Engine InnoDB
wp_mailpoet_statistics_forms: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_mailpoet_statistics_newsletters: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_mailpoet_statistics_opens: Data: 0.02MB + Index: 0.08MB + Engine InnoDB
wp_mailpoet_statistics_unsubscribes: Data: 0.02MB + Index: 0.05MB + Engine InnoDB
wp_mailpoet_statistics_woocommerce_purchases: Data: 0.02MB + Index: 0.08MB + Engine InnoDB
wp_mailpoet_stats_notifications: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_mailpoet_subscriber_custom_field: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_mailpoet_subscriber_ips: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_mailpoet_subscriber_segment: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_mailpoet_subscriber_tag: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_mailpoet_subscribers: Data: 0.02MB + Index: 0.23MB + Engine InnoDB
wp_mailpoet_tags: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_mailpoet_user_agents: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_mailpoet_user_flags: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_options: Data: 6.47MB + Index: 0.06MB + Engine InnoDB
wp_postmeta: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_posts: Data: 0.08MB + Index: 0.06MB + Engine InnoDB
wp_term_relationships: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_term_taxonomy: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_termmeta: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_terms: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_usermeta: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_users: Data: 0.02MB + Index: 0.05MB + Engine InnoDB
wp_wc_admin_note_actions: Data: 0.05MB + Index: 0.02MB + Engine InnoDB
wp_wc_admin_notes: Data: 0.06MB + Index: 0.00MB + Engine InnoDB
wp_wc_category_lookup: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_wc_customer_lookup: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_wc_download_log: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_wc_order_addresses: Data: 0.02MB + Index: 0.06MB + Engine InnoDB
wp_wc_order_coupon_lookup: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_wc_order_operational_data: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_wc_order_product_lookup: Data: 0.02MB + Index: 0.06MB + Engine InnoDB
wp_wc_order_stats: Data: 0.02MB + Index: 0.05MB + Engine InnoDB
wp_wc_order_tax_lookup: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_wc_orders: Data: 0.02MB + Index: 0.11MB + Engine InnoDB
wp_wc_orders_meta: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_wc_product_attributes_lookup: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_wc_product_download_directories: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_wc_product_meta_lookup: Data: 0.02MB + Index: 0.09MB + Engine InnoDB
wp_wc_rate_limits: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_wc_reserved_stock: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_wc_tax_rate_classes: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_wc_webhooks: Data: 0.02MB + Index: 0.02MB + Engine InnoDB

Post Type Counts

attachment: 1
mailpoet_page: 1
page: 7
post: 2
product: 1
wp_font_face: 33
wp_font_family: 12
wp_global_styles: 1
wp_navigation: 1

Security

Secure connection (HTTPS): ✔
Hide errors from visitors: ✔

Active Plugins (10)

Google Listings and Ads: by WooCommerce – 2.7.1
Headless CMS: by Imran Sayed – 2.0.4
Jetpack: by Automattic – 13.5
MailPoet: by MailPoet – 4.51.1
Pinterest for WooCommerce: by WooCommerce – 1.3.24
TikTok: by TikTok – 1.2.6
WooPayments: by Automattic – 7.7.0
WooCommerce Shipping & Tax: by WooCommerce – 2.6.0
WooCommerce: by Automattic – 8.9.2
WP-CORS: by Tim Stephenson – 0.2.2

Inactive Plugins (1)

Akismet Anti-spam: Spam Protection: by Automattic - Anti-spam Team – 5.3.2

Settings

API Enabled: –
Force SSL: –
Currency: USD ($)
Currency Position: left
Thousand Separator: ,
Decimal Separator: .
Number of Decimals: 2
Taxonomies: Product Types: external (external)
grouped (grouped)
simple (simple)
variable (variable)

Taxonomies: Product Visibility: exclude-from-catalog (exclude-from-catalog)
exclude-from-search (exclude-from-search)
featured (featured)
outofstock (outofstock)
rated-1 (rated-1)
rated-2 (rated-2)
rated-3 (rated-3)
rated-4 (rated-4)
rated-5 (rated-5)

Connected to WooCommerce.com: –
Enforce Approved Product Download Directories: ✔
HPOS feature enabled: ✔
Order datastore: Automattic\WooCommerce\Internal\DataStores\Orders\OrdersTableDataStore
HPOS data sync enabled: –

Logging

Enabled: ✔
Handler: Automattic\WooCommerce\Internal\Admin\Logging\LogHandlerFileV2
Retention period: 30 days
Level threshold: –
Log directory size: 14 KB

WC Pages

Shop base: #8 - /shop/
Cart: #9 - /cart/
Checkout: #10 - /checkout/
My account: #11 - /my-account/
Terms and conditions: ❌ Page not set

Theme

Name: Twenty Twenty-Four
Version: 1.1
Author URL: https://wordpress.org
Child Theme: ❌ – If you are modifying WooCommerce on a parent theme that you did not build personally we recommend using a child theme. See: How to create a child theme
WooCommerce Support: ❌ Not declared

Templates

Overrides: /var/www/html/wp-content/plugins/woocommerce/templates/block-notices/error.php
/var/www/html/wp-content/plugins/woocommerce/templates/block-notices/notice.php
/var/www/html/wp-content/plugins/woocommerce/templates/block-notices/success.php

WooPayments

Version: 7.7.0
Connected to WPCOM: ❌ No
Logging: Disabled

MailPoet

Sending Method: PHPMail
Send all site's emails with: Default WordPress sending method
Task Scheduler method: Action Scheduler
Cron ping URL: https://api.journalfor.kids?mailpoet_router&endpoint=cron_daemon&action=ping

Admin

Enabled Features: activity-panels
analytics
product-block-editor
coupons
core-profiler
customize-store
customer-effort-score-tracks
import-products-task
experimental-fashion-sample-products
shipping-smart-defaults
shipping-setting-tour
homescreen
marketing
mobile-app-banner
navigation
onboarding
onboarding-tasks
product-variation-management
product-virtual-downloadable
product-external-affiliate
product-grouped
product-linked
product-pre-publish-modal
product-custom-fields
remote-inbox-notifications
remote-free-extensions
payment-gateway-suggestions
shipping-label-banner
subscriptions
store-alerts
transient-notices
woo-mobile-welcome
wc-pay-promotion
wc-pay-welcome-page

Disabled Features: minified-js
new-product-management-experience
settings
async-product-editor-category-field
launch-your-store

Daily Cron: ✔ Next scheduled: 2024-06-10 15:50:39 +00:00
Options: ✔
Notes: 61
Onboarding: completed

Action Scheduler

Complete: 730
Oldest: 2024-06-09 15:50:41 +0000
Newest: 2024-06-10 04:23:22 +0000

Failed: 1
Oldest: 2024-06-09 19:39:21 +0000
Newest: 2024-06-09 19:39:21 +0000

Pending: 8
Oldest: 2024-06-10 04:25:21 +0000
Newest: 2024-06-10 16:24:48 +0000

Status report information

Generated at: 2024-06-10 04:23:29 +00:00
`

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions