Once-Off Message Campaign

Create and send a once-off message campaign to a defined audience. You can engage a specific group of holders of digital passports thanks to tags or digital passport ID(s).

Overview

Uses Cases

  • As a brand, you wish to send a message for a new product launch to active end-users in a specific country.
  • As a brand, you wish to send a message to share a discount to end-users that have been active in the 30 days.

๐Ÿ’ก

To reach out this specific audience, segment these end-users using the Audience Segmentation.

โš ๏ธ

  • 1 message sent per digital passport: 1 credit.
  • End-users cannot reply to message campaigns.

Workflow

Let's start ๐Ÿš€

Create Once Off Message Campaign Draft

URL

Create your once-off message campaign draft respecting the Message Schema by using the /onceOfMessage.

POST - https://{{nmpUrl}}/onceOfMessage

๐Ÿ“Œ

The API is authenticated with the user rights required โ†’ certCreate

Body

FieldTypeRequiredDescription
campaignNameStringโœ…Name of the campaign as a reference in your NFT Management Platform.
audienceIdStringโŒID of the audience you wish to target.
For more information about the audience, see Manage Audience Segmentation.
productIdsArrayโŒSpecific digital passport(s) you wish to target.
contentObjectโŒFor more information on the content $schema, see Message Schema.
statutStringโœ…- DRAFT: The campaign is created as a draft, the audience won't receive it after creation.
- CREATED: The campaign will be launched after sending the request.
{
    "campaignName": "New Arianeer",
    "audienceId": "6620d8b99db1ffed81bd0147",
    "productIds": "test",
    "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"
}

Return Payload

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.

{
    "campaignName": "New Arianeer",
    "tags": [],
    "status": "DRAFT",
    "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.\"}]}",
    "countries": [],
    "productIds": [
        "test"
    ],
    "audienceId": "6620d8b99db1ffed81bd0147",
    "_id": "6620ea83e5e3c7f33f7595b9",
    "createdAt": "2024-04-18T09:40:19.982Z",
    "updatedAt": "2024-04-18T09:40:19.982Z",
    "__v": 0,
    "id": "6620ea83e5e3c7f33f7595b9"
}

Update Once Off Message Campaign

URL

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.

PUT - https://{{nmpUrl}}/onceOfMessage/:id

๐Ÿ“Œ

The API is authenticated with the user rights required โ†’ certCreate

Body

FieldTypeRequiredDescription
campaignNameStringโŒName of the campaign as a reference in your NFT Management Platform.
audienceIdStringโŒID of the audience you wish to target.
For more information about the audience, see Manage Audience Segmentation.
productIdsObjectโŒSpecific digital passport(s) you wish to target.
contentObjectโŒFor more information on the content $schema, see Message Schema.
statutStringโŒStatut set as DRAFT.
{
    "campaignName": "Hello & welcome to your Arianee NFT",
    "audienceId": "6620d8b99db1ffed81bd0147",
    "productIds": "test",
    "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"
}

Return Payload

Status CodeDescription
200Your once-off message campaign has been updated.
{
    "_id": "6620ea83e5e3c7f33f7595b9",
    "campaignName": "campaign name!",
    "tags": [],
    "status": "DRAFT",
    "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.\"}]}",
    "countries": [],
    "productIds": [
        "test"
    ],
    "audienceId": "6620d8b99db1ffed81bd0147",
    "createdAt": "2024-04-18T09:40:19.982Z",
    "updatedAt": "2024-04-18T09:49:13.028Z",
    "__v": 0,
    "id": "6620ea83e5e3c7f33f7595b9"
}

Errors

Status CodeSuccessDescription
500falseYour once-off message campaign ID may not exist.
{
    "stringValue": "\"6620ea83e5e3c7f33f7595b\"",
    "valueType": "string",
    "kind": "ObjectId",
    "value": "6620ea83e5e3c7f33f7595b",
    "path": "_id",
    "reason": {},
    "name": "CastError",
    "message": "Cast to ObjectId failed for value \"6620ea83e5e3c7f33f7595b\" (type string) at path \"_id\" for model \"OnceOfMessageCampaign\""
}

