This section covers everything you will require from Push SDK to create any functionality or features related to Push Chat.
Push Chat enables web3 native messaging between wallets, groups, NFTs or even conditional (gated) groups. To do so, you will be using Push SDK API that will abstract away the complexity of authentication, encryption, signing, sending and receiving of messages.
Before you can start sending messages, or create conditional access group for your community, or send those chat requests to Vitalik.eth. you will need to initialize a user or re-authenticate the user. To do so you will use PushAPI.initialize call from @pushprotocol/restapi package.
These APIs are useful for fetching list of all chats (or chat requests) that a user might have, along with providing calls to get latest message or historical messages between two users (or from a group).
You can send a message using chat.send API to either an existing chat connection or to initiate a new chat to a wallet you haven't chatted with before (which is called sending a chat request).
Push Chat doesn't require a user to be on the network for you to send message 😀. Instead, it gives you the freedom to send a nudge to an account or a message (or a meme).
Types of Recipient
Push Chat is chain agnostic and even supports messaging wallet addresses, NFT addresses, all evms (and even non-EVM in the future). Below is the list of evergrowing standards that Push Chat is compatible with, either of which you can use as per your requirements —
Group chat is the latest exciting addition to Push Chat, for the first time ever, web3 users are finally able to talk to each other in web3 native groups and have fine-grained controls over them allowing new ways by which community can be engaged besides adding new utilities to your token. Group chat enables protocols or web3 projects to create —
This section deals with API calls related to joining or leaving a group.
These APIs help in validating if you have permissions for a gated group.
Conditional Rules for Group
Conditional gating allows you to define rules for the members of the group for different privileges / permissions such as entry or chat. It is driven by Push Chat rules engine which is inspired by json rules engine and allows you to create powerful dynamics guiding communication for your community. Some examples of what you can achieve with it —
This section covers all APIs related to managing groups including adding / removing members or admins, updating group info or fetching group info.
These APIs enable you to receive chat payloads or chat request / group invites in real time without polling the API. Push Chat achieves this by the use of sockets.
All API Calls
This tutorial is designed to get you up and going by providing a step wise guide to use and explore the Push SDK.