Bạn sẽ muốn đính kèm metadata vào danh bạ của mình. Ví dụ, bạn có thể muốn lưu trữ tên, địa chỉ hoặc tên công ty của họ.

Khi tracking events, bạn có thể thêm metadata vào liên hệ. Metadata có thể được xem trong bảng điều khiển, được dùng cho segment contacts, và personalize messages.

Thêm metadata

Trong ví dụ này, chúng tôi sẽ theo dõi sự kiện project-created và đính kèm tên dự án vào liên hệ.

Metadata sẽ phân biệt chữ hoa chữ thường!
await fetch('https://api.mailsparky.com/v1/track', {
    method: "POST",
    headers: {
        "Content-Type": "application/json",
        "Authorization": "Bearer <API_KEY>"
    },
    body: JSON.stringify({
        "event": "new-project",
        "email": "hello@mailsparky.com",
        "data": {
            "project": "MailSparky"
        }
    })
});

key project sẽ được thêm vào trong liên hệ và sẽ được dùng ở bảng điều khiển. Key không tồn tại sẽ được tạo, and Key đã tồn tại sẽ được chỉnh sửa.

Sử dụng metadata trong templates

Khi bạn tạo template, bạn có thể sử dụng cú pháp {{data}} để truy cập metadata. Ví dụ, nếu bạn muốn sử dụng tên của dự án trong mẫu của mình, bạn có thể sử dụng {{project}}.

Sử dụng metadata trong transactional emails

Bạn cũng có thể sử dụng metadata trong transactional emails. Sử dụng cú pháp {{data}} để truy cập metadata. Ví dụ, nếu bạn muốn sử dụng tên dự án trong email của mình, bạn có thể sử dụng {{project}}.

await fetch('https://api.mailsparky.com/v1/send', {
    method: "POST",
    headers: {
        "Content-Type": "application/json",
        "Authorization": "Bearer <API_KEY>"
    },
    body: JSON.stringify({
        "to": "hello@mailsparky.com",
        "subject": "Welcome {{project}}",
        "body": "Welcome to MailSparky, {{project}}!"
    })
});

Giá trị mặc định

Bạn cũng có thể đặt giá trị mặc định cho metadata. Nếu khóa không tồn tại trên một liên hệ, giá trị mặc định sẽ được sử dụng thay thế.

Mở rộng templates với một giá trị mặc định ta sẽ sử dụng ??

{{project ?? MailSparky}}

Non-persistent metadata

Theo mặc định, metadata là liên tục. Điều này có nghĩa là nếu bạn theo dõi một sự kiện và đính kèm metadata, metadata đó sẽ được lưu trữ trên liên hệ và sẽ có sẵn để sử dụng trong tương lai.

Ví dụ, nếu bạn muốn gửi mật khẩu một lần hoặc URL hết hạn. Trong trường hợp đó, bạn cần phải thiết lập rõ ràng metadata là không cố định.

await fetch('https://api.mailsparky.com/v1/track', {
    method: "POST",
    headers: {
        "Content-Type": "application/json",
        "Authorization": "Bearer <API_KEY>"
    },
    body: JSON.stringify({
        "event": "new-project",
        "email": "hello@mailsparky.com",
        "data": {
            "project": "MailSparky",
            "one-time-password": {
                "value": "123456",
                "persistent": false
            }
        }
    })
});