L'Inbox Coffrify vous permet de solliciter des fichiers auprès d'un ou plusieurs destinataires sans exposer votre coffre. Vous créez une demande (POST /v1/requests), vous la limitez à une liste d'adresses e-mail via allowed_emails, et chaque dépôt crée une soumission consultable via GET /v1/requests/:id/submissions. L'URL publique de dépôt est construite à partir du short_code retourné : https://inbox.coffrify.com/<short_code>.
/v1/requestsCrée une nouvelle demande de fichier dans l'espace de travail courant.GET/v1/requests/{id}Récupère une demande et ses statistiques de soumissions (pending, reviewed, approved, rejected, spam).GET/v1/requests/{id}/submissionsListe les soumissions reçues pour une demande, avec filtre optionnel par statut.Authentification
Toutes les opérations sur les demandes exigent le scope transfers:write. Les clés de test commencent par cof_test_… et les clés de production par cof_live_…. Transmettez votre clé dans l'en-tête HTTP : Authorization: Bearer <votre_clé>.
Corps de la requête (POST /v1/requests)
Une demande déclare un titre, les destinataires autorisés et des contraintes (date limite, nombre de dépôts). Le tableau ci-dessous liste les champs acceptés.
| Champ | Type | Requis | Description |
|---|---|---|---|
| title | string | Oui | Intitulé de la demande (max 200 caractères). |
| description | string | Non | Message affiché au déposant (max 2 000 caractères). |
| allowed_emails | string[] | Non | Liste blanche d'adresses e-mail autorisées à déposer. Si absent, tout le monde peut déposer. |
| is_password_protected | boolean | Non | Si true, le champ password devient obligatoire. |
| password | string | Conditionnel | Mot de passe en clair, haché en SHA-256 côté serveur. Requis si is_password_protected: true. |
| expires_at | string (ISO 8601) | Non | Date d'expiration de la demande. |
| max_submissions | integer | Non | Nombre maximal de soumissions acceptées (0 = illimité). |
| max_file_size_mb | integer | Non | Taille maximale par fichier. Valeurs autorisées : 100, 500, 1000, 2000. |
| max_files_per_submission | integer | Non | Nombre maximal de fichiers par dépôt (entre 1 et 100). |
| notify_email | string | Non | Adresse e-mail notifiée à chaque nouveau dépôt. |
| notify_slack_webhook | string | Non | URL de webhook Slack notifié à chaque nouveau dépôt. |
| cover_emoji | string | Non | Emoji affiché sur la page de dépôt (max 8 caractères). |
| cover_color | string | Non | Couleur de fond de la page, format hexadécimal #RRGGBB. |
Exemple d'appel
L'exemple ci-dessous crée une demande de fichiers et récupère son lien public de dépôt. Choisissez votre langage.
Réponse
Le champ short_code est généré aléatoirement (8 caractères alphanumériques). L'URL publique de dépôt est https://inbox.coffrify.com/<short_code>. Le champ status est positionné à active à la création. L'événement request.created est émis de manière asynchrone après l'insertion.
Lister les soumissions reçues
Une fois la demande publiée, vous relevez les fichiers déposés via GET /v1/requests/{id}/submissions, avec un filtre optionnel par statut. L'exemple ci-dessous récupère les soumissions en attente de revue.
Erreurs
Les erreurs portent sur une demande introuvable, un scope manquant ou un corps invalide. Le tableau ci-dessous indique la résolution.
| HTTP | code | Quand | Résolution |
|---|---|---|---|
| 400 | validation_error | title absent ou vide. | Fournissez un title non vide (max 200 caractères). |
| 400 | validation_error | is_password_protected: true sans password. | Ajoutez le champ password dans le corps. |
| 400 | validation_error | status invalide lors d'un PATCH (valeurs attendues : active, paused, expired, archived). | Utilisez une des quatre valeurs autorisées. |
| 400 | validation_error | max_file_size_mb hors des valeurs autorisées. | Valeurs acceptées : 100, 500, 1000, 2000. |
| 401 | missing_api_key | En-tête Authorization absent. | Ajoutez Authorization: Bearer cof_live_…. |
| 401 | invalid_api_key | Clé malformée ou révoquée. | Vérifiez la clé dans votre tableau de bord Coffrify. |
| 403 | scope_missing | La clé ne possède pas le scope transfers:write. | Régénérez la clé avec le scope transfers:write. |
| 404 | not_found | L'identifiant de demande n'existe pas dans l'espace de travail. | Vérifiez l'id transmis. |
| 429 | rate_limited | Quota de requêtes par minute dépassé. | Respectez le header Retry-After retourné. |
| 500 | internal_error | Erreur inattendue côté serveur. | Réessayez et contactez le support si le problème persiste. |
Voir aussi
- Référence complète POST /v1/requests
- Référence GET /v1/requests/:id/submissions
- Mettre à jour le statut d'une soumission
- Protéger une demande par mot de passe
- Recevoir un Webhook à chaque dépôt
- Créer une clé API avec les bons scopes