{"_id":"@ayiid/sdk","name":"@ayiid/sdk","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@ayiid/sdk","version":"0.1.0","description":"SDK integrateur AyiID : Verifier avec AyiID (demandes de verification, attestations, verification de webhooks)","license":"MIT","author":{"name":"AYITech","url":"https://ayitech.io"},"homepage":"https://ayitech.io","repository":{"type":"git","url":"git+https://github.com/AYILand/AYIID.git","directory":"packages/sdk"},"keywords":["ayiid","identity","kyc","verification","webhook","afrique"],"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18"},"publishConfig":{"access":"public"},"scripts":{"build":"tsc -p tsconfig.build.json","typecheck":"tsc -p tsconfig.json --noEmit","test":"jest --passWithNoTests","lint":"prettier --check \"src/**/*.ts\"","prepublishOnly":"npm run build && npm test"},"devDependencies":{"@types/jest":"29.5.12","@types/node":"20.11.30","jest":"29.7.0","ts-jest":"29.1.2","typescript":"5.9.2"},"gitHead":"af8356f32795c17d0e70e267ba94b55a602fa650","_id":"@ayiid/sdk@0.1.0","bugs":{"url":"https://github.com/AYILand/AYIID/issues"},"_nodeVersion":"25.8.2","_npmVersion":"11.11.1","dist":{"integrity":"sha512-jdbeZAG+4Yxf53rg7YL5lPggQnGztQcgAMl3WjAuZjGFlzd+d1WeNIlpPtCLHEBUbS2D9zr4C+yOW1dz2cbNVA==","shasum":"48312a9ca212048fbc18ac4ad439e934c87c6ce0","tarball":"https://registry.npmjs.org/@ayiid/sdk/-/sdk-0.1.0.tgz","fileCount":18,"unpackedSize":22265,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCsNB6Rh7hS/313METyZaEZL9V/2IXg6TXIip9KMtnRsgIhAJoXckot0b3tAXP66W0ZkoYZUcc7rg2VZqBbnQiKVz9k"}]},"_npmUser":{"name":"dmtlhrx","email":"dimitridossa40@gmail.com"},"directories":{},"maintainers":[{"name":"dmtlhrx","email":"dimitridossa40@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sdk_0.1.0_1785947504815_0.6863346116753672"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-05T16:31:44.624Z","0.1.0":"2026-08-05T16:31:45.014Z","modified":"2026-08-05T16:31:45.301Z"},"maintainers":[{"name":"dmtlhrx","email":"dimitridossa40@gmail.com"}],"description":"SDK integrateur AyiID : Verifier avec AyiID (demandes de verification, attestations, verification de webhooks)","homepage":"https://ayitech.io","keywords":["ayiid","identity","kyc","verification","webhook","afrique"],"repository":{"type":"git","url":"git+https://github.com/AYILand/AYIID.git","directory":"packages/sdk"},"author":{"name":"AYITech","url":"https://ayitech.io"},"bugs":{"url":"https://github.com/AYILand/AYIID/issues"},"license":"MIT","readme":"# @ayiid/sdk\n\nSDK serveur officiel **AyiID** — « Vérifier avec AyiID » en quelques lignes.\n\nAyiID est un réseau d'identité réutilisable à consentement : votre client se\nvérifie une fois, puis prouve son identité chez vous **sans jamais vous\ntransmettre ses données** — vous recevez une preuve signée, pas des documents.\n\n## Installation\n\n```bash\nnpm install @ayiid/sdk\n```\n\n## Démarrage rapide\n\n```ts\nimport { AyiidClient } from '@ayiid/sdk';\n\nconst ayiid = new AyiidClient({\n  apiKey: process.env.AYIID_API_KEY!,     // cle secrete du verificateur (cote serveur uniquement)\n  baseUrl: 'https://api.pre-ayiid.ayitech.io',\n});\n\n// 1. Creer une demande de verification (preuve seule, aucune donnee divulguee)\nconst req = await ayiid.createVerification({\n  subjectRef: 'did:ayi:…',                // DID du client, ou reference convenue\n  scope: ['identity'],\n  mode: 'PROOF_ONLY',\n  reason: 'Ouverture de compte',\n});\n// -> req.requestId + URL de consentement a presenter au client\n\n// 2. Suivre le statut (ou attendre le webhook)\nconst status = await ayiid.getVerificationStatus(req.requestId);\n```\n\n## Webhooks\n\nChaque événement est signé (HMAC-SHA256, en-tête `x-ayiid-signature`) :\n\n```ts\nimport { SIGNATURE_HEADER, verifyWebhookSignature } from '@ayiid/sdk';\n\napp.post('/webhooks/ayiid', (req, res) => {\n  const ok = verifyWebhookSignature(\n    process.env.AYIID_WEBHOOK_SECRET!,\n    req.rawBody,                          // corps BRUT, avant tout parsing\n    req.headers[SIGNATURE_HEADER] as string,\n  );\n  if (!ok) return res.status(401).end();\n  // traiter l'evenement…\n  res.status(200).end();\n});\n```\n\n## Exigence de preuve du vivant\n\n```ts\nawait ayiid.createVerification({\n  subjectRef,\n  scope: ['identity'],\n  mode: 'PROOF_ONLY',\n  requireLiveness: { minLevel: 'L2', maxAgeDays: 30 },\n});\n```\n\n## Support\n\n- Documentation : https://ayitech.io\n- Contact : support@ayitech.io\n\n© AYITech — Cotonou, Bénin.\n","readmeFilename":"README.md","_rev":"1-23c218766cd1ad7c863b58c2b96e05d8"}