Once Off Message Campaign
Communicate with your audience through once off message campaigns.
Before you begin
Create and send a once-off message campaign to engage your audience. You can engage a specific group of holders of digital passports thanks to tags or digital passport identification number(s).
Limitations
Digital passport owners cannot reply to your once message campaigns.
Let's start 🚀
Create Once Off Message Campaign
Step 1: Create your once-off message campaign draft respecting the Message Schema by using the /onceOfMessage
.
The API is authenticated with the user rights required →
certCreate
Target your audience owning digital passports associated with at least one defined tag
{
"campaignName": "New Arianeer",
"tagRule": "or",
"isWalletActiveSinceNumberOfDays": null,
"uniqueOwner": true,
"tags": ["dropJan23","dropFeb23"], // Target tags
"content": "{\"$schema\":\"https://cert.arianee.org/version1/ArianeeMessage-i18n.json\",\"language\":\"en-US\",\"i18n\":[{\"language\":\"en-US\",\"title\":\"Hello Arianeer!\",\"content\":\"Wether you joined us this year or prior to 2022, we want to thank you for being part of this adventure.\"}]}",
"status": "DRAFT"
}
Only target custodial wallets & active wallets
{
"campaignName": "New Arianeer",
"status": "DRAFT",
"content": "{\"$schema\":\"https://cert.arianee.org/version1/ArianeeMessage-i18n.json\",\"language\":\"en-US\",\"title\":\"Hello Arianeer!\",\"content\":\"Wether you joined us this year or prior to 2022, we want to thank you for being part of this adventure.\"}",
"uniqueOwner": true,
"tags": [],
"tagRule": "all",
"isWalletActiveSinceNumberOfDays": 30,
"custodialWallet": "yes",
"countries": [],
"_id": "6525520ea1e2be28ae2735ff",
"createdAt": "2023-10-10T13:30:54.689Z",
"updatedAt": "2023-10-10T13:30:54.689Z",
"__v": 0,
"id": "6525520ea1e2be28ae2735ff"
}
Target specific countries & active wallets
To fetch the list of
countries
, refer to the Segmentation documentation.
{
"campaignName": "New Arianeer",
"status": "DRAFT",
"content": "{\"$schema\":\"https://cert.arianee.org/version1/ArianeeMessage-i18n.json\",\"language\":\"en-US\",\"title\":\"Hello Arianeer!\",\"content\":\"Wether you joined us this year or prior to 2022, we want to thank you for being part of this adventure.\"}",
"uniqueOwner": true,
"tags": [],
"tagRule": "all",
"isWalletActiveSinceNumberOfDays": 30,
"custodialWallet": "yes",
"countries": [
"France",
"Spain"
],
"_id": "6525530ca1e2be28ae2736eb",
"createdAt": "2023-10-10T13:35:08.125Z",
"updatedAt": "2023-10-10T13:35:08.125Z",
"__v": 0,
"id": "6525530ca1e2be28ae2736eb"
}
- All filter types (
tags
ortokenId
,isWalletActiveSinceNumberOfDays
,custodialWallet
,countries
) can be combined to refine your target audience.- If you wish to know how many recipients are involved in your campaign, use our dedicated API.
Input | Mandatory | Type | Description |
---|---|---|---|
campaignName | ✅ | String | Name of the campaign as a reference in your NFT Management Platform. |
tagRule | ✅ | String | Tag rules that define if your audience must own all mentioned tags or at least one.or : The owner must have a digital passport with at least one defined tag.and : The owner must have a digital passport that includes all specified tags.all : All digital passports can be targeted independently of their tags or ID.tokenIds : The owner must be one defined tokenId listed into the field tokenIds .⚠️ The tokenIds filed is limited to 100,000 entries. |
uniqueOwner | ❌ | Boolean | true : One message is sent per wallet even if your customer owns several digital passports. |
tags | ✅ | String | Use tags to target your audience. If you do not define tags , set it as an empty [] array and use tokenIds to target your audience.⚠️ Tags are case-sensitive. |
tokenIds | ❌ | String | Target specific digital passport IDs to send the campaign. If you do not define tokenIds , use tags to target your audience.Example: 123,345,456 ... |
isWalletActiveSinceNumberOfDays | ❌ | Number | A period in days during which activity was observed on the user's wallet. |
custodialWallet | ❌ | String | Custodial or non-custodial wallet.yes : Send to custodial wallet only.no : Send to non-custodial wallet only.all : Both types of wallet. |
countries | ❌ | String | Define the target country. String with values separated by a pipe Example: France|Spain ...⚠️ Countries are case-sensitive. |
content | ❌ | Object | For more information on the content $schema , see Message Schema. |
statut | ✅ | String | Statut set as DRAFT . |
Result: Your once-off message campaign draft has been created and is ready to be sent. Keep the _id
, ID of the campaign, to send it the next step.
{
"tags": [
"test_api_5k"
],
// ID of the once off message campaign
"_id": "63b7ef72ec133a4fe78e7399",
"campaignName": "campaign name",
"tagRule": "or",
"uniqueOwner": true,
"tokenIds": {
"type": "Buffer",
"data": []
},
"content": "{\"$schema\":\"https://cert.arianee.org/version1/ArianeeMessage-i18n.json\",\"language\":\"en-US\",\"i18n\":[{\"language\":\"en-US\",\"title\":\"Hello you !\",\"content\":\"My message content here.\"}]}",
"status": "DRAFT",
"createdAt": "2023-01-06T09:52:50.018Z",
"updatedAt": "2023-01-06T09:52:50.018Z",
"__v": 0,
"id": "63b7ef72ec133a4fe78e7399"
}
Step 2: Once your once-off message draft is ready to be sent, use /onceOfMessage/{_id}/createMessage
.
Result:
httpCode | Description |
---|---|
200 | Your once-off message campaign has been sent to your audience. In this example, 46 messages, t , has been delivered. |
500 | Your once-off message campaign ID may not exist. |
400 | Your campaign has already been sent. |
400 | No digital passport was found for your campaign ID. |
{
"ok": 1,
"writeErrors": [],
"writeConcernErrors": [],
"insertedIds": [
{
"index": 0,
"_id": "63b7ef72ec133a4fe78e7399"
}
],
"nInserted": 1,
"nUpserted": 0,
"nMatched": 0,
"nModified": 0,
"nRemoved": 0,
"upserted": [],
"lastOp": {
"ts": "7185474668390776833",
"t": 46
}
}
{
"name": "API Error",
"description": "This message 63b7ef1cec133a4fe78e7397 has already been created",
"code": "nmp.back.onceOff.campaignAlreadyCreated",
"httpCode": 400
}
{
"name": "API Error",
"description": "No NFT found for the message campaign 641436fc334534f2ee7907aa",
"code": "nmp.back.onceOff.noNFTsFound",
"httpCode": 400
}
{
"sentryLink": "https://sentry.io/organizations/arianee/issues/?project=5375493&query=id:ee2e0719a4de4585b120be9e523ef55e&statsPeriod=1h",
"message": "An unexpected error occured. To help fixing this bug, please send us sentryLink"
}
Update Once Off Message Campaign
Update the content of your once message campaign, e.g. let's say you wish to correct your campaign title and use the /onceOffMessage/{_id}
.
The API is authenticated with the user rights required →
certCreate
{
"campaignName": "Hello & welcome to your Arianee NFT",
"tagRule": "or",
"uniqueOwner": true,
"tags": ["dropJan23","dropFeb23"],
"tokenIds": "",
"content": "{\"$schema\":\"https://cert.arianee.org/version1/ArianeeMessage-i18n.json\",\"language\":\"en-US\",\"i18n\":[{\"language\":\"en-US\",\"title\":\"Hello you !\",\"content\":\"My message content here.\"}]}",
"status": "DRAFT"
}
Result: Your campaign has been updated.
httpCode | Description |
---|---|
200 | Your once-off message campaign has been updated. |
400 | Your once-off message campaign ID may not exist. |
{
"tags": [
"tag_test",
"other_tag"
],
"_id": "63b7ef72ec133a4fe78e7399",
"campaignName": "Welcome to your Arianee NFT!!",
"tagRule": "or",
"content": "{\"$schema\":\"https://cert.arianee.org/version1/ArianeeMessage-i18n.json\",\"language\":\"en-US\",\"i18n\":[{\"language\":\"en-US\",\"title\":\"Hello you !\",\"content\":\"My message content here.\"}]}",
"createdAt": "2023-02-16T15:39:36.389Z",
"updatedAt": "2023-03-16T13:29:54.351Z",
"__v": 0,
"enable": false,
"id": "63b7ef72ec133a4fe78e7399"
}
{
"stringValue": "\"63ee4e3822c4554801f7\"",
"kind": "ObjectId",
"value": "63ee4e3822c4554801f7",
"path": "_id",
"reason": {}
}
Updated about 1 year ago