Points de terminaison

Aperçu des points de terminaison

L'API One Ticket propose quatre points de terminaison différents, comme suit :

  1. Générer un ticket : Utilisé pour créer un nouveau ticket pour un utilisateur.
  2. Obtenir un ticket : Utilisé pour récupérer les informations d'un ticket.
  3. Scanner un ticket : Utilisé pour scanner/valider un ticket.
  4. Transférer un ticket : Utilisé pour transférer un ticket à un nouveau propriétaire.

Point de terminaison 1 : Générer un ticket

  1. Ce point de terminaison valide strictement les données entrantes. Assurez-vous que votre requête correspond au schéma spécifié et ne contient aucun champ supplémentaire.
  2. Si l'utilisateur n'existe pas, ce point de terminaison créera automatiquement l'utilisateur. Aucun traitement supplémentaire n'est requis de votre part.
  3. Si l'événement n'existe pas, ce point de terminaison le créera automatiquement. Aucun traitement supplémentaire n'est requis de votre part.
Requête : POST | https://sandbox.one-ticket.fr/api/generate_ticket
{
    client_id: "user1",
    client_firstname: "test",
    client_lastname: "test",
    event_id: "event1",
    event_name: "test"
}

Vous devez appliquer le Protocole de sécurité pour générer une signature valide en utilisant votre clé de signature.

{
    client_id: "user1",
    client_firstname: "test",
    client_lastname: "test",
    event_id: "event1",
    event_name: "test",
    signature: "833f8783b3cc.........."
}

Les données de la requête doivent être chiffrées en utilisant la clé de chiffrement avant d'être envoyées au point de terminaison. Reportez-vous au Protocole de sécurité pour plus d'informations.

{
    data: "encryptedData",
    token: "token"
}
Réponse

Notre serveur répond toujours avec des données chiffrées en utilisant le même Protocole de sécurité.

{
    data: "U2FsdGVkX18Rip6kq9GtW74FbBGuXX8oeNz4MVxKlpY1qYe2qaqk/RyrKCzcYQVl1PORYHCuxyTGy0f4+n1WsANvCBDJwt+eDcaw8Ripl74n1z7hbGxUb8dT1hRX3twiiWCHqtPeTSvGEHSVvN9vgFVB3tm5ANU8VBWLu29ycuIPa1Yp+1sN7pWowUdBD9ZLPRWXm3+1NDWwXso7pbnKqmtM5gZvkYx2kv5I6dcpvgVTg3pSihbrHSCr+lj6dxmg5OcPZ0hwLlGg3TouNVT6A3XQGc02MmNBJu/Y/2v1+Hs2tte/pJg0cNV/YwsTeGW6jy2nOnGhLzpLIEOv6N0981HiFXz01jDXXWcHDq87TVmcQ7f9FA8Xs4edlh7T89mR6j5fFwWKKIcw9R8nsenCe+MNV99hgdBH5lne62RaaZgVSELK+lDes9kIGdAFCOyhOCbZr0Wm2V76mwRlEmxfLE8YSHi1T3KXyVf3KuycuzZWTUejWYDsp8giXGQN5CMo32+B2F32zXwZWDvix8gYXA==",
}
  1. Déchiffrez la réponse en utilisant votre clé de chiffrement.
  2. La clé privée de l'utilisateur et les détails de récupération ne sont communiqués qu'une seule fois lors de la création d'un nouvel utilisateur. Stockez-les en toute sécurité. Si l'utilisateur existe déjà, seule l'information du portefeuille sera incluse dans la réponse.
  3. L'objet ticket inclut toujours l'adresse du contrat. Le ticket_id représente l'ID NFT sur le contrat, tandis que le one_ticket_id représente l'ID du ticket dans notre système. Conservez-le pour les requêtes futures (obtenir, scanner, transférer).
  4. Pour une sécurité maximale, nous recommandons fortement de vérifier la signature en utilisant le même Protocole de sécurité pour vous assurer que la réponse provient de nos serveurs.
{
    user: {
        wallet: '0x77F971D3DB26........',
        private_key: '0x9c94d03a86f8fa613e2e4b9df5b8...........',
        recovery: 'reunion promote almost derive .........'
    },
    ticket: {
        contrat_address: '0xa32AB63b41723E6.......',
        ticket_id: '1',
        one_ticket_id: '678d34fecd......'
    },
    signature: "833f83b783cc.........."
}

