API referenceMessaging

Messaging

11 operations. Every schema and example on this page is generated from the platform contract.

Open the signed-in customer's conversation with a store and read its messages.

Returns the conversation between the signed-in customer and the given store, a page of its messages, the ids of messages deleted since `since`, the customer's send-permission state, and whether the store is currently typing. ⚠️ THIS READ CREATES THE CONVERSATION IF IT DOES NOT EXIST. That is deliberate and load-bearing, not an accident of implementation: opening the chat is what brings the thread into being, and the merchant's conversation list is fed from the row this call creates. It is safe to call repeatedly, at most one conversation ever exists per (customer, store) pair, and a concurrent first open resolves to the same row. Pagination has two modes that are never mixed. Pass `since` to POLL for what you missed (oldest→newest, with `deleted_ids` populated). Omit `since` to load HISTORY, the newest `limit` messages, oldest→newest, optionally older than `before` for scroll-up. The customer is resolved from the session; a client-supplied id is never trusted for identity.

auth customer:readop getMessagingConversationrate limitederrors

Parameters

store_idstring · uuidqueryrequired

Store whose conversation this refers to.

sincestringqueryoptional

POLLING mode. ISO-8601 timestamp; returns only messages newer than this, oldest→newest, and populates `deleted_ids`. Use the newest `created_at` you already hold.

beforestringqueryoptional

HISTORY mode. ISO-8601 timestamp; returns the newest messages OLDER than this, for scroll-up pagination. Use the oldest `created_at` you already hold. Ignored when `since` is set.

limitintegerqueryoptional

Maximum messages to return. Defaults to 50.

Response, 200

conversationobjectrequired

The conversation between this customer and this store.

3 child fields
idstringrequired

Conversation id.

unreadnumberrequired

Messages the customer hasn't read yet.

statusenumrequired

Thread state. Sending into a 'blocked' conversation is rejected.

activearchivedblocked
messagesarray of objectrequired

A page of messages, always oldest→newest.

18 child fields
idstringrequired

Server row id for the message.

conversation_idstringrequired

Conversation this message belongs to.

sender_typeenumrequired

Who sent it. 'customer' is the member; 'store' is the merchant.

customerstore
sender_idstringrequired

Id of the sending customer or store user.

content_typeenumrequired

Message kind. 'system' messages are generated by the platform, not a person.

textimagevideosystem
bodystring, nullablerequired

Text body. Null for media-only messages.

media_urlstring, nullablerequired

Full-size image or video URL, when this is a media message.

media_thumbnail_urlstring, nullablerequired

Thumbnail URL for a media message, when one was generated.

media_metadataobjectrequired

Media details captured at upload time (original name, mime type, byte size, pixel dimensions). Null on rows written before this was recorded.

statusenumrequired

Delivery state, which drives the tick indicator in the apps.

sendingsentdeliveredreadfailed
read_atstring, nullablerequired

When the recipient read the message, if they have.

delivered_atstring, nullablerequired

When the message reached the recipient's device, if it has.

broadcast_idstring, nullablerequired

Set when this message is one recipient copy of a merchant broadcast.

created_atstringrequired

When the message was sent.

updated_atstringrequired

When the row last changed.

edited_atstring, nullablerequired

When the message was last edited. Null if never edited.

deleted_atstring, nullablerequired

When the message was deleted. Deleted messages are not returned in reads.

client_message_idstring, nullablerequired

The sender's client-generated id, the idempotency key AND the client's stable bubble identity. Reconcile on this, not on `id`.

deleted_idsarray of stringrequired

Ids of messages deleted since `since`, contains both server row ids and client_message_ids so a client can tombstone a bubble it only knows by its local id. Always empty in HISTORY mode.

profileobjectrequired

The messaging profile gate. A customer may always READ a conversation, but may only SEND once they have supplied a name and an email, update them with `updateMessagingProfile`.

5 child fields
can_messagebooleanrequired

Whether the customer may send messages. False until both a name and an email are on file.

has_namebooleanrequired

Whether the customer has a name on file.

has_emailbooleanrequired

Whether the customer has an email on file.

namestring, nullablerequired

The customer's name, if set.

emailstring, nullablerequired

The customer's email, if set.

is_other_typingbooleanrequired

True when the store was typing within the last five seconds.

