This topic was automatically generated from Slack. You can find the original thread here.
I’m receiving an “unexpected token ?.” error. However, I am no longer using ?. in any of my code. Getting this in a MySQL create_row action.
This topic was automatically generated from Slack. You can find the original thread here.
I’m receiving an “unexpected token ?.” error. However, I am no longer using ?. in any of my code. Getting this in a MySQL create_row action.
Here’s the MySQL config I’m passing in:
MySQL Account:
Id:
-
Order_id:
{{steps.trigger.event.body.object.sale.id}}
Order_source:
teachable
Order_created_at:
{{steps.trigger.event.body.created}}
External_user_id:
{{steps.trigger.event.body.object.user_id}}
User_email:
{{(steps.trigger.event.body.object.data && steps.trigger.event.body.object.data.metadata && steps.trigger.event.body.object.data.metadata.email) ?? steps.trigger.event.body.object.user.email}}
User_full_name:
{{(steps.trigger.event.body.object.data && steps.trigger.event.body.object.data.metadata && steps.trigger.event.body.object.data.metadata.name) ?? steps.trigger.event.body.object.user.name}}
User_business_name:
{{(steps.trigger.event.body.object.data && steps.trigger.event.body.object.data.metadata && steps.trigger.event.body.object.data.metadata.business_name) ?? ''}}
Product_id:
{{steps.trigger.event.body.object.sale.course.id}}
Product_name:
{{steps.trigger.event.body.object.sale.course.name}}
Offer_id:
{{(steps.trigger.event.body.object.data && steps.trigger.event.body.object.data.metadata && steps.trigger.event.body.object.data.metadata.product_id) ?? steps.trigger.event.body.object.sale.product.id}}
Offer_name:
{{(steps.trigger.event.body.object.data && steps.trigger.event.body.object.data.metadata && steps.trigger.event.body.object.data.metadata.product_name) ?? steps.trigger.event.body.object.sale.course.name}}
Offer_type:
{{steps.trigger.event.body.object.sale.transactions[0].purchased_item_type}}
Offer_price:
{{(steps.trigger.event.body.object.sale.transactions[0].order_bump && steps.trigger.event.body.object.sale.transactions[0].order_bump.offer_price) ?? steps.trigger.event.body.object.sale.product.price}}
Offer_is_recurring:
{{Boolean(steps.trigger.event.body.object.sale.product.is_recurring)}}
Offer_is_payment_plan:
{{Boolean(steps.trigger.event.body.object.data.metadata.product_name.includes('Payment Plan'))}}
Offer_is_bump:
{{Boolean(steps.trigger.event.body.object.sale.transactions[0] && steps.trigger.event.body.object.sale.transactions[0].order_bump && steps.trigger.event.body.object.sale.transactions[0].order_bump.id)}}
Offer_bump_primary_product_id:
{{(steps.trigger.event.body.object.sale.transactions[0].order_bump && steps.trigger.event.body.object.sale.transactions[0].order_bump.primary_product_id) ?? null}}
Offer_num_child_users:
{{((steps.trigger.event.body.object.data && steps.trigger.event.body.object.data.metadata && steps.trigger.event.body.object.data.metadata.product_name) ?? steps.trigger.event.body.object.sale.course.name).includes('Student') ? parseInt(((steps.trigger.event.body.object.data && steps.trigger.event.body.object.data.metadata && steps.trigger.event.body.object.data.metadata.product_name) ?? steps.trigger.event.body.object.sale.course.name).replace(/.**\(([0-9]**).**/g, '$1')) : 0}}
Transaction_id:
{{steps.trigger.event.body.object.sale.transactions[0].id}}
Transaction_method:
{{Boolean(steps.trigger.event.body.object.sale.transactions[0]["is_teachable_payments?"]) ? 'stripe' : ''}}
Transaction_sub_total:
{{steps.trigger.event.body.object.sale.transactions[0].net_tax_charge > 0 ? steps.trigger.event.body.object.sale.transactions[0].net_product_charge_usd : steps.trigger.event.body.object.sale.transactions[0].net_charge}}
Transaction_tax_total:
{{Boolean(steps.trigger.event.body.object.sale.transactions[0] && steps.trigger.event.body.object.sale.transactions[0].order_bump && steps.trigger.event.body.object.sale.transactions[0].order_bump.id) ? (steps.trigger.event.body.object.sale.transactions[0].net_charge - steps.trigger.event.body.object.sale.transactions[0].final_price) : steps.trigger.event.body.object.sale.transactions[0].net_tax_charge}}
Transaction_grand_total:
{{steps.trigger.event.body.object.sale.transactions[0].net_tax_charge > 0 ? steps.trigger.event.body.object.sale.transactions[0].net_charge_usd : steps.trigger.event.body.object.sale.transactions[0].net_charge}}
Transaction_is_chargeback:
-
Transaction_is_renewal:
{{steps.trigger.event.body.object.sale.transactions.length > 1}}
Refund_total:
0
Refund_created_at:
-
Promo_code:
{{steps.trigger.event.body.object.coupon ? steps.trigger.event.body.object.coupon.code : ''}}
Promo_amount:
{{steps.trigger.event.body.object.coupon ? (steps.trigger.event.body.object.coupon.discount_percent > 0 ? steps.trigger.event.body.object.sale.product.price ** steps.trigger.event.body.object.coupon.discount_percent : (steps.trigger.event.body.object.coupon.discount_amount > 0 ? steps.trigger.event.body.object.coupon.discount_amount : 0)) : 0}}
Tax_id:
-
Billing_street_1:
{{(steps.trigger.event.body.object.sale.shipping_address && steps.trigger.event.body.object.sale.shipping_address.line1) ?? (steps.trigger.event.body.object.data.billing_details && steps.trigger.event.body.object.data.billing_details.address && steps.trigger.event.body.object.data.billing_details.address.line1) ?? null}}
Billing_street_2:
{{(steps.trigger.event.body.object.sale.shipping_address && steps.trigger.event.body.object.sale.shipping_address.line2) ?? (steps.trigger.event.body.object.data.billing_details && steps.trigger.event.body.object.data.billing_details.address && steps.trigger.event.body.object.data.billing_details.address.line2) ?? null}}
Billing_city:
{{(steps.trigger.event.body.object.sale.shipping_address && steps.trigger.event.body.object.sale.shipping_address.city) ?? (steps.trigger.event.body.object.data.billing_details && steps.trigger.event.body.object.data.billing_details.address && steps.trigger.event.body.object.data.billing_details.address.city) ?? null}}
Billing_region:
{{(steps.trigger.event.body.object.sale.shipping_address && steps.trigger.event.body.object.sale.shipping_address.region) ?? (steps.trigger.event.body.object.data.billing_details && steps.trigger.event.body.object.data.billing_details.address && steps.trigger.event.body.object.data.billing_details.address.region) ?? null}}
Billing_postcode:
{{(steps.trigger.event.body.object.sale.shipping_address && steps.trigger.event.body.object.sale.shipping_address.postal_code) ?? (steps.trigger.event.body.object.data.billing_details && steps.trigger.event.body.object.data.billing_details.address && steps.trigger.event.body.object.data.billing_details.address.postal_code) ?? null}}
Billing_country:
{{(steps.trigger.event.body.object.sale.shipping_address && steps.trigger.event.body.object.sale.shipping_address.country) ?? (steps.trigger.event.body.object.data.billing_details && steps.trigger.event.body.object.data.billing_details.address && steps.trigger.event.body.object.data.billing_details.address.country) ?? null}}
Author_fees:
{{steps.trigger.event.body.object.sale.transactions[0].author_fees}}
Affiliate_fees:
{{steps.trigger.event.body.object.sale.transactions[0].affiliate_fees}}
Processing_fees:
{{steps.trigger.event.body.object.sale.transactions[0].teachable_processor_fee}}
Earnings:
{{steps.trigger.event.body.object.sale.transactions[0].earnings_usd}}
Is_student_referral:
{{Boolean(steps.trigger.event.body.object.coupon && steps.trigger.event.body.object.coupon.is_for_student_referral)}}
Created_at:
-
Updated_at:
-
Thanks for flagging — eng is investigating
Thank you. Oddly, I tried re-deploying a deployment from about a month ago, and getting the same error
Yea, it appears to be platform related, and not anything specific to your workflow or configuration within the workflow
Ok thanks. It didn’t start happening until I tried to add a new column to the db and update the action.
Mark, can you try again? You should be able to either test the step that was throwing that error, or redeploy your workflow and process another event.
Same error, tried workflow test and a redeploy, same error
Thanks, taking a look.
Mark, can you give it another try?
Yes, I think that did it!
I’m going to try to revert some of my more verbose code now back to the ?. versions
Great to hear! Thanks for raising the issue and helping to confirm.
Yup, confirmed all working even with the ?. syntax. Thanks for helping resolve this so quickly.
Great to hear!