Pour vérifier la signature dans ce scénario, votre chaîne de base ordonnée doit ressembler à ceci :

tiketcontrat_address0xa32AB63b41723E6.......one_ticket_id678d34fecd......ticket_id1userprivate_key0x9c94d03a86f8fa613e2e4b9df5b8...........recoveryreunionpromotealmostderive.........wallet0x77F971D3DB26........keysignature_key

Point de terminaison 2 : Obtenir un ticket

  1. Ce point de terminaison valide strictement les données entrantes. Assurez-vous que votre requête correspond au schéma spécifié et ne contient aucun champ supplémentaire.
  2. Utilisez le champ one_ticket_id fourni lors du processus de génération comme ticket_id.
Requête : POST | https://sandbox.one-ticket.fr/api/get_ticket
{
    ticket_id: "678d34fecd......",
}

Vous devez appliquer le Protocole de sécurité pour générer une signature valide en utilisant votre clé de signature.

{
    ticket_id: "678d34fecd......",
    signature: "8a061333cb92.........."
}

Les données de la requête doivent être chiffrées en utilisant la clé de chiffrement avant d'être envoyées au point de terminaison. Reportez-vous au Protocole de sécurité pour plus d'informations.

{
    data: "encryptedData",
    token: "token"
}
Réponse

Notre serveur répond toujours avec des données chiffrées en utilisant le même Protocole de sécurité.

{
    data: "U2FsdGVkX1+8YktteAcjyGNljrdFmwR+raGDWu6Mzlk91v60kM3uFIrxPr4nKK2pdKdnco+fhLGJYOWTU+57/w7G/UwDl/WAbyy7ulExkG+tSJ077HswPU83/oDQZMQItrRrG44V4okxPwbyX4uxeLwslV6dsGYj9rKCN83/AsLxChgUHP3aN2GPdiuozxWrL0Ji/APHumXmSVGWaEhU7E0v4SWIbqv5wqCRqSbmMl/NX0X6CSKDbdd0Jm5n/L/NGmcjX7uqO6Nh47ibYqXz1ii2e+Y7sQREvFLO3g4i+4p2IugeWyPT3x2sLXgjOpwrDdzGjf9Cd7BTIn3foK5UAmz74AEAZ3UU3mWPZZgPeXyqO1SLg6kOdBZbt6+n7rjwKv9zaHTSBkyGLFra/mzSoPxH9kgBjkv9YB04Lri3gflERKLpdxMTaej3yB5a7DLmqgzkIPT6gWOfcPV6wg+R4w==",
}
  1. Déchiffrez la réponse en utilisant votre clé de chiffrement.
  2. Pour une sécurité maximale, nous recommandons fortement de vérifier la signature en utilisant le même Protocole de sécurité pour vous assurer que la réponse provient de nos serveurs.
{
    one_ticket_id: '678d34fecd......',
    eventID: '1',
    eventName: 'test',
    owner: '0x77F971D3DB2639a2......',
    nft_url: 'https://scarlet-decent-bison-643.mypinata.cloud/ipfs/bafkreiaaf2kqfnajqk........',
    isTicketScanned: false,
    signature: '012701644dcfcf3393a83bc83a4df2d7'
}

Pour vérifier la signature dans ce scénario, votre chaîne de base ordonnée doit ressembler à ceci :

eventid1eventnametestisticketscannedfalsenft_urlhttps://scarlet-decent-bison-643.mypinata.cloud/ipfs/bafkreiaaf2kqfnajqk........one_ticket_id678d34fecd......owner0x77f971d3db2639a2......keysignature_key

Point de terminaison 3 : Scanner un ticket

  1. Ce point de terminaison valide strictement les données entrantes. Assurez-vous que votre requête correspond au schéma spécifié et ne contient aucun champ supplémentaire.
  2. Utilisez le champ one_ticket_id fourni lors du processus de génération comme ticket_id.
Requête : POST | https://sandbox.one-ticket.fr/api/scan_ticket
{
    ticket_id: "678d34fecd......",
}