curl -G "https://www.membber.com/api/v1/messaging/conversation" \
  -H "Authorization: Bearer $MEMBBER_TOKEN" \
  --data-urlencode "store_id=6659c139-0000-4000-8000-d0c500000066"
Response, 200
{
  "conversation": {
    "id": "00000d1b-0000-4000-8000-d0c500000000",
    "unread": 1,
    "status": "active"
  },
  "messages": [
    {
      "id": "00000d1b-0000-4000-8000-d0c500000000",
      "conversation_id": "e701a257-0000-4000-8000-d0c5000000e7",
      "sender_type": "customer",
      "sender_id": "01eb2f65-0000-4000-8000-d0c500000001",
      "content_type": "text",
      "body": "<body>",
      "media_url": "https://example.com/image.jpg",
      "media_thumbnail_url": "https://example.com/image.jpg",
      "media_metadata": {},
      "status": "sending",
      "read_at": "<read_at>",
      "delivered_at": "<delivered_at>",
      "broadcast_id": "0eae4559-0000-4000-8000-d0c50000000e",
      "created_at": "<created_at>",
      "updated_at": "<updated_at>",
      "edited_at": "<edited_at>",
      "deleted_at": "<deleted_at>",
      "client_message_id": "279d4547-0000-4000-8000-d0c500000027"
    }
  ],
  "deleted_ids": [
    "69349f01-0000-4000-8000-d0c500000069"
  ],
  "profile": {
    "can_message": true,
    "has_name": true,
    "has_email": true,
    "name": "Example name",
    "email": "alex@example.com"
  },
  "is_other_typing": true
}

Confirm the store's messages reached this customer's device.

Marks every message the store has sent in this conversation as delivered, which is what turns the merchant's single tick into a double tick. Call it the moment a message arrives, over the WebSocket or as a push, without waiting for the customer to open the chat. Idempotent: only messages not already marked are touched, so the WebSocket and the push both firing produces one state change and one notification to the merchant, not two.

Request body

store_idstring · uuidrequired

Store whose conversation this refers to.

Response, 200

acknowledgedbooleanrequired

Always true when the call succeeds.

curl -X POST "https://www.membber.com/api/v1/messaging/delivered" \
  -H "Authorization: Bearer $MEMBBER_TOKEN" \
  -H "Idempotency-Key: 1f0e2d3c-4b5a-4678-9abc-def012345678" \
  -H "Content-Type: application/json" \
  -d '{
    "store_id": "6659c139-0000-4000-8000-d0c500000066"
  }'
Response, 200
{
  "acknowledged": true
}

Upload a photo or video and post it as a message in one step.

Sent as `multipart/form-data` with fields `file`, `store_id` and `client_message_id`. Uploads the file to storage and posts it as a media message in the customer's conversation with the store, creating the conversation if needed. Images are resized to at most 1200px, converted to WebP and given a thumbnail; videos are stored as uploaded. Limits: 10MB for images, 50MB for videos. IDEMPOTENT on `client_message_id` exactly as `sendMessagingMessage` is: a retry with the same id returns the original message rather than posting a second copy. Requires `profile.can_message`.

Response, 200

messageobjectrequired

A single chat message.

18 child fields
idstringrequired

Server row id for the message.

conversation_idstringrequired

Conversation this message belongs to.

sender_typeenumrequired

Who sent it. 'customer' is the member; 'store' is the merchant.

customerstore
sender_idstringrequired

Id of the sending customer or store user.

content_typeenumrequired

Message kind. 'system' messages are generated by the platform, not a person.

textimagevideosystem
bodystring, nullablerequired

Text body. Null for media-only messages.

media_urlstring, nullablerequired

Full-size image or video URL, when this is a media message.

media_thumbnail_urlstring, nullablerequired

Thumbnail URL for a media message, when one was generated.

media_metadataobjectrequired

Media details captured at upload time (original name, mime type, byte size, pixel dimensions). Null on rows written before this was recorded.

statusenumrequired

Delivery state, which drives the tick indicator in the apps.

sendingsentdeliveredreadfailed
read_atstring, nullablerequired

When the recipient read the message, if they have.

delivered_atstring, nullablerequired

When the message reached the recipient's device, if it has.

broadcast_idstring, nullablerequired

Set when this message is one recipient copy of a merchant broadcast.

created_atstringrequired

When the message was sent.

updated_atstringrequired

When the row last changed.

edited_atstring, nullablerequired

When the message was last edited. Null if never edited.

deleted_atstring, nullablerequired