Fetch a Once-Off Message Campaign

URL

To fetch a specific once-off message campaign and its information, use /onceOfMessage/:id.

GET - https://{{url}}/onceOfMessage/:id

Return Payload

Status CodeSuccessDescription
200trueThe once-off message campaign is returned with its associated information.
{
    "_id": "6620ea83e5e3c7f33f7595b9",
    "campaignName": "Campaign name",
    "tags": [],
    "status": "DRAFT",
    "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.\"}]}",
    "countries": [],
    "productIds": [
        "test"
    ],
    "audienceId": "6620d8b99db1ffed81bd0147",
    "createdAt": "2024-04-18T09:40:19.982Z",
    "updatedAt": "2024-04-18T09:55:02.697Z",
    "__v": 0,
    "id": "6620ea83e5e3c7f33f7595b9"
}

Errors

Status CodeSuccessDescription
500falseThe campaign ID is wrong.
{
    "stringValue": "\"6620ea83e5e3c7f33f7595b\"",
    "valueType": "string",
    "kind": "ObjectId",
    "value": "6620ea83e5e3c7f33f7595b",
    "path": "_id",
    "reason": {},
    "name": "CastError",
    "message": "Cast to ObjectId failed for value \"6620ea83e5e3c7f33f7595b\" (type string) at path \"_id\" for model \"OnceOfMessageCampaign\""
}

Fetch All Once-Off Message Campaigns

URL

To fetch all the once-off message campaigns, use /onceOfMessage.

GET - https://{{url}}/onceOfMessage

Return Payload

