# Step 5: Respond to user operations

After the user performs an operation on the message card, Feishu will push the record of the user's operation to the message card request URL. You can parse the user behavior and then update the message card in response to the user's operation. This article uses the Java SDK as an example to introduce how to handle card callback events on the server side.

## Procedure

1. Receive user operation requests.

When the user clicks on the card, Feishu will send an HTTP POST request to the message card callback address you configured. The request body is in JSON format. For parameter details, see [Message card callback interaction (old)](https://open.feishu.cn/document/ukTMukTMukTM/uYzM3QjL2MzN04iNzcDN/configuring-card-callbacks/card-callback-structure).

Request structure example:

```json
     {
       "open_id": "ou_sdfimx9948345", // The open_id of the card operation user
       "user_id": "eu_sd923r0sdf5", // user_id of the card operation user
       "open_message_id": "om_abcdefg1234567890", // The unique id of the card message
       "tenant_key": "d32004232", // The tenant id to which the card message belongs
       "token": "c-xxxxx", // Token (voucher) for updating the card
       "action": {
         "value": { // Return parameter value
           "key": "value"
         },
         "tag": "button" //Interactive component identifier
       }
     }
	```

2. Parse user operations in code and respond to updated card content.
    * **Real-time update**: If you need to directly feedback user operations, you can directly return new card content after receiving the request. For the response callback structure and SDK calling method, see [Message card callback interaction (old)](https://open.feishu.cn/document/ukTMukTMukTM/uYzM3QjL2MzN04iNzcDN/configuring-card-callbacks/card-callback-structure).

* **Delayed update**: If you do not need to update the card content in real time or it takes a long time to process user operations, then you can return the `"{}"` string first, and then call [Delayed update at the appropriate time Message card](https://open.feishu.cn/document/ukTMukTMukTM/uMDO1YjLzgTN24yM4UjN) or [Update message card sent by the application](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/im-v1/message/patch) interface to update the card.

* When using delayed update, you need to respond to the request with `HTTP 200` status code within 3 seconds, and set the HTTP Body to the string `"{}"`.

* If the card  update timing is not triggered by the interactive component of the message card, for example, the user completes the approval operation in the company's self-built approval system instead of the message card, you can call [Update message sent by application](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/im-v1/message/patch) API to update the card.