When the message was deleted. Deleted messages are not returned in reads.

client_message_idstring, nullablerequired

The sender's client-generated id, the idempotency key AND the client's stable bubble identity. Reconcile on this, not on `id`.

curl -X POST "https://www.membber.com/api/v1/messaging/media" \
  -H "Authorization: Bearer $MEMBBER_TOKEN" \
  -H "Idempotency-Key: 1f0e2d3c-4b5a-4678-9abc-def012345678"
Response, 200
{
  "message": {
    "id": "00000d1b-0000-4000-8000-d0c500000000",
    "conversation_id": "e701a257-0000-4000-8000-d0c5000000e7",
    "sender_type": "customer",
    "sender_id": "01eb2f65-0000-4000-8000-d0c500000001",
    "content_type": "text",
    "body": "<body>",
    "media_url": "https://example.com/image.jpg",
    "media_thumbnail_url": "https://example.com/image.jpg",
    "media_metadata": {},
    "status": "sending",
    "read_at": "<read_at>",
    "delivered_at": "<delivered_at>",
    "broadcast_id": "0eae4559-0000-4000-8000-d0c50000000e",
    "created_at": "<created_at>",
    "updated_at": "<updated_at>",
    "edited_at": "<edited_at>",
    "deleted_at": "<deleted_at>",
    "client_message_id": "279d4547-0000-4000-8000-d0c500000027"
  }
}

Delete one of the signed-in customer's own messages.

Removes a message the signed-in customer sent from both sides of the conversation. The row is retained with a deletion timestamp rather than destroyed, so the id appears in `deleted_ids` on the next poll and every client can tombstone its copy. Only the original sender may delete. Idempotent, deleting an already-deleted message succeeds and changes nothing.

Parameters

store_idstring · uuidqueryrequired

Store whose conversation this refers to.

message_idstring · uuidqueryrequired

The message to delete.

Response, 200

deletedbooleanrequired

Always true when the call succeeds.

curl -X DELETE "https://www.membber.com/api/v1/messaging/messages?store_id=6659c139-0000-4000-8000-d0c500000066&message_id=9b39a053-0000-4000-8000-d0c50000009b" \
  -H "Authorization: Bearer $MEMBBER_TOKEN" \
  -H "Idempotency-Key: 1f0e2d3c-4b5a-4678-9abc-def012345678"
Response, 200
{
  "deleted": true
}

Send a message from the signed-in customer to a store.

Posts a message into the customer's conversation with the store, creating the conversation if this is the first one. Delivers to the merchant over Realtime and push. IDEMPOTENT on `client_message_id`: sending the same id twice returns the original message instead of posting a duplicate. Always reuse the id when retrying, that is the whole mechanism that stops a flaky network from producing double messages. Requires the customer to have a name and an email on file (`profile.can_message`); without them the call is rejected and the customer should be sent to `updateMessagingProfile` first. Sending into a blocked conversation is rejected.

Request body

store_idstring · uuidrequired

Store whose conversation this refers to.

client_message_idstring · uuidrequired

Client-generated UUID identifying this message. REQUIRED. Reuse the SAME value on every retry of the same message, the server returns the original message rather than posting a duplicate. Generate a new one only for a genuinely new message.

bodystringoptional

Text body. Required for a text message; omit for a media message.

content_typeenumoptional

Message kind. Defaults to 'text'. Use `uploadMessagingMedia` to send a photo or video from a file.

textimagevideo
media_urlstringoptional

URL of already-uploaded media. Required when `content_type` is image or video.

media_thumbnail_urlstringoptional

Thumbnail URL for the media, if you have one.

media_metadataobjectoptional

Free-form media details to store alongside the message.

Response, 200

messageobjectrequired

A single chat message.

18 child fields
idstringrequired

Server row id for the message.

conversation_idstringrequired

Conversation this message belongs to.

sender_typeenumrequired

Who sent it. 'customer' is the member; 'store' is the merchant.

customerstore
sender_idstringrequired

Id of the sending customer or store user.

content_typeenumrequired

Message kind. 'system' messages are generated by the platform, not a person.

textimagevideosystem
bodystring, nullablerequired

Text body. Null for media-only messages.

media_urlstring, nullablerequired

Full-size image or video URL, when this is a media message.

media_thumbnail_urlstring, nullablerequired

Thumbnail URL for a media message, when one was generated.

media_metadataobjectrequired

