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