Skip to content

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

@utiq

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
`

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