Media details captured at upload time (original name, mime type, byte size, pixel dimensions). Null on rows written before this was recorded.

statusenumrequired

Delivery state, which drives the tick indicator in the apps.

sendingsentdeliveredreadfailed
read_atstring, nullablerequired

When the recipient read the message, if they have.

delivered_atstring, nullablerequired

When the message reached the recipient's device, if it has.

broadcast_idstring, nullablerequired

Set when this message is one recipient copy of a merchant broadcast.

created_atstringrequired

When the message was sent.

updated_atstringrequired

When the row last changed.

edited_atstring, nullablerequired

When the message was last edited. Null if never edited.

deleted_atstring, nullablerequired

When the message was deleted. Deleted messages are not returned in reads.

client_message_idstring, nullablerequired

The sender's client-generated id, the idempotency key AND the client's stable bubble identity. Reconcile on this, not on `id`.

curl -X POST "https://www.membber.com/api/v1/messaging/messages" \
  -H "Authorization: Bearer $MEMBBER_TOKEN" \
  -H "Idempotency-Key: 1f0e2d3c-4b5a-4678-9abc-def012345678" \
  -H "Content-Type: application/json" \
  -d '{
    "store_id": "6659c139-0000-4000-8000-d0c500000066",
    "client_message_id": "279d4547-0000-4000-8000-d0c500000027"
  }'
Response, 200
{
  "message": {
    "id": "00000d1b-0000-4000-8000-d0c500000000",
    "conversation_id": "e701a257-0000-4000-8000-d0c5000000e7",
    "sender_type": "customer",
    "sender_id": "01eb2f65-0000-4000-8000-d0c500000001",
    "content_type": "text",
    "body": "<body>",
    "media_url": "https://example.com/image.jpg",
    "media_thumbnail_url": "https://example.com/image.jpg",
    "media_metadata": {},
    "status": "sending",
    "read_at": "<read_at>",
    "delivered_at": "<delivered_at>",
    "broadcast_id": "0eae4559-0000-4000-8000-d0c50000000e",
    "created_at": "<created_at>",
    "updated_at": "<updated_at>",
    "edited_at": "<edited_at>",
    "deleted_at": "<deleted_at>",
    "client_message_id": "279d4547-0000-4000-8000-d0c500000027"
  }
}

Edit one of the signed-in customer's own text messages.

Replaces the body of a text message the signed-in customer sent, stamps `edited_at`, and appends the previous text to the message's edit history so the merchant can see what changed (read it with `getMessagingMessageEditHistory`). Only the original sender may edit, and only text messages can be edited, a photo or video cannot. Submitting the identical text is a no-op that returns the message unchanged and records no history entry.

Request body

store_idstring · uuidrequired

Store whose conversation this refers to.

message_idstring · uuidrequired

The message to edit.

bodystringrequired

The replacement text.

Response, 200

messageobjectrequired

A single chat message.

18 child fields
idstringrequired

Server row id for the message.

conversation_idstringrequired

Conversation this message belongs to.

sender_typeenumrequired

Who sent it. 'customer' is the member; 'store' is the merchant.

customerstore
sender_idstringrequired

Id of the sending customer or store user.

content_typeenumrequired

Message kind. 'system' messages are generated by the platform, not a person.

textimagevideosystem
bodystring, nullablerequired

Text body. Null for media-only messages.

media_urlstring, nullablerequired

Full-size image or video URL, when this is a media message.

media_thumbnail_urlstring, nullablerequired

Thumbnail URL for a media message, when one was generated.

media_metadataobjectrequired

Media details captured at upload time (original name, mime type, byte size, pixel dimensions). Null on rows written before this was recorded.

statusenumrequired

Delivery state, which drives the tick indicator in the apps.

sendingsentdeliveredreadfailed
read_atstring, nullablerequired

When the recipient read the message, if they have.

delivered_atstring, nullablerequired

When the message reached the recipient's device, if it has.

broadcast_idstring, nullablerequired

Set when this message is one recipient copy of a merchant broadcast.

created_atstringrequired

When the message was sent.

updated_atstringrequired

When the row last changed.

edited_atstring, nullablerequired

When the message was last edited. Null if never edited.

deleted_atstring, nullablerequired

When the message was deleted. Deleted messages are not returned in reads.

client_message_idstring, nullablerequired

The sender's client-generated id, the idempotency key AND the client's stable bubble identity. Reconcile on this, not on `id`.