Vous devez appliquer le Protocole de sécurité pour générer une signature valide en utilisant votre clé de signature.

{
    ticket_id: "678d34fecd......",
    signature: "8a061333cb92.........."
}

Les données de la requête doivent être chiffrées en utilisant la clé de chiffrement avant d'être envoyées au point de terminaison. Reportez-vous au Protocole de sécurité pour plus d'informations.

{
    data: "encryptedData",
    token: "token"
}
Réponse

Notre serveur répond toujours avec des données chiffrées en utilisant le même Protocole de sécurité.

{
    data: "U2FsdGVkX19sfk7pwxKxg7o69ryadttAgimmhIrnTOYMp+mtM1oaT6IODYemRLSpjA7ilQrkI9+gPZailfxMU05ODgD0GTmpthi+Wyn5Eft0RnzribSSbWLpHHh/pDabBgQkuj2LT6P1vtn+tizTcTRs6pTy8m2YyUN58pDleDV35JUFNCIPNXnIhW4pYEfDuW7K7cNNmFPAl9mPPvT5NtEJprkJKGbziONhFO9hL8JzttavngER3Ixlu14EWMrw2H2rkwgY1g8C5eMUp3uZ7kYiW5QwVpvHWPVqxg4nhVqxlNKDL7IaR/vobTB77H71ZCcfB8VIE3ewE/DAxyIt1lm+7g7U3695rP/+L2tIlFqW01ZcCF1ZjLctNvb42AxUAlpdJSspqRfsW5eaJYB2uLAafdqcbK/j5SKIUss/EYlaKE2eHRoIxYU1uv/HHdPZDP3sdy6VIXNGHMsHskgSGKELPObkC7Xr6GauMEsjlyGm7VHTECdhr7Xl7OJAD8ZjY0+vm685u/nQhgFm0o9xw4l52MK0wLKjk1Szyu2n3Sf6nqC6CEmfgV2akG+eDmDX",
}
  1. Déchiffrez la réponse en utilisant votre clé de chiffrement.
  2. Pour une sécurité maximale, nous recommandons fortement de vérifier la signature en utilisant le même Protocole de sécurité pour vous assurer que la réponse provient de nos serveurs.
{
    ticket: {
      one_ticket_id: '678d34fecd......',
      eventID: '1',
      eventName: 'test',
      owner: '0x77F971D3DB2639a2......',
      nft_url: 'https://scarlet-decent-bison-643.mypinata.cloud/ipfs/bafkreiaaf2kqfnajqk........',
      isTicketScanned: true
    },
    memory_ticket: {
      contrat_address: '0x2d658d532C9c87......',
      ticket_id: '2'
    },
    signature: '22ffb86d55d27b57df63ed400136b3e8'
  }

Pour vérifier la signature dans ce scénario, votre chaîne de base ordonnée doit ressembler à ceci :

memory_ticketcontrat_address0x2d658d532C9c87......ticket_id2tiketeventid1eventnamee1isticketscannedtruenft_urlhttps://scarlet-decent-bison-643.mypinata.cloud/ipfs/bafkreiaaf2kqfnajqk........one_ticket_id678d34fecd......owner0x77F971D3DB2639a2......keysignature_key

Point de terminaison 4 : Transférer un ticket

  1. Ce point de terminaison valide strictement les données entrantes. Assurez-vous que votre requête correspond au schéma spécifié et ne contient aucun champ supplémentaire.
  2. Si l'utilisateur destinataire n'existe pas, ce point de terminaison créera automatiquement l'utilisateur. Aucun traitement supplémentaire n'est requis de votre part.
  3. Utilisez le champ one_ticket_id fourni lors du processus de génération comme ticket_id.
Requête : POST | https://sandbox.one-ticket.fr/api/transfer_ticket
{
    ticket_id: "678d34fecd......",
    sender_id: "user1",,
    reciver_id: "user2",
    reciver_firstname: "test",
    reciver_lastname: "test",
}

Vous devez appliquer le Protocole de sécurité pour générer une signature valide en utilisant votre clé de signature.

