Notification des vendeurs Binance P2P concernant les transferts de paiement utilisant l'automatisation WebSocket Python

Dans le domaine de l'automatisation du trading crypto, une communication fluide avec votre contrepartie est toujours essentielle. Sur Binance P2P, une tâche courante consiste à informer le vendeur que le paiement a été envoyé. Cela peut être géré automatiquement en utilisant WebSocket et Python — aucune action manuelle requise.

Ci-dessous, nous allons explorer comment récupérer les identifiants de chat, se connecter au service WebSocket de Binance et envoyer programmatique un message au chat P2P pour notifier le vendeur d'un paiement. Cette approche est particulièrement pertinente pour ceux qui développent des bots P2P ou rationalisent les flux de traitement des transactions.


✍️ Cette approche est basée sur des exemples pratiques et des méthodologies circulant parmi les développeurs actifs dans le domaine de l'automatisation crypto.


🔐 Obtention des identifiants de chat pour WebSocket

Pour commencer, vous devrez récupérer le chatWssUrl, listenKey, et listenToken, qui sont nécessaires pour se connecter au chat WebSocket de Binance.

⚠️ Le code peut sembler non formaté — l'éditeur Binance ne prend pas en charge les blocs de code.

📦 La fonction retrieveChatCredential

def retrieveChatCredential():

# Votre clé API sur Binance

clé_api = "11111"

# Votre clé secrète sur Binance

clé_secrète = "11111"

base_url = "https://api.generallink.top"

endpoint = "/sapi/v1/c2c/chat/retrieveChatCredential"

timestamp = int(time.time() * 1000)

query_string = f"timestamp={timestamp}"

signature = hmac.new(

clé_secrète.encode('utf-8'),

query_string.encode('utf-8'),

hashlib.sha256

).hexdigest()

headers = {

"clientType": "web",

"X-MBX-APIKEY": clé_api

}

url = f"{base_url}{endpoint}?{query_string}&signature={signature}"

response = requests.get(url, headers=headers)

if response.status_code == 200:

return response.json()

else:

print("Erreur:", response.status_code, response.text)

return None

Une fois les identifiants obtenus:


chatWssUrl = res_detail['data']['chatWssUrl']
listenKey = res_detail['data']['listenKey']
listenToken = res_detail['data']['listenToken']
chat_wss_url = f"{chatWssUrl}/{listenKey}?token={listenToken}&clientType=web"

🔌 Établissement de la connexion WebSocket


def connect_to_websocket():
global reconnect_attempts, ws
reconnect_attempts = 0
ws = websocket.WebSocketApp(
chat_wss_url,
on_open=on_open,
on_message=on_message,
on_error=on_error,
on_close=on_close
)
ws.run_forever()

📡 Gestionnaires d'événements WebSocket

on_open – déclenché lorsque la connexion est établie

on_message – déclenché à la réception d'un message

on_error – gère les erreurs pendant la connexion

on_close – se reconnecte lors de la déconnexion

✉️ Envoi d'un message de chat

Lorsque vous êtes prêt à notifier le vendeur après avoir envoyé des fonds :


send_message(contenu, numéro_de_commande):
if ws_connection:
timestamp = int(time.time() * 1000)
message_uuid = generate_uuid()

response_message = {
"type": "texte",
"uuid": message_uuid,
"orderNo": numéro_de_commande,
"content": contenu,
"self": True,
"clientType": "web",
"createTime": timestamp,
"sendStatus": 0
}

try:
ws_connection.send(json.dumps(response_message))
print(f"Message envoyé au chat: {contenu}")
except Exception as e:
print(f"Erreur d'envoi du message: {str(e)}")

Exemple d'utilisation :


send_message("Bonjour, le paiement a été effectué. Veuillez libérer la crypto.", "789456123ABCDEF")


🧩 Exemple complet fonctionnel

LirePlus: https://py-dev.top/blog/crypto-exchange-development/automatic-message-sending-to-binance-p2p-chat-via-websocket-using-python

#BinanceChat #websocket