Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| en:guide_callbacks [2025/08/05 09:21] – [PAYLOAD STRUCTURE] admin | en:guide_callbacks [2026/01/16 17:09] (Version actuelle) – admin | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | ~~NOTOC~~ | + | [[: |
| - | [[:fr: | + | |
| ---- | ---- | ||
| - | ====== INTRODUCTION TO CALLBACKS ====== | + | ===== 🔗 DOCUMENTATION URL CHANGE |
| - | ==== 🔁 Callbacks – What Are They For? ==== | + | The ID360 documentation URL has been updated. |
| - | When creating a user file, it is mandatory to specify one or more **callback_endpoints**, | + | 👉 **New address: |
| - | + | https://id360.doca-id.com/?id=en:start | |
| - | Each callback_endpoint will receive a **payload** containing information related to the file, including its status and the steps completed by the user. | + | |
| - | + | ||
| - | === 📌 What Can Be Configured? === | + | |
| - | + | ||
| - | You can define **one or more callback URLs**. For each callback, you can specify the desired notification level: | + | |
| - | + | ||
| - | * **Final callback only**: you receive a single notification at the end of the process, indicating that the identification is complete, along with the related information. | + | |
| - | * **Intermediate + final callbacks**: | + | |
| - | + | ||
| - | === ⚠️ Beware of Callback Arrival Order === | + | |
| - | + | ||
| - | Note that in some cases, **intermediate callbacks may arrive after the final callback**. | + | |
| - | This can happen if the initial callback attempt failed (e.g. your server was temporarily unavailable): | + | |
| - | + | ||
| - | These retries may cause a **temporal mismatch in the order of received messages**. | + | |
| - | + | ||
| - | → It is therefore strongly recommended to **rely on the content of the payload** rather than the order in which notifications arrive. | + | |
| - | + | ||
| - | ==== PAYLOAD STRUCTURE ==== | + | |
| - | + | ||
| - | Below is an example of a payload (in JSON format) sent by ID360 to your callback URL: | + | |
| - | + | ||
| - | {{: | + | |
| - | + | ||
| - | ==== PREREQUISITES ==== | + | |
| - | + | ||
| - | As a trusted service provider, we must comply with applicable standards, including ETSI EN 319 401, which requires the use of the latest versions of TLS to ensure the security and reliability of our exchanges. | + | |
| - | + | ||
| - | We recommend verifying that your connection is correctly configured to support **TLSv2 or TLSv3**. | + | |
| - | + | ||
| - | If you wish to allowlist our IP addresses, please contact your Customer Success Manager, who will provide them to you. | + | |
| - | + | ||
| - | ====== INTERMEDIATE CALLBACKS ====== | + | |
| - | + | ||
| - | At each step completed by the user, you will receive intermediate callback notifications informing you of the nature and status of that step. | + | |
| - | + | ||
| - | ==== STRUCTURE AND CHARACTERISTICS ==== | + | |
| - | + | ||
| - | {{: | + | |
| - | + | ||
| - | The **status** of an intermediate callback will always be set to “STARTED”. | + | |
| - | + | ||
| - | The **steps_status** block indicates that a total of 7 control steps were identified for the process associated with this payload. | + | |
| - | + | ||
| - | The value **done = 1** means that only the **ProfileDataStep** (e.g. pushing the last name via API) has been completed. | + | |
| - | + | ||
| - | The **enrollment_step** field provides detailed information about the step, including the result, the type of verification performed, and the list of documents involved. | + | |
| - | + | ||
| - | > **Note:** The “type” present in the `enrollment_step` variable is for internal use only and should not be used or relied upon. | + | |
| - | + | ||
| - | ==== ENROLLMENT STEPS BY NAME ==== | + | |
| - | + | ||
| - | === Identity Documents === | + | |
| - | + | ||
| - | | ‘enrollment_step’ > ‘name’ | Document(s) | + | |
| - | |----------------------------|--------------------|-----------------------------------------------------------| | + | |
| - | | id_document | + | |
| - | | id_document_mandat | + | |
| - | | fake_photo_id | + | |
| - | | phone_detection | + | |
| - | | image_forensics | + | |
| - | + | ||
| - | === Electronic Identification Methods === | + | |
| - | + | ||
| - | | ‘enrollment_step’ > ‘name’ | Document(s) | + | |
| - | |----------------------------|-------------------|-----------------------------------------------------------| | + | |
| - | | ar24 | PVID | AR24 has provided ID360 with the enrollment results | + | |
| - | | france_connect | + | |
| - | | france_connect_plus | + | |
| - | | id_num | + | |
| - | + | ||
| - | === Selfie === | + | |
| - | + | ||
| - | | ‘enrollment_step’ > ‘name’ | Document(s) | + | |
| - | |----------------------------|------------------------|-----------------------------------------------------------| | + | |
| - | | facecomparison | + | |
| - | | liveness | + | |
| - | + | ||
| - | === Additional Documents === | + | |
| - | + | ||
| - | | ‘enrollment_step’ > ‘name’ | Document(s) | + | |
| - | |----------------------------|--------------------------|-----------------------------------------------------------| | + | |
| - | | property_tax_notice | + | |
| - | | proof_of_address | + | |
| - | | pay_slip | + | |
| - | | kbis | KBIS extract | + | |
| - | | income_tax_notice | + | |
| - | | bank_details | + | |
| - | | free_document | + | |
| - | | mandate | + | |
| - | + | ||
| - | === Other Controls === | + | |
| - | + | ||
| - | | ‘enrollment_step’ > ‘name’ | Field | Control / Note | | + | |
| - | |----------------------------|--------------------|-----------------------------------------------------------| | + | |
| - | | phone | Phone number | + | |
| - | | otp | OTP code | User successfully entered the OTP code | | + | |
| - | | email | Email address | + | |
| - | + | ||
| - | ====== FINAL CALLBACK ====== | + | |
| - | + | ||
| - | The final callback notifies you of the completion of the identification process and provides final status details. | + | |
| - | {{callbackfinale.png? | + | |
| - | + | ||
| - | The status of a final callback can be: | + | |
| - | **OK, KO, FAILED or CANCELED** | + | |
| - | + | ||
| - | In case of a **KO**, the reason field will explain the failure cause. | + | |
| - | + | ||
| - | In `steps_status`, | + | |
| - | + | ||
| - | In this case, you must return a **2XX status code (e.g. 204)** within **10 seconds**. | + | |
| - | + | ||
| - | If this response is not received, up to 6 additional retry attempts will be made according to the following schedule: | + | |
| - | + | ||
| - | | Attempt | Seconds | Minutes | Cumulative Minutes | | + | |
| - | |---------|---------|---------|--------------------| | + | |
| - | | 1 | 10 | 0.17 | 0.17 | | + | |
| - | | 2 | 80 | 1.33 | 1.50 | | + | |
| - | | 3 | 270 | 4.50 | 6.00 | | + | |
| - | | 4 | 640 | 10.67 | 16.67 | | + | |
| - | | 5 | 1250 | 20.83 | 37.50 | | + | |
| - | | 6 | 2160 | 36.00 | 73.50 | | + | |
| - | | 7 | 3430 | 57.17 | 130.67 | + | |
| - | + | ||
| - | These intervals follow the formula: | + | |
| - | `10 x (n+1)^3` (where `n` is the retry number), expressed in seconds. | + | |
| - | + | ||
| - | ====== CALLBACK ENDPOINTS ====== | + | |
| - | + | ||
| - | In the body of the user file creation step: | + | |
| - | + | ||
| - | ```json | + | |
| - | " | + | |
| - | { | + | |
| - | " | + | |
| - | " | + | |
| - | " | + | |
| - | ], | + | |
| - | " | + | |
| - | { | + | |
| - | " | + | |
| - | } | + | |
| - | ] | + | |
| - | } | + | |
| - | ] | + | |
| + | Please update your bookmarks and internal links accordingly. | ||
| + | Feel free to reach out if you have any questions 😊 | ||