Aller au contenu principal

connect

Cette méthode crée et renvoie une instance d'un objet Socket.io avec une connexion. Cette méthode nécessite une autorisation utilisateur.

Description

Lorsque les attributs changent (si l'utilisateur est abonné à l'événement correspondant et que l'option Websocket est active dans l'événement) Le champ "attributes" contient toujours les attributs de l'événement (le champ "events"), et selon le type d'événement sélectionné pour le catalogue ou le formulaire, les champs avec les attributs "product" contiennent les attributs du produit, et "user" contient les champs du formulaire utilisateur, respectivement. Pour un produit, il y a un champ supplémentaire "title" (nom du produit sous forme de chaîne), et pour les formulaires d'inscription et de soumission de code, il y a des champs supplémentaires "code" et "email."

La valeur de l'attribut est stockée au format *key - marker*, *value - {type, identifier, value}*.

Exemples

Exemple minimal

// connect() is synchronous — do not await it.
const socket = WS.connect();

socket.on('my_event', callback);

ℹ️ socket.io-client est importé la première fois que connect() est appelé, donc il reste en dehors des bundles qui n'ouvrent jamais de socket. Les gestionnaires enregistrés sur le socket retourné sont mis en file d'attente et rejoués avant que la connexion puisse livrer quoi que ce soit, donc rien n'est perdu — voir Taille du bundle & Formats de module.

Exemple de produit :

{
"product": {
"id": 10,
"info": {
"title": "Pink Planet",
},
"status": {
"identifier": "available",
"info": {
"title": "ADD TO CART"
}
},
"attributes": {
"currency": {
"identifier": "currency",
"type": "string",
"value": "USD"
}
}
}
}

Exemple d'utilisateur :

{
"user": {
"notificationData": {},
"attributes": {}
},
"order": {
"id": 1,
"attributes": {}
}
}

Exemple de commande :

{
"user": {
"notificationData": {},
"attributes": {}
},
"order": {
"id": 1,
"attributes": {}
}
}

Exemple de formulaire :

{
"email": "string",
"formData": {}
}

Exemple de réponse

{
"message": "Message",
"attributes": {
"company": {
"identifier": "company",
"type": "string",
"value": "OneEntry"
}
}
}

Schéma de réponse

Schéma : Socket

message string
Message texte
exemple : Message

attributes: Record<string, any>
Contient les attributs de l'événement
exemple :

{
"company": {
"identifier": "company",
"type": "string",
"value": "OneEntry"
}
}