curl -X PUT "https://www.membber.com/api/v1/messaging/messages" \
  -H "Authorization: Bearer $MEMBBER_TOKEN" \
  -H "Idempotency-Key: 1f0e2d3c-4b5a-4678-9abc-def012345678" \
  -H "Content-Type: application/json" \
  -d '{
    "store_id": "6659c139-0000-4000-8000-d0c500000066",
    "message_id": "9b39a053-0000-4000-8000-d0c50000009b",
    "body": "<body>"
  }'
Response, 200
{
  "message": {
    "id": "00000d1b-0000-4000-8000-d0c500000000",
    "conversation_id": "e701a257-0000-4000-8000-d0c5000000e7",
    "sender_type": "customer",
    "sender_id": "01eb2f65-0000-4000-8000-d0c500000001",
    "content_type": "text",
    "body": "<body>",
    "media_url": "https://example.com/image.jpg",
    "media_thumbnail_url": "https://example.com/image.jpg",
    "media_metadata": {},
    "status": "sending",
    "read_at": "<read_at>",
    "delivered_at": "<delivered_at>",
    "broadcast_id": "0eae4559-0000-4000-8000-d0c50000000e",
    "created_at": "<created_at>",
    "updated_at": "<updated_at>",
    "edited_at": "<edited_at>",
    "deleted_at": "<deleted_at>",
    "client_message_id": "279d4547-0000-4000-8000-d0c500000027"
  }
}

Read the edit trail for a message.

Every revision made to a message, oldest first, so a reader can see what a message used to say. Read-only. Scoped to the signed-in customer's own conversation with the given store, a message in anybody else's thread reads as not found.

auth customer:readop getMessagingMessageEditHistoryrate limitederrors

Parameters

store_idstring · uuidqueryrequired

Store whose conversation this refers to.

message_idstring · uuidqueryrequired

The message whose edit history to read.

Response, 200

editsarray of objectrequired

Every edit made to the message, oldest first. Empty if it has never been edited.

8 child fields
idstringrequired

Edit record id.

message_idstringrequired

Message that was edited.

previous_bodystringrequired

The text before this edit.

new_bodystringrequired

The text after this edit.

edited_by_idstringrequired

Id of whoever made the edit.

edited_by_typeenumrequired

Whether the customer or the store edited it.

customerstore
edit_numbernumberrequired

1 for the first edit, 2 for the second, and so on.

created_atstringrequired

When this edit was made.

curl -G "https://www.membber.com/api/v1/messaging/messages/edit-history" \
  -H "Authorization: Bearer $MEMBBER_TOKEN" \
  --data-urlencode "store_id=6659c139-0000-4000-8000-d0c500000066" \
  --data-urlencode "message_id=9b39a053-0000-4000-8000-d0c50000009b"
Response, 200
{
  "edits": [
    {
      "id": "00000d1b-0000-4000-8000-d0c500000000",
      "message_id": "9b39a053-0000-4000-8000-d0c50000009b",
      "previous_body": "<previous_body>",
      "new_body": "<new_body>",
      "edited_by_id": "e10d726d-0000-4000-8000-d0c5000000e1",
      "edited_by_type": "customer",
      "edit_number": 1,
      "created_at": "<created_at>"
    }
  ]
}

Update the customer's contact details so they can message stores.

Sets the signed-in customer's name, email, phone and/or date of birth, and returns the resulting profile. A customer must have both a name and an email before they can send any message, so this is where a client sends someone whose `profile.can_message` is false. DETAILS CAN BE REPLACED BUT NOT REMOVED. Once a real email, a phone number, or a name the customer typed themselves is on file, clearing it is rejected, send a different value instead. An Apple private-relay email does not count as a real address and may be replaced freely. Only the signed-in customer's own profile can be changed.

Request body

namestringoptional

Display name shown to the merchant. Cannot be set to an empty string.

emailstringoptional

Contact email. Must be a valid address.

phonestringoptional

Contact phone. A UK mobile (07xxxxxxxxx) or an international number in +447700900000 form.

date_of_birthstringoptional

Date of birth as YYYY-MM-DD.

Response, 200

profileobjectrequired

The messaging profile gate. A customer may always READ a conversation, but may only SEND once they have supplied a name and an email, update them with `updateMessagingProfile`.

5 child fields
can_messagebooleanrequired

