குறியீட்டை இயக்கு
குறியீட்டை இயக்கு செயல் JavaScript-ஐச் செயல்படுத்தும். பணிப்பாய்வின் முந்தைய படிகளிலிருந்து தரவை குறியீட்டை இயக்கு செயலுக்கு உள்ளீடாக அனுப்பலாம், மேலும் அடுத்தடுத்த படிகளில் பயன்படுத்தப்படும் மதிப்புகளையும் வழங்கலாம்.
புலங்கள்
குறியீட்டை இயக்கு செயல் பின்வரும் புலங்களைக் கொண்டுள்ளது.
| புலம் | விளக்கம் |
|---|---|
| உள்ளீடு | தேவை. முந்தைய படிகளின் தரவை குறியீட்டை இயக்கு செயலுக்கு உள்ளீடாகப் பயன்படுத்த உதவும் GraphQL வினவல். |
| வெளியீடு | தேவை. GraphQL-இன் ஸ்கீமா வரையறை மொழியில் (SDL) வரையறுக்கப்பட்டபடி, செயலால் வழங்கப்பட வேண்டிய தரவின் பிரதிநிதித்துவம். |
| குறியீடு | தேவை. குறியீட்டை இயக்கு செயல் செயல்படுத்தும் JavaScript. |
உள்ளீட்டுத் தரவு
குறியீட்டை இயக்கு செயலுக்கு முன் நடக்கும் படிகளில் இருந்து உள்ளீட்டுத் தரவை அனுப்பலாம். இந்தத் தரவைச் சேர்க்க, உள்ளீடு புலத்தில் நீங்கள் ஒரு GraphQL வினவலை எழுதலாம். வினவலிலிருந்து பெறப்படும் தரவானது, export default எனக் குறிக்கப்பட்ட, வழக்கமாக main என்றழைக்கப்படும் சார்புக்கு input ஆர்குமெண்ட்டாகக் கிடைக்கும்.
உள்ளீட்டு வினவல் என்பது Flow சூழல் தரவிற்கான வினவலாகும், Shopify Admin API-க்கான வினவல் அல்ல. எனவே நீங்கள் உள்ளீட்டுத் தரவில் Shopify வினவலைச் செருக முடியாது. மேலும், வினவலில் உள்ள edges மற்றும் nodes ஆகியவற்றை Flow கையாளும் என்பதால், அவற்றையோ பிற பேஜிங் தொடரியல்களையோ உங்கள் வினவலில் சேர்க்கத் தேவையில்லை.
ஒரு ஆர்டர் குறிப்பு மற்றும் வரிசை உருப்படியின் தலைப்பைப் பெறும் உள்ளீட்டிற்கான எடுத்துக்காட்டு:
{
order {
note
lineItems {
title
}
}
}குறியீட்டில் பயன்படுத்தக்கூடிய input மாறியாக இந்தத் தரவு மாற்றப்படுகிறது:
export default function main(input) {
// input.order.note
// input.order.lineItems[0].title
}சார்பு கையொப்பத்தில் (function signature) உள்ளீடுகளின் கட்டமைப்பையும் பிரிக்கலாம்:
export default function main({order}) {
// order.note
// order.lineItems[0].title
}மெட்டாஃபீல்டுகள்
'குறியீட்டை இயக்கு' என்பதில் ஒற்றை மெட்டாஃபீல்டு மதிப்புகளை அணுக, முதலில் Flow-இன் சூழல் தரவில் அந்த மெட்டாஃபீல்டைச் சேர்க்க வேண்டும். குறியீட்டை இயக்கு என்பதைத் தவிர வேறு எந்தவொரு செயல் அல்லது நிபந்தனையிலும் இதைச் செய்யலாம். எடுத்துக்காட்டாக, வெளியீட்டைப் பதிவுசெய் (Log output) செயலைச் சேர்த்துவிட்டு, மெட்டாஃபீல்டைச் சேர்ப்பதற்கான வழிமுறைகளைப் பின்பற்றலாம்.
பணிப்பாய்வுச் சூழலில் ஒரு மெட்டாஃபீல்டு சேர்க்கப்பட்ட பிறகு, Run code-இல் நீங்கள் அதை அணுகலாம். எடுத்துக்காட்டாக, giftMessage என்ற மாற்றுப்பெயரைக் கொண்ட ஆர்டர் மெட்டாஃபீல்டை நீங்கள் சேர்த்துள்ளீர்கள் என வைத்துக்கொள்வோம். உங்கள் உள்ளீட்டு வினவலில் அதை நீங்கள் பின்வருமாறு அணுகலாம்:
{
order {
giftMessage {
value
}
}
}வெளியீட்டுத் தரவு
Run code செயலி மூலம் பிரத்தியேகத் தரவை வழங்க முடியும். குறியீடு வழங்கும் தரவின் வகையை வரையறுக்க, Output புலம் மற்றும் GraphQL-இன் Schema definition language (SDL) ஆகியவற்றைப் பயன்படுத்தவும். தேவையான புலங்கள், பட்டியல்கள் மற்றும் பிரத்தியேகத் தரவை எப்படிக் குறிப்பிடுவது என்பதற்கான SDL விவரக்குறிப்பைப் பின்பற்றும் String, Int, Float, Boolean மற்றும் ID ஆகிய வெளியீட்டு வகைகள் ஆதரிக்கப்படுகின்றன.
எடுத்துக்காட்டாக, giftMessage என்ற சரத்தையும் totalGifts என்ற எண்ணையும் வழங்க:
type Output {
"The message to include in the gift"
giftMessage: String!
"The total number of gifts"
totalGifts: Int!
}கருத்துகள் கட்டாயமற்றவை, ஆனால் Flow UI-இல் உள்ள தரவை விவரிக்க அவை பயன்படுத்தப்படும். JavaScript குறியீட்டில் இந்தத் தரவை வெளியிட, வகைக்குப் பொருந்தக்கூடிய பொருளை வழங்கவும்:
export default function main(input) {
// your code
return {
giftMessage: 'Hello',
totalGifts: 1,
};
}மிகவும் சிக்கலான தரவை வழங்க, நீங்கள் பிரத்தியேக வகையையும் வரையறுக்கலாம். எடுத்துக்காட்டாக, message என்ற சரத்தையும் amount என்ற எண்ணையும் கொண்ட Gift என்ற வகையை வழங்க:
type Output {
"The gift to send"
gifts: [Gift!]!
}
type Gift {
"The message to include in the gift"
message: String!
"The total number of gifts"
amount: Int!
}இந்தச் செயலைத் தொடர்ந்து வரும் படிகளில் இந்தத் தரவை அணுக, Run code என்ற மாறியைப் பயன்படுத்தவும், Run code செயல் உள்ளமைவில் நீங்கள் வரையறுக்கும் Output திட்டத்தின்படி இது தட்டச்சு செய்யப்படும். நிபந்தனைகள், செயல்கள் ஆகிய இரண்டிலும் இந்த மாறியை நீங்கள் பயன்படுத்தலாம்.
Console.log
சிக்கல் தீர்த்தல் நோக்கங்களுக்காக, Flow-இன் பணிப்பாய்வு ரன் பதிவுக்குத் தரவை வெளியிட console.log-ஐ நீங்கள் பயன்படுத்தலாம். பணிப்பாய்வுக்கான ரன் பதிவில் வெளியீடு காட்டப்படும். எடுத்துக்காட்டாக, பின்வருபவை செல்லுபடியாகும்:
export default function main(input) {
console.log('Hello, world!');
//Hello, world!
console.log(input);
// { order: { note: 'Hello', lineItems: [ { title: 'World' } ] } }
console.log(input.order, 'is the order');
// { note: 'Hello', lineItems: [ { title: 'World' } ] }
// is the order
return {
giftMessage: 'Hello',
totalGifts: 1,
};
}Run code செயலில் console.info, console.error அல்லது பிற சார்புகளை உங்களால் பயன்படுத்த முடியாது.
எடுத்துக்காட்டு
குறியீட்டுச் செயலுக்கான எடுத்துக்காட்டுகளை Flow எடுத்துக்காட்டுகள் களஞ்சியத்தில் காணலாம்.
வரம்புகள்
Run code செயல் பின்வரும் வரம்புகளைக் கொண்டுள்ளது:
- Run code செயல் ECMA2020 JavaScript-ஐ ஆதரிக்கிறது. இது NodeJS, CommonJS APIகள் அல்லது தொகுதிக்கூறுகளை இறக்குமதி செய்வதை ஆதரிக்காது.
- உங்கள் குறியீட்டால் HTTP அழைப்புகளை (
fetch) மேற்கொள்ள முடியாது. - சீரற்ற மற்றும் கடிகாரம் சார்ந்த சார்புகளைப் பயன்படுத்த முடியாது.
scheduledAtஅல்லதுcreatedAtபோன்ற தேதித் தரவை உள்ளீடாக வழங்கலாம். - Console.log உலாவிக் கன்சோலில் பதிவாகாது.
- பேலோடு அளவைக் குறைப்பதற்காக, கீழ்நிலைப் படிகளில் பயன்படுத்தப்படும் மாறிகளை மட்டுமே வெளியீட்டுத் தரவு பேலோடு வழங்கும்.
- Run code செயலில் நேரடியாக மெட்டாஃபீல்டு மாற்றுப்பெயரை உங்களால் சேர்க்க முடியாது. இதைச் செய்ய, இந்தப் பக்கத்தில் உள்ள மெட்டாஃபீல்டுகள் பிரிவை மதிப்பாய்வு செய்யவும்.
கூடுதலாக, பின்வரும் வரம்புகள் செயல்படுத்தப்படுகின்றன:
- உள்ளீட்டுத் தரவு வினவல் 5000 எழுத்துகளுக்கு வரம்பிடப்பட்டுள்ளது.
- வெளியீட்டுத் தரவுத் திட்டம் 5000 எழுத்துகளுக்கு வரம்பிடப்பட்டுள்ளது.
- வெளியீட்டுத் தரவு பேலோடு, Console.log வெளியீடு ஆகிய இரண்டும் சேர்ந்து 50KB என வரம்பிடப்பட்டுள்ளது.
- குறியீடு 50000 எழுத்துகளுக்கு மேல் இருக்கக்கூடாது.
- மொத்த செயலாக்க நேரம் 5 விநாடிகளுக்கு வரம்பிடப்பட்டுள்ளது.
- நினைவகப் பயன்பாடு 10MB-க்கு வரம்பிடப்பட்டுள்ளது.
வார்ப்புருக்கள்
புதிய ஆர்டர்களில் இலவச (100% தள்ளுபடி) உருப்படியைச் சேர்
இந்த வார்ப்புரு, உருப்படி சரக்கு இருப்பில் இருக்கும்போது புதிய ஆர்டர்களில் தள்ளுபடி செய்யப்பட்ட இலவச உருப்படியைச் சேர்க்கும். இது சரக்கு இருப்பைச் சரிபார்த்து, 100% தள்ளுபடியைப் பயன்படுத்துகிறது, அத்துடன் வாடிக்கையாளருக்குத் தெரிவிக்காமலேயே ஆர்டரைப் புதுப்பிக்கிறது. பின்வரும் சூழல்களுக்குத் தானியக்கமாக்கலைச் சேர்க்க இந்தப் பணிப்பாய்வு உதவும்:
- வாடிக்கையாளரின் ஆர்டரில் எதிர்பாராத இலவச உருப்படியைச் சேர்ப்பதன் மூலம் அவர்களின் திருப்தியை மேம்படுத்தலாம்.
- புதிய அல்லது குறைவாக அறியப்பட்ட தயாரிப்புகளை ஆர்டர்களில் இலவச மாதிரிகளாகச் சேர்ப்பதன் மூலம் அவற்றை விளம்பரப்படுத்தலாம்.
- இலவச உருப்படிகளைச் சேர்ப்பது மற்றும் தள்ளுபடி செய்வதைத் தானியக்கமாக்குவதன் மூலம் விளம்பரங்களைச் சீரமைக்கலாம்.
செயலற்ற ரிட்டர்ன்களை ரத்துசெய்
குறிப்பிட்ட காலகட்டத்திற்குள் பணம் திருப்பியளிக்கப்படாத அல்லது ஸ்டாக் செய்யப்படாத ரிட்டர்னைத் தானாகவே ரத்துசெய்யலாம். வார்ப்புருவைக் காட்டு
Run code செயலைப் பயன்படுத்தி, முன்னொட்டுடன் கூடிய டேக்குகளைத் தயாரிப்பு மெட்டாஃபீல்டாக மாற்று
இந்தப் பணிப்பாய்வு, 'color:' போன்ற முன்னொட்டுகளுடன் தொடங்கும் டேக்குகளை எடுத்து, அவற்றைத் தயாரிப்பு மெட்டாஃபீல்டு பட்டியலில் சேர்க்கும். டேக்குகளையும் மெட்டாஃபீல்டு பட்டியலில் உள்ள உருப்படிகளையும் பாகுபடுத்த இது Run code செயலைப் பயன்படுத்துகிறது. தயாரிப்பு உருவாக்கப்படும்போது பணிப்பாய்வு இயங்குகிறது, ஆனால் ஏற்கனவே உள்ள தயாரிப்புகளில் இதை மேனுவலாக ரன் செய்ய முடியும். வார்ப்புருவைக் காட்டு
வாடிக்கையாளர் ஒரு தயாரிப்பின் பல மாறுபாடுகளை ஆர்டர் செய்யும்போது அறிவிப்பை அனுப்பு
வாடிக்கையாளர் ஒரே தயாரிப்பின் பல மாறுபாடுகளை ஆர்டர் செய்யும்போது மின்னஞ்சல் அறிவிப்பைப் பெறலாம். வார்ப்புருவைக் காட்டு
ஆர்டரில் தொகுப்பு இடம்பெற்றிருந்தால் அறிவிப்பை அனுப்பு
ஒரு ஆர்டர் உருவாக்கப்படும்போது இந்தப் பணிப்பாய்வு தொடங்கி, ஆர்டரில் உள்ள தயாரிப்புகள் ஏதேனும் ஒரு தொகுப்பின் பகுதியாக வாங்கப்பட்டதா என்பதைச் சரிபார்க்கும். கண்டறியப்பட்டால், தொகுப்பு விவரங்களுடன் ஒரு உள்ளக மின்னஞ்சல் அனுப்பப்படும். கூடுதலாக, ஆர்டருக்குள் ஒரு தொகுப்பு இருப்பதை அறிய வேண்டிய எந்தவொரு பயன்பாட்டுக்கும் தொடக்கப் புள்ளியாக இந்தப் பணிப்பாய்வை நீங்கள் பயன்படுத்திக் கொள்ளலாம். வார்ப்புருவைக் காட்டு
தொடர்புடைய UTM பிரச்சாரத்துடன் ஆர்டர்களைக் குறிச்சொல்லிடு
தொடர்புடைய UTM பிரச்சாரங்களின் பெயர்களைக் கொண்ட ஆர்டர்களுக்கு டேக்குகளைச் சேர்க்கும். வார்ப்புருவைக் காட்டு