Hoàn thiện và phát triển code của bạn và debug chúng trong MC
Marketing Cloud có nhiều giới hạn và tài liệu viết về nó khá ít và mơ hồ. Điều này góp phần khiến những developer non trẻ ít kinh nghiệm dễ nản lòng. Đây sẽ là một phần quan trọng giúp bạn rút ngắn thời gian rất nhiều trên con đường trở thành một Salesforce marketer!
Như đã giới thiệu trong phần trước, ta có thể dùng Visual Studio Code để viết code và dùng extension để hỗ trợ trong việc lập trình, nhưng có một vấn đề lớn chính là MC không thật sự có chức năng deploy và khi code không chạy vì lý do nào đó những đoạn thông báo lỗi hiện ra rất mơ hồ, thậm chí còn không có.
Step 1: Dùng Dropbox để sync code của mình near real-time trên đám mây.
- Đầu tiên ta hãy tạo một tài khoản Dropbox.
- Tải Dropbox cho desktop.
Phần này tự làm nha. Xong xuôi thì ta sẽ có 1 folder sync giữa desktop và tài khoản Dropbox của bạn trông tựa tựa thế này.
Mỗi khi bạn viết xong code trên VS code lưu vào trong folder này, cứ mỗi khi bạn save dưới local của bạn thì nó tự động sync lên cloud của Dropbox. Nói là near real-time là bởi sync nhanh hay chậm dựa vào kích cỡ của file cần sync. File code khá nhẹ thì tốc độ rất nhanh. Gần như ngay lập tức, hoặc nếu chậm thì chỉ 1s, rất tiện phải không.
Step 2: Tạo Cloudpage trên Marketing Cloud và kéo dữ liệu từ Dropbox về
Lấy đường dẫn từ file Dropbox:
- Vào folder Dropbox dưới local của bạn
- Chuột phải, chọn Copy Dropbox link
Link sẽ có dạng như thế này:
https://www.dropbox.com/s/abcxyz/YourFileName.amp?dl=0
Bạn tự đổi url trên thành thế này:
https://dl.dropbox.com/s/abcxyz/YourFileName.amp?
- Từ trang chính của MC, vào Web Studio/CloudPages. Tạo một Collection, chẳng hạn Gâu Đần tạo là GauDan Testing, xong rồi tạo một blank Landingpage với tên và url.
- Bỏ vào đoạn code như mẫu sau và publish.
%%=TreatAsContent(HTTPGet('link được bạn biến đổi bỏ vào đây'))=%%
Giải thích: Đoạn mã này để kéo đoạn code trong cloud file của Dropbox, và evaluate đoạn code đó trong MC.
Step 3: say Hello World và đặt những bước chân đầu tiên của bạn trên MC
Từ file dưới local, viết đoạn mã sau:
AMPscript:
%%[
var @HelloWorld
set @HelloWorld = 'Hello World'
Output(Concat('', @HelloWorld))
]%%
Thử refresh URL của CloudPage bạn đã public trên.
Note: Output function trong AMPscript có thể dùng để debug cho ngôn ngữ này khi ta có thể “print” ra ngay trong block code mà không cần phải dùng inline code %%=v(@YourVariable)=%%
(cũng là một cách khác để print ra). Có một chú ý khi dùng hàm Output, đó là chỉ xài được khi output một nested function, trong code mẫu ở trên hàm lồng vào là Concat dùng để nối 1 string rỗng và biến @HelloWorld.
Thử với SSJS nèo:
<script runat="server">
Platform.Load("core", "1.1.1");
var HelloWorld = 'Hello World 2';
Write(HelloWorld);
</script>
Các bạn cũng sẽ nhận được output tương tự như trên.
QA:
- Tui không muốn dùng Dropbox, dùng cái khác được không?
Được. Các bạn có thể dùng bất kỳ dịch vụ điện toán đám mây nào có thể sync giữa local và cloud như Dropbox. Nhưng tin Đần đi, một dịch vụ tốt như Dropbox là một công cụ cực kỳ hữu hiệu cho việc develop và debug code của bạn. Chẳng hạn, các bạn thích dùng Github đi. Bạn có thể kéo “raw” url của file đó để dùng cách này, tuy nhiên cache của raw url này chỉ được cập nhật mỗi 15 phút (vì file raw mới có thể kéo về bằng cách này). Không thuận tiện chút nào.
- Sao không bỏ thẳng code vào trong Cloudpage, hoặc tại sao không dùng email để thử?
Vì ta đang trong giai đoạn phát triển và hoàn thiện code của mình. Việc sync file giữa local và Dropbox, và kéo file đó qua Cloudpage giúp ta tránh việc phải Save và Publish Cloudpage đó mỗi lần ta cập nhật đoạn code. Giúp tiết kiệm hàng tấn thời gian và lược đi rất nhiều bước.
Với não Voz của Đần tính toán thử thì: Save và Publish code tốn khoảng 2 phút đi, thì sau khi publish xong rất có thể lên đến 5’ thì Cloudpage đó mới hoàn toàn hoàn thành. Chỉnh sửa cập nhật code 10 lần thì bạn tốn mẹ nó 1 tiếng rồi (???)
Chưa kể MC không có đầy đủ chức năng ta để phát triển code và đại kỵ là sửa inline trong MC (hệ thống tự động save, hoặc lỡ tay bấm là không thể quay lại về trước nữa). Vì thế thay vào đó hãy chỉnh sửa code của bạn trong Editor (VS code).
Email cũng có thể báo lỗi nếu AMPscript của bạn sai, bằng cách vào preview email. Dù vậy cách này cũng mất thời gian và các thông báo hiện ra cũng rất khó để nhìn vào.
- Vậy ta cứ lưu code trên Dropbox hoài à?
Sau khi code bạn hoàn thiện, chạy ổn định. Ta sẽ lấy code trong VS code và bỏ thẳng lên CloudPage hoặc email nhé.