Last updated: 3:11 PM - December 8, 2024
This object represents an offer or experience, which defines the structure, validation, and distribution method for a specific event, product, or service. These experiences can be distributed to specific audiences and include rules for validation, such as supply limits, point systems, and validity periods.
- POST /v1/experiences
- PATCH /v1/experiences/:id
- GET /v1/experiences/:id
- GET /v1/experiences
- DELETE /v1/experiences/:id
Unique identifier for the experience (MongoDB ObjectID).
The title or name of the experience.
A tag to categorize or highlight the experience (e.g., 'VIP', 'Exclusive').
A detailed description of the experience or offer.
A URL to the cover image representing the experience.
Indicates whether the experience is burnable (redeemable) by users.
The method used to distribute the experience (e.g., 'direct', 'random').
The logic gate used to validate the experience distribution (e.g., 'and', 'or').
Array of audience IDs that are eligible for the experience.
Validation rules applied to the experience.
Additional content or details related to the experience.
The blockchain contract address associated with the experience.
The blockchain network identifier (Chain ID) where the contract resides.
The ID of the user who created the experience.
The ID of the project under which the experience falls.
The ID of the organization to which the experience belongs.
The current status of the experience (e.g., 'active', 'inactive').
Additional metadata for the experience. Can contain key-value pairs for extra information.
Timestamp when the experience was created (Unix timestamp).
Timestamp when the experience was last updated (Unix timestamp).
Version number of the experience, typically used for concurrency control.
{ "id": "890e8f60d3ff66832b0124f9", "title": "VIP Concert Tickets", "tileTag": "VIP", "description": "Exclusive VIP access to a concert event.", "coverImage": "https://example.com/vip-concert.png", "isBurnable": true, "distributionMethod": "direct", "logicGate": "and", "audienceIDs": [ "audience1", "audience2" ], "validation": { "isActive": true, "isSupplyLimit": true, "isMaxPer": true, "points": 100, "maxSupply": 500, "maxPer": 2, "validStart": 1729006624, "validEnd": 1729611424, }, "content": "Enjoy a VIP experience with front row seats and backstage access.", "contractAddress": "0x1234567890abcdef", "chainID": "1", "userID": "user123", "projectID": "project456", "orgID": "org789", "status": "active", "metadata": { }, "created": 1729006624, "updated_at": 1729006724, "v": 1, }
The ID of the user creating the experience.
Action to be performed, set to 'create' to create a new experience.
API key for authenticating the request.
Additional metadata related to the experience. This can be customized to store relevant data.
curl -L 'https://api.gowithpush.com/experiences/create' -H 'userID: {{userID}}' -H 'Content-Type: application/json' -H 'X-API-Key: <YOUR-API-KEY>' -d '{ "action": "create", "metadata": { } }'
{ "id": "66e29430f5cc66995a0114d7", "userID": "{{userID}}", "action": "create", "status": "created", "metadata": {}, "created": 1729006624, "message": "Experience created successfully." }
The page number of the paginated results.
The number of results per page.
The ID of the user requesting the experiences.
API key for authenticating the request.
curl -L 'https://api.gowithpush.com/experiences?page=1&per_page=20' -H 'userID: 66ddfb562e0f9e66dfb56772' -H 'X-API-Key: <YOUR-API-KEY>'
{ "experiences": [ { "id": "66e29430f5cc66995a0114d7", "title": "Exclusive Event", "description": "An exclusive event for VIP members.", "status": "active", "created": 1729006624, "updated_at": 1729006724 }, { "id": "66e29430f5cc66995a0114d8", "title": "Holiday Offer", "description": "Special discounts for the holiday season.", "status": "inactive", "created": 1729006724, "updated_at": 1729006824 } ], "page": 1, "per_page": 20, "total": 2 }
The unique ID of the customer to be deleted.
The ID of the user making the delete request.
API key for authenticating the request.
curl -L -X DELETE 'https://api.gowithpush.com/customers/delete?id=66c44ae20f74a7c33ec6a45f' -H 'userID: 66abe34930ac8b1edfd40a96' -H 'X-API-Key: <YOUR-API-KEY>'
{ "status": "success", "message": "Customer deleted successfully.", "customerID": "66c44ae20f74a7c33ec6a45f" }