La Réception (intake) vous permet de recevoir des fichiers de tiers en toute sécurité, sans qu'ils aient besoin d'un compte Coffrify. Le principe repose sur deux clés complémentaires : une publishable_key (préfixe cip_) sûre à exposer dans le navigateur pour que vos correspondants déposent leurs fichiers, et votre clé secrète (préfixe cof_) qui reste sur votre serveur pour lister et récupérer les dépôts. Les données sont hébergées en Union européenne. Vous pouvez activer un chiffrement de bout en bout optionnel : la clé reste chez vous et le serveur ne peut pas lire le contenu. Cette page décrit comment créer un point de réception, configurer ses options, intégrer le dépôt côté client et exploiter les dépôts côté serveur.
Avant de commencer
Toutes les requêtes se font sur la base https://api.coffrify.com/v1 et s'authentifient avec l'en-tête Authorization: Bearer <clé>. La création d'un point de réception nécessite le scope intake:write. La lecture des dépôts côté serveur nécessite le scope intake:read. N'accordez à chaque clé que les scopes strictement nécessaires. Pour vos premiers essais, vous pouvez utiliser une clé de test (cof_test_…) ou une clé bac à sable éphémère (cof_sandbox_…, isolée et valable 24 h) afin de ne pas toucher vos données de production.
/v1/intakesCrée un point de réception et renvoie sa publishable_key (montrée une seule fois).Créer un point de réception
Un point de réception se crée côté serveur avec votre clé secrète et le scope intake:write. Le corps accepte un name lisible, ainsi que plusieurs options de configuration : allowed_origins restreint les domaines autorisés à initier un dépôt depuis le navigateur, metadata_policy contrôle les métadonnées que vous souhaitez collecter, et reference_required impose à vos correspondants de fournir une référence lors du dépôt.
La réponse contient l'identifiant du point de réception (id) et la publishable_key. Cette publishable_key n'est affichée qu'une seule fois : conservez-la dans la configuration de votre application front. Si vous la perdez, vous pourrez en générer une nouvelle, mais l'ancienne devra être révoquée.
| Champ | Type | Description |
|---|---|---|
| name | string | Nom lisible du point de réception, affiché dans votre tableau de bord. |
| allowed_origins | string[] (optionnel) | Domaines autorisés à initier un dépôt depuis le navigateur. Laissez vide pour n'imposer aucune restriction d'origine. |
| metadata_policy | string (optionnel) | Politique de collecte des métadonnées associées aux dépôts. |
| reference_required | boolean (optionnel) | Si vrai, le correspondant doit fournir une référence au moment du dépôt. |
Intégrer le dépôt côté navigateur
Côté client, vous utilisez uniquement la publishable_key (cip_…). Elle est conçue pour être exposée dans le navigateur : elle permet de déposer des fichiers vers votre point de réception, mais ne donne aucun accès en lecture aux dépôts existants. Pensez à déclarer l'origine de votre site dans allowed_origins lors de la création pour que les dépôts soient acceptés.
Lister et récupérer les dépôts côté serveur
Une fois les fichiers déposés, vous les consultez côté serveur avec votre clé secrète (cof_…) et le scope intake:read. L'endpoint /v1/intakes/{id}/documents liste les dépôts reçus pour un point de réception donné, avec leur référence et leurs métadonnées.
/v1/intakes/{id}/documentsListe les dépôts reçus pour un point de réception (scope intake:read).Pour récupérer un dépôt précis, interrogez le même endpoint en ciblant son identifiant. Vous obtenez ses métadonnées et un lien de téléchargement temporaire vous permettant d'importer le fichier dans vos systèmes.
Erreurs et limites
Les erreurs suivent un format uniforme {"error":{"code":"…","message":"…","request_id":"…"}}. Les codes les plus courants sont invalid_api_key (clé absente ou invalide), scope_missing (le scope intake:write ou intake:read manque), validation_error (corps mal formé, par exemple une référence manquante alors que reference_required est vrai), not_found et rate_limited. Pensez à toujours consigner le request_id : il accélère le support.
- Surveillez les en-têtes
X-RateLimit-Limit,X-RateLimit-Remaining,X-RateLimit-ResetetX-RateLimit-Policypour anticiper les limites de débit. - Sur une réponse
429, respectez l'en-têteRetry-Afteravant de réessayer. - Réservez la
publishable_key(cip_…) au navigateur ; ne l'utilisez jamais pour lire les dépôts. - Gardez la clé secrète (
cof_…) uniquement côté serveur, dans une variable d'environnement.