{
    ticket_id: "678d34fecd......",
    sender_id: "user1",,
    reciver_id: "user2",
    reciver_firstname: "test",
    reciver_lastname: "test",
    signature: "8a06b91333c2.........."
}

Les données de la requête doivent être chiffrées en utilisant la clé de chiffrement avant d'être envoyées au point de terminaison. Reportez-vous au Protocole de sécurité pour plus d'informations.

{
    data: "encryptedData",
    token: "token"
}
Réponse

Notre serveur répond toujours avec des données chiffrées en utilisant le même Protocole de sécurité.

{
    data: "U2FsdGVkX19sfk7pwxKxg7o69ryadttAgimmhIrnTOYMp+mtM1oaT6IODYemRLSpjA7ilQrkI9+gPZailfxMU05ODgD0GTmpthi+Wyn5Eft0RnzribSSbWLpHHh/pDabBgQkuj2LT6P1vtn+tizTcTRs6pTy8m2YyUN58pDleDV35JUFNCIPNXnIhW4pYEfDuW7K7cNNmFPAl9mPPvT5NtEJprkJKGbziONhFO9hL8JzttavngER3Ixlu14EWMrw2H2rkwgY1g8C5eMUp3uZ7kYiW5QwVpvHWPVqxg4nhVqxlNKDL7IaR/vobTB77H71ZCcfB8VIE3ewE/DAxyIt1lm+7g7U3695rP/+L2tIlFqW01ZcCF1ZjLctNvb42AxUAlpdJSspqRfsW5eaJYB2uLAafdqcbK/j5SKIUss/EYlaKE2eHRoIxYU1uv/HHdPZDP3sdy6VIXNGHMsHskgSGKELPObkC7Xr6GauMEsjlyGm7VHTECdhr7Xl7OJAD8ZjY0+vm685u/nQhgFm0o9xw4l52MK0wLKjk1Szyu2n3Sf6nqC6CEmfgV2akG+eDmDX",
}
  1. Déchiffrez la réponse en utilisant votre clé de chiffrement.
  2. La clé privée de l'utilisateur destinataire et les détails de récupération ne sont communiqués qu'une seule fois lors de la création d'un nouvel utilisateur. Stockez-les en toute sécurité. Si l'utilisateur existe déjà, seule l'information du portefeuille sera incluse dans la réponse.
  3. Pour une sécurité maximale, nous recommandons fortement de vérifier la signature en utilisant le même Protocole de sécurité pour vous assurer que la réponse provient de nos serveurs.
{
    msg: 'Ticket 678d34fecd...... successfully gifted to 0x1D8db58DeBe105......',
    sender: {
        wallet: '0x77F971D3DB2639a2......' 
    },
    reciver: {
        wallet: '0x1D8db58DeBe105......',
        private_key: '0x5b114bd6b895091da2c057......',
        recovery: 'inch there elevator........'
    },
    ticket: {
        one_ticket_id: '678d34fecd......',
        eventID: '1',
        eventName: 'test',
        owner: '0x1D8db58DeBe105......',
        nft_url: 'https://scarlet-decent-bison-643.mypinata.cloud/ipfs/bafkreiaaf2kqfnajqk........',
        isTicketScanned: false
    },
    signature: '2500548844a6b7d59b73675bcd3146c4'
}

Pour vérifier la signature dans ce scénario, votre chaîne de base ordonnée doit ressembler à ceci :

msgticket678d34fecd......successfullygiftedto0x1D8db58DeBe105......reciverprivate_key0x5b114bd6b895091da2c057......recoveryinchthereelevator........wallet0x1D8db58DeBe105......senderwallet0x77F971D3DB2639a2......ticketeventid1eventnametestisticketscannedfalsenft_urlhttps://scarlet-decent-bison-643.mypinata.cloud/ipfs/bafkreiaaf2kqfnajqk........one_ticket_id678d34fecd......owner0x1D8db58DeBe105......keysignature_key

Notes

  1. Assurez-vous que toutes les mesures de sécurité nécessaires sont suivies lors de la gestion des requêtes et des réponses.
  2. Stockez les informations sensibles en toute sécurité et évitez de les partager publiquement.
  3. Suivez les meilleures pratiques pour maintenir votre intégration sécurisée et efficace.