Status CodeSuccessDescription
200trueAll the once-off message campaigns created on your NFT Management Platform are returned.
[
    {
        "_id": "666719d499db871990f100bb",
        "campaignName": "mock",
        "tags": [],
        "status": "CREATED",
        "content": "{\"$schema\":\"https://cert.arianee.org/version1/ArianeeMessage-i18n.json\",\"language\":\"en-US\",\"i18n\":[{\"language\":\"en-US\",\"title\":\"hello test \"}]}",
        "uniqueOwner": true,
        "tagRule": "tokenIds",
        "tokenIds": {
            "type": "Buffer",
            "data": [
                78
            ]
        },
        "countries": [],
        "productIds": [],
        "createdAt": "2024-06-10T15:20:52.014Z",
        "updatedAt": "2024-06-10T15:20:52.151Z",
        "__v": 0,
        "audienceId": "666719d499db871990f100be",
        "id": "666719d499db871990f100bb"
    },
    {
        "countries": [],
        "productIds": [],
        "_id": "649a9a1dcee76880163c4e69",
        "tags": [
            "test-pending"
        ],
        "campaignName": "My campaign 27/06",
        "tagRule": "or",
        "uniqueOwner": true,
        "content": "{\"$schema\":\"https://cert.arianee.org/version1/ArianeeMessage-i18n.json\",\"language\":\"en-US\",\"title\":\"This is a test message\",\"content\":\"Ce message ne s'auto detruira pas dans 1 minute\"}",
        "status": "CREATED",
        "createdAt": "2023-06-27T08:13:17.236Z",
        "updatedAt": "2024-04-18T14:33:21.530Z",
        "__v": 0,
        "audienceId": "66212f30219c35a3ab3f7393",
        "id": "649a9a1dcee76880163c4e69"
    },
    {
        "countries": [],
        "productIds": [],
        "_id": "650b13e306a4ea4761156568",
        "campaignName": "test-bda 1746",
        "tags": [],
        "status": "DRAFT",
        "uniqueOwner": true,
        "tagRule": "or",
        "createdAt": "2023-09-20T15:46:43.521Z",
        "updatedAt": "2024-04-18T14:33:21.551Z",
        "__v": 0,
        "content": "{\"$schema\":\"https://cert.arianee.org/version1/ArianeeMessage-i18n.json\",\"language\":\"en-US\"}",
        "audienceId": "66212f30219c35a3ab3f7394",
        "id": "650b13e306a4ea4761156568"
    },
    {
        "productIds": [],
        "_id": "650c44c7ec2246989bffd125",
        "campaignName": "test cyril 2",
        "tags": [],
        "status": "CREATED",
        "uniqueOwner": true,
        "tagRule": "all",
        "isWalletActiveSinceNumberOfDays": null,
        "custodialWallet": "all",
        "countries": [
            "USA"
        ],
        "allCountries": false,
        "createdAt": "2023-09-21T13:27:35.587Z",
        "updatedAt": "2024-04-18T14:33:21.600Z",
        "__v": 0,
        "content": "{\"$schema\":\"https://cert.arianee.org/version1/ArianeeMessage-i18n.json\",\"language\":\"en-US\"}",
        "audienceId": "66212f30219c35a3ab3f7396",
        "id": "650c44c7ec2246989bffd125"
    },
    {
        "productIds": [],
        "_id": "650d4abb94cb787fdc6bbc62",
        "campaignName": "test france spain",
        "tags": [
            "landing"
        ],
        "status": "DRAFT",
        "uniqueOwner": true,
        "tagRule": "and",
        "isWalletActiveSinceNumberOfDays": 30,
        "custodialWallet": "all",
        "countries": [
            "Spain"
        ],
        "allCountries": false,
        "createdAt": "2023-09-22T08:05:15.926Z",
        "updatedAt": "2024-04-18T14:33:21.625Z",
        "__v": 0,
        "content": "{\"$schema\":\"https://cert.arianee.org/version1/ArianeeMessage-i18n.json\",\"language\":\"en-US\",\"i18n\":[]}",
        "audienceId": "66212f30219c35a3ab3f7397",
        "id": "650d4abb94cb787fdc6bbc62"
    },
    {
        "productIds": [],
        "_id": "65129b29e7290bdf737d0390",
        "campaignName": "tokenIds unique owner",
        "tags": [],
        "status": "DRAFT",
        "uniqueOwner": true,
        "tagRule": "tokenIds",
        "tokenIds": {
            "type": "Buffer",
            "data": [
                49,
                50,
                51,
                44,
                32,
                52,
                53,
                54,
                44,
                32,
                55,
                56,
                57
            ]
        },
        "isWalletActiveSinceNumberOfDays": 30,
        "custodialWallet": "all",
        "countries": [
            "France",
            "USA",
            "China"
        ],
        "allCountries": false,
        "createdAt": "2023-09-26T08:49:45.394Z",
        "updatedAt": "2024-04-18T14:33:21.764Z",
        "__v": 0,
        "content": "{\"$schema\":\"https://cert.arianee.org/version1/ArianeeMessage-i18n.json\",\"language\":\"en-US\"}",
        "audienceId": "66212f30219c35a3ab3f739d",
        "id": "65129b29e7290bdf737d0390"
    },
    {
        "productIds": [],
        "_id": "65169c82b4dfd45f65fa5a86",
        "campaignName": "form",
        "tags": [
            "parentPassport"
        ],
        "status": "DRAFT",
        "uniqueOwner": true,
        "tagRule": "and",
        "isWalletActiveSinceNumberOfDays": 30,
        "custodialWallet": "yes",
        "countries": [
            "Spain",
            "Brazil"
        ],
        "createdAt": "2023-09-29T09:44:34.160Z",
        "updatedAt": "2024-04-18T14:33:21.824Z",
        "__v": 0,
        "audienceId": "66212f30219c35a3ab3f73a0",
        "id": "65169c82b4dfd45f65fa5a86"
    },
    {
        "productIds": [],
        "_id": "651aa81fc298bb6fd38387e0",
        "campaignName": "test tags",
        "tags": [
            "public_v2"
        ],
        "status": "DRAFT",
        "uniqueOwner": true,
        "tagRule": "or",
        "isWalletActiveSinceNumberOfDays": 30,
        "custodialWallet": "yes",
        "countries": [],
        "createdAt": "2023-10-02T11:23:11.884Z",
        "updatedAt": "2024-04-18T14:33:21.887Z",
        "__v": 0,
        "content": "{\"$schema\":\"https://cert.arianee.org/version1/ArianeeMessage-i18n.json\",\"language\":\"en-US\",\"title\":\"title\",\"content\":\"content\",\"i18n\":[{\"language\":\"fr-FR\",\"title\":\"fr\",\"content\":\"fr\"}]}",
        "tokenIds": {
            "type": "Buffer",
            "data": [
                49,
                50,
                51,
                50
            ]
        },
        "audienceId": "66212f30219c35a3ab3f73a3",
        "id": "651aa81fc298bb6fd38387e0"
    },
    {
        "productIds": [],
        "_id": "651d68ebd377a06de0ddfd95",
        "campaignName": "test wallet profile 1530",
        "tags": [],
        "status": "CREATED",
        "content": "{\"$schema\":\"https://cert.arianee.org/version1/ArianeeMessage-i18n.json\",\"language\":\"en-US\",\"i18n\":[{\"language\":\"en-US\",\"title\":\"test wallet profile 1530\"}]}",
        "uniqueOwner": true,
        "tagRule": "all",
        "isWalletActiveSinceNumberOfDays": null,
        "custodialWallet": "no",
        "countries": [],
        "createdAt": "2023-10-04T13:30:19.482Z",
        "updatedAt": "2024-04-18T14:33:21.929Z",
        "__v": 0,
        "audienceId": "66212f30219c35a3ab3f73a5",
        "id": "651d68ebd377a06de0ddfd95"
    },
    {
        "productIds": [],
        "_id": "651d69bed377a06de0de02ef",
        "campaignName": "test wallet profile 1533",
        "tags": [
            "test2",
            "anotherTag"
        ],
        "status": "CREATED",
        "content": "{\"$schema\":\"https://cert.arianee.org/version1/ArianeeMessage-i18n.json\",\"language\":\"en-US\",\"i18n\":[{\"language\":\"en-US\",\"title\":\"test wallet profile 1533\"}]}",
        "uniqueOwner": true,
        "tagRule": "or",
        "isWalletActiveSinceNumberOfDays": 30,
        "custodialWallet": "no",
        "countries": [
            "France",
            "Mexico",
            "Belgium"
        ],
        "createdAt": "2023-10-04T13:33:50.042Z",
        "updatedAt": "2024-04-18T14:33:21.950Z",
        "__v": 0,
        "audienceId": "66212f30219c35a3ab3f73a6",
        "id": "651d69bed377a06de0de02ef"
    },
  ...

Delete Once-Off Message Campaign

URL

To remove a once-off message campaign from your NFT Management Platform, use /onceOfMessage/:id.

DELETE - https://{{url}}/onceOfMessage/:id

Return Payload

Status CodeSuccessDescription
200trueThe once-off message campaign has been removed.
{
    "productIds": [],
    "_id": "65a6f3a3cb6f39f877725b87",
    "tags": [],
    "countries": [],
    "status": "SCHEDULED",
    "content": "{\"title\":\"TEST\",\"content\":\"This is a test :D\",\"$schema\":\"https://cert.arianee.org/version5/ArianeeProductCertificate-i18n.json\"}",
    "campaignName": "RoyalOak",
    "isWalletActiveSinceNumberOfDays": 30,
    "custodialWallet": "yes",
    "createdAt": "2024-01-16T21:22:43.753Z",
    "updatedAt": "2024-04-18T14:33:23.668Z",
    "__v": 0,
    "audienceId": "66212f30219c35a3ab3f73f4",
    "id": "65a6f3a3cb6f39f877725b87"
}

Error

Status CodeSuccessDescription
500falseThe once-off message campaign has already been removed.
404falseThe once-off message campaign ID is incorrect.
{
    "stringValue": "\"6620ea83e5e3c7f33f7595b9a\"",
    "valueType": "string",
    "kind": "ObjectId",
    "value": "6620ea83e5e3c7f33f7595b9a",
    "path": "_id",
    "reason": {},
    "name": "CastError",
    "message": "Cast to ObjectId failed for value \"6620ea83e5e3c7f33f7595b9a\" (type string) at path \"_id\" for model \"OnceOfMessageCampaign\""
}
{
    "message": "no ressource with this id"
}