Whether the customer may send messages. False until both a name and an email are on file.

has_namebooleanrequired

Whether the customer has a name on file.

has_emailbooleanrequired

Whether the customer has an email on file.

namestring, nullablerequired

The customer's name, if set.

emailstring, nullablerequired

The customer's email, if set.

curl -X POST "https://www.membber.com/api/v1/messaging/profile" \
  -H "Authorization: Bearer $MEMBBER_TOKEN" \
  -H "Idempotency-Key: 1f0e2d3c-4b5a-4678-9abc-def012345678" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Example name",
    "email": "alex@example.com",
    "phone": "+44 7700 900123",
    "date_of_birth": "<date_of_birth>"
  }'
Response, 200
{
  "profile": {
    "can_message": true,
    "has_name": true,
    "has_email": true,
    "name": "Example name",
    "email": "alex@example.com"
  }
}

Mark the conversation as read by this customer.

Marks every message the store has sent in this conversation as read and clears the customer's unread count. Call it when the customer actually has the chat on screen. Idempotent: re-entering an already-read conversation changes nothing and notifies nobody.

Request body

store_idstring · uuidrequired

Store whose conversation this refers to.

Response, 200

acknowledgedbooleanrequired

Always true when the call succeeds.

curl -X POST "https://www.membber.com/api/v1/messaging/read" \
  -H "Authorization: Bearer $MEMBBER_TOKEN" \
  -H "Idempotency-Key: 1f0e2d3c-4b5a-4678-9abc-def012345678" \
  -H "Content-Type: application/json" \
  -d '{
    "store_id": "6659c139-0000-4000-8000-d0c500000066"
  }'
Response, 200
{
  "acknowledged": true
}

Report a message or a conversation for objectionable content.

Files a moderation report against a single message, or against the whole conversation when no message is named. The report is queued for human review. This endpoint exists to satisfy the App Store requirement that any app carrying user-generated content gives the receiving user a way to report abuse (App Review Guideline 1.2). It is a first-class part of the messaging surface, not an optional extra: any client that renders merchant-authored messages must expose a report action. Filing the same report twice is safe, a second report against the same target while the first is still pending returns the existing report id rather than creating a duplicate. Reporting requires an existing conversation with the store.

Request body

store_idstring · uuidrequired

Store whose conversation this refers to.

message_idstring · uuidoptional

The specific message being reported. Omit to report the whole conversation.

reasonenumrequired

Why it is being reported. 'spam' unwanted or repetitive selling; 'harassment' abuse aimed at the customer; 'inappropriate' sexual, violent or otherwise objectionable content; 'other' anything else, best paired with `details`.

spamharassmentinappropriateother
detailsstringoptional

The reporter's own description of the problem, shown to the moderator.

Response, 200

report_idstringrequired

Id of the report, for referencing it later.

conversation_idstringrequired

Conversation the report was filed against.

curl -X POST "https://www.membber.com/api/v1/messaging/reports" \
  -H "Authorization: Bearer $MEMBBER_TOKEN" \
  -H "Idempotency-Key: 1f0e2d3c-4b5a-4678-9abc-def012345678" \
  -H "Content-Type: application/json" \
  -d '{
    "store_id": "6659c139-0000-4000-8000-d0c500000066",
    "reason": "spam"
  }'
Response, 200
{
  "report_id": "eaf0a006-0000-4000-8000-d0c5000000ea",
  "conversation_id": "e701a257-0000-4000-8000-d0c5000000e7"
}

Signal that the customer is typing.

Records a typing heartbeat so the merchant sees the typing indicator. The signal expires five seconds after the last call, so send one every few seconds while the customer is actually typing and simply stop when they do, there is nothing to clear. Best-effort by design: this is a cosmetic signal and never blocks or fails a send.

Request body

store_idstring · uuidrequired

Store whose conversation this refers to.

Response, 200

acknowledgedbooleanrequired

Always true when the call succeeds.

curl -X POST "https://www.membber.com/api/v1/messaging/typing" \
  -H "Authorization: Bearer $MEMBBER_TOKEN" \
  -H "Idempotency-Key: 1f0e2d3c-4b5a-4678-9abc-def012345678" \
  -H "Content-Type: application/json" \
  -d '{
    "store_id": "6659c139-0000-4000-8000-d0c500000066"
  }'
Response, 200
{
  "acknowledged": true
}
WhatsApp
Book a Call
Start Free