Référence API¶
Client principal¶
Client HTTP Henrri : implémentations synchrone/asynchrone.
Constants:
- henrri_connect.connect._BASE_URL : URL de base de l’API Henrri.
- henrri_connect.connect.APP_VERSION : Version de l’application.
Classes:
- henrri_connect.connect.AsyncHenrriClient : Client HTTP Henrri asynchrone.
- henrri_connect.connect.SyncHenrriClient : Client HTTP Henrri synchrone.
Exemples: .. code-block:: python
# Client synchrone from henrri_connect import SyncHenrriClient
client = SyncHenrriClient(« client_id », « client_secret »)
# Client asynchrone from henrri_connect import AsyncHenrriClient
client = AsyncHenrriClient(« client_id », « client_secret »)
- class henrri_connect.connect.AsyncHenrriClient(client_id, client_secret, *, base_url='https://api-sandbox.henrri.io')[source]
Bases :
objectClient HTTP asynchrone pour l’API Henrri. Gère l’authentification, le refresh-token et les erreurs HTTP. Fournit des sous-clients pour chaque groupe d’endpoints (users, companies, etc.) Authentification automatique avec gestion du refresh token Gestion centralisée des erreurs HTTP avec exceptions personnalisées
Arguments - client_id: Identifiant client pour l’authentification. - client_secret: Secret client pour l’authentification. - base_url: URL de base de l’API (défaut : sandbox Henrri).
Methodes - authenticate: Authentifie le client. - request: Effectue une requête HTTP authentifiée. - close: Ferme le client HTTP sous-jacent.
- users: AsyncUsersClient
- companies: AsyncCompaniesClient
- customers: AsyncCustomersClient
- documents: AsyncDocumentsClient
- document_lines: AsyncDocumentLinesClient
- document_line_types: AsyncDocumentLineTypesClient
- document_types: AsyncDocumentTypesClient
- items: AsyncItemsClient
- item_categories: AsyncItemCategoriesClient
- units: AsyncUnitsClient
- revenues: AsyncRevenuesClient
- secures: AsyncSecuresClient
- async authenticate()[source]
Authentifie le client et stocke le token d’accès.
Arguments - None
Returns - TokenResponse : objet contenant access_token et refresh_token.
- Type renvoyé:
TokenResponse
- async request(method, endpoint, **kwargs)[source]
Effectue une requête HTTP authentifiée (asynchrone).
Arguments - method: Méthode HTTP (GET, POST, etc.). - endpoint: Chemin relatif (ex: “/v1/companies/42”). - kwargs: Arguments supplémentaires pour httpx.request().
Returns - httpx.Response: La réponse de la requête HTTP.
- Type renvoyé:
Response
- async close()[source]
Ferme le client HTTP sous-jacent.
Arguments - None
Returns - None
- Type renvoyé:
None
- class henrri_connect.connect.SyncHenrriClient(client_id, client_secret, *, base_url='https://api-sandbox.henrri.io')[source]
Bases :
objectClient HTTP synchrone pour l’API Henrri. Gère l’authentification, le refresh-token et les erreurs HTTP. Fournit des sous-clients pour chaque groupe d’endpoints (users, companies, etc.) Authentification automatique avec gestion du refresh token Gestion centralisée des erreurs HTTP avec exceptions personnalisées
Arguments - client_id: Identifiant client pour l’authentification. - client_secret: Secret client pour l’authentification. - base_url: URL de base de l’API (défaut : sandbox Henrri).
Methodes - authenticate: Authentifie le client. - request: Effectue une requête HTTP authentifiée. - close: Ferme le client HTTP sous-jacent.
- users: SyncUsersClient
- companies: SyncCompaniesClient
- customers: SyncCustomersClient
- documents: SyncDocumentsClient
- document_lines: SyncDocumentLinesClient
- document_line_types: SyncDocumentLineTypesClient
- document_types: SyncDocumentTypesClient
- items: SyncItemsClient
- item_categories: SyncItemCategoriesClient
- units: SyncUnitsClient
- revenues: SyncRevenuesClient
- secures: SyncSecuresClient
- authenticate()[source]
Authentifie le client et stocke le token d’accès.
Arguments - None
Returns - TokenResponse : objet contenant access_token et refresh_token.
- Type renvoyé:
TokenResponse
- request(method, endpoint, **kwargs)[source]
Effectue une requête HTTP authentifiée (synchrone).
Arguments - method: Méthode HTTP (GET, POST, etc.). - endpoint: Chemin relatif (ex: “/v1/companies/42”). - kwargs: Arguments supplémentaires pour httpx.request().
Returns - httpx.Response: La réponse HTTP.
- Type renvoyé:
Response
- close()[source]
Ferme le client HTTP sous-jacent.
Arguments - None
Returns - None
- Type renvoyé:
None
Exceptions¶
Module d’exceptions personnalisées pour la bibliothèque henrri-connect.
Exceptions: - HenrriError: Erreur de base pour la bibliothèque henrri-connect. - HenrriHTTPError: Erreur HTTP retournée par l’API Henrri. - HenrriAuthError: Erreur d’authentification (HTTP 401). - HenrriForbiddenError: Accès interdit (HTTP 403). - HenrriNotFoundError: Ressource introuvable (HTTP 404). - HenrriValidationError: Erreur de validation des données (HTTP 400 ou 422). - HenrriServerError: Erreur interne du serveur (HTTP 5xx).
- exception henrri_connect.exc.HenrriError[source]
Bases :
ExceptionErreur de base pour la bibliothèque henrri-connect.
Ces exceptions sont utilisées pour indiquer des erreurs dans la bibliothèque henrri-connect.
- exception henrri_connect.exc.HenrriHTTPError(status_code, message)[source]
Bases :
HenrriErrorErreur HTTP retournée par l’API Henrri.
Ces exceptions sont utilisées pour indiquer des erreurs HTTP retournées par l’API Henrri.
Arguments - status_code: Code de statut HTTP. - message: Message d’erreur.
- exception henrri_connect.exc.HenrriAuthError(status_code, message)[source]
Bases :
HenrriHTTPErrorErreur d’authentification (HTTP 401).
Ces exceptions sont utilisées pour indiquer des erreurs d’authentification (HTTP 401).
Arguments - status_code: Code de statut HTTP. - message: Message d’erreur.
- exception henrri_connect.exc.HenrriForbiddenError(status_code, message)[source]
Bases :
HenrriHTTPErrorAccès interdit (HTTP 403).
Ces exceptions sont utilisées pour indiquer des accès interdits (HTTP 403).
Arguments - status_code: Code de statut HTTP. - message: Message d’erreur.
- exception henrri_connect.exc.HenrriNotFoundError(status_code, message)[source]
Bases :
HenrriHTTPErrorRessource introuvable (HTTP 404).
Ces exceptions sont utilisées pour indiquer des ressources introuvables (HTTP 404).
Arguments - status_code: Code de statut HTTP. - message: Message d’erreur.
- exception henrri_connect.exc.HenrriValidationError(status_code, message)[source]
Bases :
HenrriHTTPErrorErreur de validation des données (HTTP 400 ou 422).
Ces exceptions sont utilisées pour indiquer des erreurs de validation des données (HTTP 400 ou 422).
Arguments - status_code: Code de statut HTTP. - message: Message d’erreur.
- exception henrri_connect.exc.HenrriServerError(status_code, message)[source]
Bases :
HenrriHTTPErrorErreur interne du serveur (HTTP 5xx).
Ces exceptions sont utilisées pour indiquer des erreurs internes du serveur (HTTP 5xx).
Arguments - status_code: Code de statut HTTP. - message: Message d’erreur.
Modèles¶
Modèles Pydantic v2 pour l’API Henrri.
- class henrri_connect.models.Address(**data)[source]
Bases :
CamelModelReprésente une adresse d’entreprise.
Attributs: - id: Identifiant unique de l’adresse. - address: Adresse de l’entreprise. - city: Ville de l’entreprise. - post_code: Code postal de l’entreprise. - country: Pays de l’entreprise. - is_post_code_shared: Indique si le code postal est partagé avec d’autres adresses. - links: Liste de liens associés à l’adresse (si applicable).
- id: int | None
- address: str | None
- city: str | None
- post_code: str | None
- country: str | None
- is_post_code_shared: bool
- links: list[Link] | None
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class henrri_connect.models.AuthenticateRequest(**data)[source]
Bases :
CamelModelReprésente une requête d’authentification pour obtenir un token d’accès.
Attributs: - client_id: Identifiant du client. - client_secret: Secret du client.
- client_id: str
- client_secret: str
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class henrri_connect.models.Company(**data)[source]
Bases :
CamelModelReprésente une entreprise dans l’API Henrri Connect.
Attributs: - id: Identifiant unique de l’entreprise. - name: Nom de l’entreprise. - logo_url: URL du logo de l’entreprise. - is_self_employed: Indique si l’entreprise est un travailleur indépendant. - siret: Numéro SIRET de l’entreprise (si applicable). - email: Adresse e-mail de l’entreprise (si applicable). - web_site: Site web de l’entreprise (si applicable). - ape_code: Code APE de l’entreprise (si applicable). - ape_label: Libellé du code APE de l’entreprise (si applicable). - global_id: Identifiant global de l’entreprise (si applicable). - address: Adresse de l’entreprise (si applicable). - links: Liste de liens associés à l’entreprise (si applicable).
- id: int | None
- name: str | None
- logo_url: str | None
- is_self_employed: bool
- siret: str | None
- email: str | None
- web_site: str | None
- ape_code: str | None
- ape_label: str | None
- global_id: int | None
- address: Address | None
- links: list[Link] | None
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class henrri_connect.models.CompanyIdentifierType(*values)[source]
Bases :
str,EnumType d’identifiant pour les entreprises.
Attributs - SIRET: SIRET. - BCE: BCE. - UNKNOWN: Inconnu.
- SIRET = 'Siret'
- BCE = 'Bce'
- UNKNOWN = 'Unknown'
- class henrri_connect.models.Contact(**data)[source]
Bases :
CamelModelReprésente un contact d’entreprise.
Attributs: - id: Identifiant unique du contact. - title: Titre du contact. - first_name: Prénom du contact. - last_name: Nom de famille du contact. - email: Adresse e-mail du contact. - phone: Numéro de téléphone du contact. - mobile: Numéro de téléphone mobile du contact. - role: Rôle du contact dans l’entreprise. - is_primary: Indique si le contact est le contact principal de l’entreprise. - show_on_document: Indique si le contact doit être affiché sur les documents. - links: Liste de liens associés au contact (si applicable).
- id: int | None
- title: str | None
- first_name: str | None
- last_name: str | None
- email: str | None
- phone: str | None
- mobile: str | None
- role: str | None
- is_primary: bool
- show_on_document: bool
- links: list[Link] | None
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class henrri_connect.models.Customer(**data)[source]
Bases :
CamelModelModèle pour les clients dans l’API Henrri Connect.
Attributs: - id: Identifiant unique du client. - name: Nom du client. - type: Type de client (individuel ou entreprise). - accounting_number: Numéro comptable du client. - company_identifier_type: Type d’identifiant de l’entreprise (SIRET, BCE, ou inconnu). - siret: Numéro SIRET de l’entreprise (si applicable). - trade_name: Nom commercial de l’entreprise (si applicable). - trade_name_extension: Extension du nom commercial de l’entreprise (si applicable). - ict: Identifiant de contact de l’entreprise (si applicable). - vat_number: Numéro de TVA du client (si applicable). - address: Adresse du client (si applicable). - contacts: Liste de contacts associés au client (si applicable). - days_number_before_payment_reminder_level1: Nb jours avant le premier rappel de paiement. - days_number_before_payment_reminder_level2: Nb jours avant le deuxième rappel de paiement. - days_number_before_payment_reminder_level3: Nb jours avant le troisième rappel de paiement. - days_number_before_payment_reminder_level4: Nb jours avant le quatrième rappel de paiement. - service_discount_percentage: Pourcentage de remise pour les services. - product_discount_percentage: Pourcentage de remise pour les produits. - customer_type_alert_enabled: Indique si les alertes de type de client sont activées. - is_deleted: Indique si le client est supprimé. - is_supplier: Indique si le client est également un fournisseur. - is_advisor: Indique si le client est également un conseiller. - import_date: Date d’importation du client. - comment: Commentaire sur le client. - website: Site web du client (si applicable). - creation_date: Date de création du client. - links: Liste de liens associés au client (si applicable).
- id: int | None
- name: str
- type: CustomerType
- accounting_number: str | None
- company_identifier_type: CompanyIdentifierType | None
- siret: str | None
- trade_name: str | None
- trade_name_extension: str | None
- ict: str | None
- vat_number: str | None
- address: Address | None
- contacts: list[Contact] | None
- days_number_before_payment_reminder_level1: int | None
- days_number_before_payment_reminder_level2: int | None
- days_number_before_payment_reminder_level3: int | None
- days_number_before_payment_reminder_level4: int | None
- service_discount_percentage: float
- product_discount_percentage: float
- customer_type_alert_enabled: bool
- is_deleted: bool
- is_supplier: bool
- is_advisor: bool | None
- import_date: datetime | None
- comment: str | None
- website: str | None
- creation_date: datetime | None
- links: list[Link] | None
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class henrri_connect.models.CustomerType(*values)[source]
Bases :
str,EnumType de client pour les clients dans l’API Henrri Connect.
Attributs - INDIVIDUAL: Client individuel. - COMPANY: Client entreprise.
- INDIVIDUAL = 'Individual'
- COMPANY = 'Company'
- class henrri_connect.models.CustomerRequest(**data)[source]
Bases :
CamelModelModèle pour les requêtes de recherches clients dans l’API Henrri Connect.
Attributs: - page: Numéro de page (par défaut 1). - limit: Nombre de clients par page (par défaut 50). - search: Chaîne de recherche (obligatoire). - sort_by: Champ de tri. - sort_order: Ordre de tri (Ascending ou Descending). - min_id: Identifiant minimal de client (entre 1 et 2 147 483 647). - from_date: Date de début. - to_date: Date de fin.
- page: int
- limit: int
- search: str
- sort_by: str | None
- sort_order: SortOrder | None
- min_id: int | None
- from_date: str
- to_date: str
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class henrri_connect.models.Document(**data)[source]
Bases :
CamelModelReprésente un document dans l’API Henrri Connect.
Attributs: - id: Identifiant unique du document. - identity: Identité du document. - finalized: Indique si le document est finalisé. - type: Type du document. - document_type_id: Identifiant du type de document. - document_type: Type de document (si applicable). - title: Titre du document. - subtitle: Sous-titre du document (si applicable). - price_before_tax: Prix total avant taxe du document. - tax_amount: Montant total de la taxe du document. - price_after_tax: Prix total après taxe du document. - due_label: Libellé de l’échéance du document (si applicable). - last_modification_date: Date de dernière modification du document. - date: Date du document. - validated: Indique si le document est validé. - validation_date: Date de validation du document (si applicable). - validation_firstname: Prénom de la personne ayant validé le document (si applicable). - validation_lastname: Nom de la personne ayant validé le document (si applicable). - validation_email: E-mail de la personne ayant validé le document (si applicable). - validation_ip: IP de la personne ayant validé le document (si applicable). - lines: Liste de lignes de document associées au document (si applicable). - customer_id: Identifiant du client associé au document (si applicable). - customer: Client associé au document (si applicable). - customer_address: Adresse du client associée au document (si applicable). - user_can_validate: Indique si l’utilisateur peut valider le document. - footer_text: Texte de pied de page du document (si applicable). - bank_account_label: Libellé du compte bancaire associé au document (si applicable). - label_id: Identifiant de l’étiquette de document associée au document (si applicable). - links: Liste de liens associés au document (si applicable).
- id: int | None
- identity: str | None
- finalized: bool
- type: str | None
- document_type_id: int
- document_type: DocumentType | None
- title: str | None
- subtitle: str | None
- price_before_tax: float
- tax_amount: float
- price_after_tax: float
- due_label: str | None
- last_modification_date: datetime | None
- date: datetime | None
- validated: bool
- validation_date: datetime | None
- validation_firstname: str | None
- validation_lastname: str | None
- validation_email: str | None
- validation_ip: str | None
- lines: list[DocumentLine] | None
- customer_id: int
- customer: Customer | None
- customer_address: Address | None
- user_can_validate: bool
- footer_text: str | None
- bank_account_label: str | None
- label_id: int | None
- links: list[Link] | None
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class henrri_connect.models.DocumentLabel(**data)[source]
Bases :
CamelModelReprésente une étiquette de document dans l’API Henrri Connect.
Attributs: - id: Identifiant unique de l’étiquette de document. - model_id: Id du modèle auquel appartient l’étiquette de document. - document_id: Id du document auquel appartient l’étiquette de document. - label: Libellé de l’étiquette de document. - elements: Liste d’éléments d’étiquette de doc associés à l’étiquette de doc (si applicable). - links: Liste de liens associés à l’étiquette de document (si applicable).
- id: int | None
- model_id: int | None
- document_id: int | None
- label: str | None
- elements: list[DocumentLabelElement] | None
- links: list[Link] | None
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class henrri_connect.models.DocumentLabelElement(**data)[source]
Bases :
CamelModelReprésente un élément d’étiquette de document dans l’API Henrri Connect.
Attributs: - id: Identifiant unique de l’élément d’étiquette. - model_element_id: Id de l’élément de modèle auquel appartient l’élément d’étiquette. - label: Libellé de l’élément d’étiquette. - value: Valeur de l’élément d’étiquette. - element_type: Type de l’élément d’étiquette. - is_main_element: Indique si l’élément d’étiquette est l’élément principal de l’étiquette. - size: Taille de l’élément d’étiquette. - index: Index de l’élément d’étiquette dans l’étiquette. - links: Liste de liens associés à l’élément d’étiquette (si applicable).
- id: int | None
- model_element_id: int | None
- label: str | None
- value: str | None
- element_type: str | None
- is_main_element: bool
- size: int | None
- index: int | None
- links: list[Link] | None
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class henrri_connect.models.DocumentLine(**data)[source]
Bases :
CamelModelReprésente une ligne de document dans l’API Henrri Connect.
type_idpeut être récupéré par un GET sur/documentlinetypesou avechenrry_connect.<client>.document_line_types.list_document_line_typesAttributs: - id: Identifiant unique de la ligne de document. - document_id: Identifiant du document auquel appartient la ligne. - reference: Référence de la ligne de document. - description: Description de la ligne de document. - selling_price_without_tax: Prix de vente sans taxe de la ligne de document. - purchasing_price_without_tax: Prix d’achat sans taxe de la ligne de document. - vat_percent: Pourcentage de TVA appliqué à la ligne de document. - quantity: Quantité de l’article dans la ligne de document. - is_tax_included: Indique si les prix incluent la taxe. - total_without_tax: Total sans taxe pour la ligne de document. - total_with_tax: Total avec taxe pour la ligne de document. - are_elements_of_group_shown: Indique si les éléments du groupe sont affichés. - line_number: Numéro de la ligne dans le document. - is_a_group: Indique si la ligne est un groupe d’articles. - does_group_own_different_vat: Indique si le groupe a une TVA différente pour ses éléments. - is_member_of_a_group: Indique si la ligne est membre d’un groupe d’articles. - is_adjustment_of_group: Indique si la ligne est un ajustement d’un groupe d’articles. - type_id: Identifiant du type de ligne de document. - type: Type de ligne de document (si applicable). - group_id: Identifiant du groupe d’articles auquel appartient la ligne (si applicable). - item_id: Identifiant de l’article associé à la ligne (si applicable). - item: Article associé à la ligne (si applicable). - links: Liste de liens associés à la ligne de document (si applicable).
- id: int | None
- document_id: int | None
- reference: str | None
- description: str | None
- selling_price_without_tax: float | None
- purchasing_price_without_tax: float
- vat_percent: float | None
- quantity: float
- is_tax_included: bool
- total_without_tax: float | None
- total_with_tax: float | None
- are_elements_of_group_shown: bool
- line_number: int | None
- is_a_group: bool
- does_group_own_different_vat: bool
- is_member_of_a_group: bool
- is_adjustment_of_group: bool
- type_id: int
- type: DocumentLineType | None
- group_id: int | None
- item_id: int | None
- item: Item | None
- links: list[Link] | None
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class henrri_connect.models.DocumentLineListQueryParameters(**data)[source]
Bases :
CamelModelReprésente les paramètres de requête pour obtenir une liste de lignes de document dans l’API Henrri Connect.
Attributs: - document_id: Identifiant du document auquel appartient la ligne.
- page: int
- limit: int
- search: str | None
- sort_by: str | None
- sort_order: SortOrder | None
- minId: int
- from_date: str
- to_date: str
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class henrri_connect.models.DocumentLineMoveQueryParameters(**data)[source]
Bases :
CamelModelReprésente les paramètres de requête pour déplacer une ligne de document dans l’API Henrri Connect.
Attributs: - to: Identifiant de la ligne de document vers laquelle déplacer la ligne.
- to: int
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class henrri_connect.models.DocumentLineType(**data)[source]
Bases :
CamelModelReprésente un type de ligne de document dans l’API Henrri Connect.
Attributs: - id: Identifiant unique du type de ligne de document. - label: Libellé du type de ligne de document. - type: Type de ligne de document.
- id: int | None
- label: str | None
- type: str
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class henrri_connect.models.DocumentQuery(**data)[source]
Bases :
CamelModelReprésente une requête de document dans l’API Henrri Connect.
Attributs: - finalized (bool) : Indique si le document est finalisé. - document_types (list[DocumentKind]) :: Type du document. - state (Optional[DocumentState]) : Etat du document. - page (int) : Numéro de page (de 1 à 2 147 483 647, défaut 1). - limit (int) : Nombre de documents par page (de 1 à 100, défaut 50). - search (str) : Chaine de recherche. - sort_by (str) : Champ de tri. - sort_order (SortOrder) : Ordre de tri (Ascending ou Descending). - min_id (int) : Identifiant minimum. - from_date (str) : Date de debut. - to_date (str) : Date de fin.
- finalized: bool
- document_types: list[DocumentKind] | None
- state: DocumentState | None
- page: int
- limit: int
- search: str | None
- sort_by: str | None
- sort_order: SortOrder | None
- min_id: int | None
- from_date: str | None
- to_date: str | None
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class henrri_connect.models.DocumentType(**data)[source]
Bases :
CamelModelReprésente un type de document dans l’API Henrri Connect.
Attributs: - id: Identifiant unique du type de document. - label: Libellé du type de document. - short_label: Libellé court du type de document. - document_kind: Type de document. - is_accounting: Indique si le type de document est comptable.
- id: int | None
- label: str | None
- short_label: str | None
- document_kind: str
- is_accounting: bool
- is_managed: bool
- is_mandatory: bool
- is_visible: bool
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class henrri_connect.models.Item(**data)[source]
Bases :
CamelModelReprésente un article dans l’API Henrri Connect.
Attributs: - id: Identifiant unique de l’article. - reference: Référence de l’article. - description: Description de l’article. - is_tax_included: Indique si la taxe est incluse dans le prix. - selling_price_without_tax: Prix de vente hors taxe de l’article. - selling_price_with_tax: Prix de vente TTC de l’article. - purchase_price: Prix d’achat de l’article. - vat_percent: Taux de TVA de l’article. - is_a_group: Indique si l’article est un groupe d’articles. - item_category: Catégorie de l’article (si applicable). - item_category_id: Identifiant de la catégorie de l’article (si applicable). - unit_id: Identifiant de l’unité de l’article (si applicable). - parent_item_id: Id d’article parent si l’article est un élément d’un grp d’articles (si applicable). - creation_date: Date de création de l’article. - links: Liste de liens associés à l’article (si applicable).
- id: int | None
- reference: str | None
- description: str | None
- is_tax_included: bool
- selling_price_without_tax: float | None
- selling_price_with_tax: float | None
- purchase_price: float
- vat_percent: float
- is_a_group: bool
- item_category: ItemCategory | None
- item_category_id: int | None
- unit_id: int | None
- parent_item_id: int | None
- creation_date: str
- links: list[Link] | None
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class henrri_connect.models.ItemCategory(**data)[source]
Bases :
CamelModelReprésente une catégorie d’article dans l’API Henrri Connect.
Attributs: - id: Identifiant unique de la catégorie d’article. - type: Type de la catégorie d’article. - label: Libellé de la catégorie d’article. - margin_percent: Pourcentage de marge de la catégorie d’article. - hourly_rate: Tarif horaire de la catégorie d’article. - vat: Taux de TVA de la catégorie d’article. - is_added_to_revenue: Indique si les articles de la cat. sont ajoutés au chiffre d’affaires. - is_default: Indique si la catégorie d’article est la catégorie par défaut. - is_deleted: Indique si la catégorie d’article est supprimée. - item_category_kind: Type de la catégorie d’article (service, produit, ou fourniture).
- id: int | None
- type: ItemCategoryType | None
- label: str | None
- margin_percent: float
- hourly_rate: float
- vat: float
- is_added_to_revenue: bool
- is_default: bool
- is_deleted: bool
- item_category_kind: str
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class henrri_connect.models.ItemCategoryRequest(**data)[source]
Bases :
CamelModelReprésente une requête de catégorie d’article dans l’API Henrri Connect.
- page
Index de la page de la requête (entre 1 et 2 147 483 647, defaut 1).
- Type:
int
- limit
Nombre d’articles par page (entre 1 et 100, défaut 50).
- Type:
int
- search
Chaine de recherche.
- Type:
str
- sort_by
Champ de tri.
- Type:
str
- sort_order
Ordre de tri (Ascending ou Descending).
- Type:
str
- min_id
Identifiant minimal de l’article (entre 1 et 2 147 483 647).
- Type:
int
- from_date
Date de début.
- Type:
str
- to_date
Date de fin.
- Type:
str
- page: int
- limit: int
- search: str
- sort_by: str | None
- sort_order: str | None
- min_id: int | None
- from_date: str | None
- to_date: str | None
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class henrri_connect.models.ItemCategoryType(**data)[source]
Bases :
CamelModelReprésente un type de catégorie d’article dans l’API Henrri Connect.
Attributs: - id: Identifiant unique du type de catégorie d’article. - label: Libellé du type de catégorie d’article. - item_category_content_kind: Type de contenu de la catégorie d’article. - item_category_kind: Type de catégorie d’article.
- id: int | None
- label: str | None
- item_category_content_kind: str
- item_category_kind: str
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class henrri_connect.models.ItemsQuery(**data)[source]
Bases :
CamelModelReprésente une requête de catégorie d’article dans l’API Henrri Connect.
Attributs: - page (int) : Index de la page de la requête (entre 1 et 2 147 483 647, defaut 1). - limit (int) : Nombre d’articles par page (entre 1 et 100, défaut 50). - search (str) : Chaine de recherche. - sort_by (str) : Champ de tri. - sort_order (SortOrder) : Ordre de tri (Ascending ou Descending). - min_id (int) : Identifiant minimal de l’article (entre 1 et 2 147 483 647). - from_date (str) : Date de début. - to_date (str) : Date de fin.
- page: int
- limit: int
- search: str | None
- sort_by: str | None
- sort_order: SortOrder | None
- min_id: int
- from_date: str
- to_date: str
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class henrri_connect.models.Link(**data)[source]
Bases :
CamelModelReprésente un lien hypertexte.
Attributs - href: URL du lien. - rel: Relation du lien. - method: Méthode HTTP du lien. - label: Libellé du lien.
- href: str | None
- rel: str | None
- method: str | None
- label: str | None
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class henrri_connect.models.ListResponse(**data)[source]
Bases :
CamelModel,Generic[T]Réponse liste générique.
Attributs - elements: Liste d’éléments. - meta: Métadonnées de la réponse liste (si applicable).
- elements: list[T] | None
- meta: MetaListResponse | None
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class henrri_connect.models.MonthlyRevenueStatistics(**data)[source]
Bases :
CamelModelReprésente les statistiques de revenus mensuels dans l’API Henrri Connect.
Attributs: - month: Mois des statistiques. - year: Année des statistiques. - total_services_revenue: Revenu total des services. - total_products_revenue: Revenu total des produits. - total_products_margin: Marge totale sur les produits. - total_service_hours: Nombre total d’heures de service.
- month: int
- year: int
- total_services_revenue: float
- total_products_revenue: float
- total_products_margin: float
- total_service_hours: float
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class henrri_connect.models.PagedListResponse(**data)[source]
Bases :
CamelModel,Generic[T]Réponse paginée générique.
Attributs - elements: Liste d’éléments de la page. - totals: Liste de cellules de total pour la page (si applicable). - display: Liste d’informations d’affichage pour les éléments de la page (si applicable). - meta: Métadonnées de la réponse paginée (si applicable).
- elements: list[T] | None
- totals: list[Cell] | None
- display: list[ElementDisplay] | None
- meta: MetaPagedListResponse | None
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class henrri_connect.models.PaymentMilestone(**data)[source]
Bases :
CamelModelReprésente une étape de paiement dans l’API Henrri Connect.
Attributs: - id: Identifiant unique de l’étape de paiement. - amount: Montant de l’étape de paiement. - percentage: Pourcentage de l’étape de paiement. - due_date: Date d’échéance de l’étape de paiement. - is_paid: Indique si l’étape de paiement est payée. - document_id: Identifiant du document associé à l’étape de paiement. - payment_id: Identifiant du paiement associé à l’étape de paiement (si applicable). - links: Liste de liens associés à l’étape de paiement (si applicable).
- id: int | None
- amount: float | None
- percentage: float | None
- due_date: datetime
- is_paid: bool
- document_id: int
- payment_id: int | None
- links: list[Link] | None
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class henrri_connect.models.PdfUrlResponse(**data)[source]
Bases :
CamelModelReprésente la réponse de l’API Henrri Connect pour une URL de PDF.
Attributs: - download_url: URL de téléchargement du PDF. - expires_at: Date d’expiration de l’URL de téléchargement du PDF. - file_name: Nom du fichier PDF (si applicable).
- download_url: str | None
- expires_at: datetime | None
- file_name: str | None
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class henrri_connect.models.RefreshTokenRequest(**data)[source]
Bases :
CamelModelReprésente une requête de rafraîchissement du token d’accès.
Attributs: - refresh_token: Token de rafraîchissement. - client_id: Identifiant du client. - client_secret: Secret du client. - check_point: Point de contrôle (si applicable).
- refresh_token: str
- client_id: str | None
- client_secret: str | None
- check_point: str | None
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class henrri_connect.models.RevenueStatistics(**data)[source]
Bases :
CamelModelReprésente les statistiques de revenus dans l’API Henrri Connect.
Attributs: - year: Année des statistiques. - total_services_revenue: Revenu total des services. - total_products_revenue: Revenu total des produits. - total_products_margin: Marge totale sur les produits. - total_service_hours: Nombre total d’heures de service.
- year: int
- total_services_revenue: float
- total_products_revenue: float
- total_products_margin: float
- total_service_hours: float
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class henrri_connect.models.TaxDetail(**data)[source]
Bases :
CamelModelReprésente les détails de taxe dans l’API Henrri Connect.
Attributs: - rate: Taux de taxe. - price_before_tax: Prix total avant taxe. - tax_amount: Montant total de la taxe. - price_after_tax: Prix total après taxe.
- rate: float
- price_before_tax: float
- tax_amount: float
- price_after_tax: float
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class henrri_connect.models.TaxDetailArray(**data)[source]
Bases :
CamelModelReprésente un tableau de détails de taxe dans l’API Henrri Connect.
Attributs: - tax_detail_array: Liste des détails de taxe. - document_id: Identifiant du document associé aux détails de taxe. - links: Liste de liens associés au tableau de détails de taxe (si applicable).
- tax_detail_array: list[TaxDetail] | None
- document_id: str | None
- links: list[Link] | None
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class henrri_connect.models.TokenResponse(**data)[source]
Bases :
CamelModelReprésente la réponse d’une authentification réussie ou d’un rafraîchissement de token.
Attributs: - access_token: Token d’accès. - identity_token: Token d’identité. - scope: Portée du token. - token_type: Type du token. - refresh_token: Token de rafraîchissement. - expires_in: Durée de validité du token en secondes. - is_error: Indique si la réponse contient une erreur. - error: Code de l’erreur (si applicable). - error_description: Description de l’erreur (si applicable).
- access_token: str | None
- identity_token: str | None
- scope: str | None
- token_type: str | None
- refresh_token: str | None
- expires_in: int
- is_error: bool
- error: str | None
- error_description: str | None
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class henrri_connect.models.Unit(**data)[source]
Bases :
CamelModelReprésente une unité dans l’API Henrri Connect.
Attributs: - id: Identifiant de l’unité. - name: Nom de l’unité. - unit_kind: Type de l’unité. - links: Liens associés à l’unité.
- id: int | None
- name: str
- unit_kind: UnitKind | None
- links: list[Link] | None
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class henrri_connect.models.UnitKind(*values)[source]
Bases :
str,EnumType d’unité pour les unités de mesure.
Attributs - HOURLY: Horaire. - METER: Mètre. - CENTIMETER: Centimètre. - SQUARE_CENTIMETER: Centimètre carré. - CUBIC_CENTIMETER: Centimètre cube. - DECIMETER: Décimètre. - SQUARE_METER: Mètre carré. - CUBIC_METER: Mètre cube. - MILLIMETER: Millimètre. - SQUARE_MILLIMETER: Millimètre carré. - CUBIC_MILLIMETER: Millimètre cube. - KILOGRAM: Kilogramme. - GRAM: Gramme. - METRIC_TON: Tonne métrique. - SPECIFIC: Spécifique. - FLAT_RATE: Forfait. - LINEAR_METER: Mètre linéaire. - UNIT: Unité. - CUSTOM: Personnalisé.
- HOURLY = 'Hourly'
- METER = 'Meter'
- CENTIMETER = 'Centimeter'
- SQUARE_CENTIMETER = 'SquareCentimeter'
- CUBIC_CENTIMETER = 'CubicCentimeter'
- DECIMETER = 'Decimeter'
- SQUARE_METER = 'SquareMeter'
- CUBIC_METER = 'CubicMeter'
- MILLIMETER = 'Millimeter'
- SQUARE_MILLIMETER = 'SquareMillimeter'
- CUBIC_MILLIMETER = 'CubicMillimeter'
- KILOGRAM = 'Kilogram'
- GRAM = 'Gram'
- METRIC_TON = 'MetricTon'
- SPECIFIC = 'Specific'
- FLAT_RATE = 'FlatRate'
- LINEAR_METER = 'LinearMeter'
- UNIT = 'Unit'
- CUSTOM = 'Custom'
- class henrri_connect.models.User(**data)[source]
Bases :
CamelModelReprésente un utilisateur dans l’API Henrri Connect.
Attributs: - id: Identifiant de l’utilisateur. - email: Adresse email de l’utilisateur. - first_name: Prénom de l’utilisateur. - last_name: Nom de famille de l’utilisateur. - url_image: URL de l’image de profil de l’utilisateur. - first_connexion_date: Date de la première connexion de l’utilisateur. - last_connexion_date: Date de la dernière connexion de l’utilisateur. - connexion_count: Nombre de connexions de l’utilisateur. - created_from: Source de création de l’utilisateur. - phone_number: Numéro de téléphone de l’utilisateur. - creation_date: Date de création de l’utilisateur. - is_enabled: Indique si l’utilisateur est activé. - two_factor_enabled: Indique si l’authentification à deux facteurs est activée pour l’utilisateur. - address: Adresse de l’utilisateur (si applicable). - links: Liste de liens associés à l’utilisateur (si applicable).
- id: int | None
- email: str | None
- first_name: str | None
- last_name: str | None
- url_image: str | None
- first_connexion_date: datetime | None
- last_connexion_date: datetime | None
- connexion_count: str | None
- created_from: str | None
- phone_number: str | None
- creation_date: datetime | None
- is_enabled: bool
- two_factor_enabled: bool
- address: Address | None
- links: list[Link] | None
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class henrri_connect.models.UserAndCompany(**data)[source]
Bases :
CamelModelReprésente un utilisateur et son entreprise dans l’API Henrri Connect.
- Attributs:
user: Utilisateur de l’API Henrri Connect.
company: Entreprise associée à l’utilisateur dans l’API Henrri Connect.
- user: User
- company: Company
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class henrri_connect.models.ValidateDocumentRequest(**data)[source]
Bases :
CamelModelReprésente une requête de validation de document dans l’API Henrri Connect.
Attributs: - email: Adresse e-mail de la personne validant le document. - first_name: Prénom de la personne validant le document. - last_name: Nom de la personne validant le document. - validation_date: Date de validation du document. - time_offset: Décalage horaire par rapport à UTC. - ip: Adresse IP de la personne validant le document.
- email: str
- first_name: str
- last_name: str
- validation_date: str
- time_offset: int
- ip: str
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
Ressources¶
Sociétés¶
Sous-client pour les endpoints /v1/companies.
Classes:
- SyncCompaniesClient : Accès synchrone aux endpoints entreprises.
- AsyncCompaniesClient : Accès asynchrone aux endpoints entreprises.
Models:
- Address : Adresse.
- Company : Entreprise.
Notes:
Utiliser de préférence les objets suivants pour acceder aux endpoints:
- henrri_connect.SyncHenrriClient
- henrri_connect.AsyncHenrriClient
- class henrri_connect.companies.Address(**data)[source]
Bases :
CamelModelReprésente une adresse d’entreprise.
Attributs: - id: Identifiant unique de l’adresse. - address: Adresse de l’entreprise. - city: Ville de l’entreprise. - post_code: Code postal de l’entreprise. - country: Pays de l’entreprise. - is_post_code_shared: Indique si le code postal est partagé avec d’autres adresses. - links: Liste de liens associés à l’adresse (si applicable).
- id: int | None
- address: str | None
- city: str | None
- post_code: str | None
- country: str | None
- is_post_code_shared: bool
- links: list[Link] | None
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class henrri_connect.companies.AsyncCompaniesClient(client)[source]
Bases :
objectAccès asynchrone aux endpoints entreprises.
Arguments -
client(AsyncHenrriClient) : Client Henrri Connect.Methodes - get(self, company_id: int) : Récupère une entreprise par son identifiant. - get_address(self, company_id: int) : Récupère l’adresse d’une entreprise.
- async get(company_id)[source]
Récupère une entreprise par son identifiant.
Arguments -
company_id: Identifiant de l’entreprise.Returns -
henrri_connect.models.Company: Entreprise.- Type renvoyé:
Company
- async get_address(company_id)[source]
Récupère l’adresse d’une entreprise.
Arguments -
company_id: Identifiant de l’entreprise.Returns -
henrri_connect.models.Address: Adresse de l’entreprise.- Type renvoyé:
Address
- class henrri_connect.companies.Company(**data)[source]
Bases :
CamelModelReprésente une entreprise dans l’API Henrri Connect.
Attributs: - id: Identifiant unique de l’entreprise. - name: Nom de l’entreprise. - logo_url: URL du logo de l’entreprise. - is_self_employed: Indique si l’entreprise est un travailleur indépendant. - siret: Numéro SIRET de l’entreprise (si applicable). - email: Adresse e-mail de l’entreprise (si applicable). - web_site: Site web de l’entreprise (si applicable). - ape_code: Code APE de l’entreprise (si applicable). - ape_label: Libellé du code APE de l’entreprise (si applicable). - global_id: Identifiant global de l’entreprise (si applicable). - address: Adresse de l’entreprise (si applicable). - links: Liste de liens associés à l’entreprise (si applicable).
- id: int | None
- name: str | None
- logo_url: str | None
- is_self_employed: bool
- siret: str | None
- email: str | None
- web_site: str | None
- ape_code: str | None
- ape_label: str | None
- global_id: int | None
- address: Address | None
- links: list[Link] | None
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class henrri_connect.companies.SyncCompaniesClient(client)[source]
Bases :
objectAccès synchrone aux endpoints entreprises.
Arguments -
client(SyncHenrriClient) : Client HTTP.Methodes - get(self, company_id: int) : Récupère une entreprise par son identifiant. - get_address(self, company_id: int) : Récupère l’adresse d’une entreprise.
- get(company_id)[source]
Récupère une entreprise par son identifiant.
Arguments -
company_id: Identifiant de l’entreprise.Returns -
henrri_connect.models.Company: Entreprise.- Type renvoyé:
Company
- get_address(company_id)[source]
Récupère l’adresse d’une entreprise.
Arguments -
company_id: Identifiant de l’entreprise.Returns -
henrri_connect.models.Address: Adresse de l’entreprise.- Type renvoyé:
Address
Clients¶
Sous-client pour les endpoints /v1/customers.
Classes:
- SyncCustomersClient : Accès synchrone aux endpoints clients.
- AsyncCustomersClient : Accès asynchrone aux endpoints clients.
Notes:
Utiliser de préférence les objets suivants pour acceder aux endpoints:
- henrri_connect.SyncHenrriClient
- henrri_connect.AsyncHenrriClient
- class henrri_connect.customers.AsyncCustomersClient(client)[source]
Bases :
objectAccès asynchrone aux endpoints clients.
Arguments -
client(AsyncHenrriClient) : Client HTTP.Methods -
delete: Supprime un client. -delete_contact: Supprime un contact. -list_customers: Liste les clients avec pagination et filtres optionnels. -get_best_sales: Récupère les meilleurs clients. -get_last_used: Récupère le dernier client utilisé. -add: Crée un nouveau client. -get: Récupère un client par son identifiant. -modify: Met à jour un client. -get_address: Récupère l’adresse d’un client. -list_contacts: Liste les contacts d’un client. -add_contact: Crée un nouveau contact. -get_contact: Récupère un contact d’un client. -modify_contact: Met à jour un contact.- async list_customers(*, request, with_selected_fields=True, with_totals=False, only_current_page=True)[source]
- Overloads:
self, request (CustomerRequest), with_selected_fields (bool), with_totals (bool), only_current_page (bool) → PagedListResponse[Customer]
self, request (CustomerRequest), with_selected_fields (bool), with_totals (None), only_current_page (None)
Liste les clients avec pagination et filtres optionnels.
Arguments -
request(CustomerRequest) : Paramètres de recherche. -with_selected_fields(bool) : Si True, lance une requête de recherche avancée. -with_totals(bool) : Si True, renvoie les totaux. -only_current_page(bool) : Si True, renvoie uniquement les clients de la page actuelle.Returns -
PagedListResponse[Customer]: Liste paginée de clients.
- async add(customer)[source]
Crée un nouveau client.
Arguments -
customer(Customer) : Client à créer.Returns -
Customer: Client créé.- Type renvoyé:
Customer
- async get_best_sales(*, year)[source]
Récupère les meilleurs clients.
Arguments -
year(int) : Année concerne (minimum 2000, maximum 2100).Returns -
PagedListResponse[Customer]: Liste paginée de clients.- Type renvoyé:
PagedListResponse[Customer]
- async get_last_used(customer_type, limit)[source]
Récupère les derniers clients utilisés.
Arguments -
customer_type(CustomerType) : Type de client. -limit(int) : Nombre de clients maximum.Returns -
Customer: Derniers clients utilisés.- Type renvoyé:
Customer
- async get(customer_id)[source]
Récupère un client par son identifiant.
Arguments -
customer_id(int) : Identifiant du client.Returns -
Customer: Client.- Type renvoyé:
Customer
- async modify(customer_id, customer)[source]
Met à jour un client existant.
Arguments -
customer_id(int) : Identifiant du client. -customer(Customer) : Client à mettre à jour.Returns -
Customer: Client mis à jour.- Type renvoyé:
Customer
- async delete(customer_id)[source]
Supprime un client.
Arguments -
customer_id(int) : Identifiant du client.Returns -
None.- Type renvoyé:
None
- async get_address(customer_id)[source]
Récupère l’adresse d’un client.
Arguments -
customer_id(int) : Identifiant du client.Returns -
henrri_connect.models.Address: Adresse du client.- Type renvoyé:
Address
- async list_contacts(customer_id)[source]
Liste les contacts d’un client.
Arguments -
customer_id(int) : Identifiant du client.Returns -
list[Contact]: Liste de contacts.- Type renvoyé:
list[Contact]
- async add_contact(customer_id, contact)[source]
Ajoute un contact à un client.
Arguments -
customer_id(int) : Identifiant du client. -contact(Contact) : Contact à ajouter.Returns -
Contact: Contact ajouté.- Type renvoyé:
Contact
- async get_contact(customer_id, contact_id)[source]
Récupère un contact d’un client.
Arguments -
customer_id(int) : Identifiant du client. -contact_id(int) : Identifiant du contact.Returns -
Contact: Contact.- Type renvoyé:
Contact
- async modify_contact(customer_id, contact_id, contact)[source]
Met à jour un contact d’un client.
Arguments -
customer_id(int) : Identifiant du client. -contact_id(int) : Identifiant du contact. -contact(Contact) : Contact à mettre à jour.Returns -
Contact: Contact mis à jour.- Type renvoyé:
Contact
- async delete_contact(customer_id, contact_id)[source]
Supprime un contact d’un client.
Arguments -
customer_id(int) : Identifiant du client. -contact_id(int) : Identifiant du contact.Returns -
None.- Type renvoyé:
None
- class henrri_connect.customers.CustomerRequest(**data)[source]
Bases :
CamelModelModèle pour les requêtes de recherches clients dans l’API Henrri Connect.
Attributs: - page: Numéro de page (par défaut 1). - limit: Nombre de clients par page (par défaut 50). - search: Chaîne de recherche (obligatoire). - sort_by: Champ de tri. - sort_order: Ordre de tri (Ascending ou Descending). - min_id: Identifiant minimal de client (entre 1 et 2 147 483 647). - from_date: Date de début. - to_date: Date de fin.
- page: int
- limit: int
- search: str
- sort_by: str | None
- sort_order: SortOrder | None
- min_id: int | None
- from_date: str
- to_date: str
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class henrri_connect.customers.CustomerType(*values)[source]
Bases :
str,EnumType de client pour les clients dans l’API Henrri Connect.
Attributs - INDIVIDUAL: Client individuel. - COMPANY: Client entreprise.
- INDIVIDUAL = 'Individual'
- COMPANY = 'Company'
- class henrri_connect.customers.SyncCustomersClient(client)[source]
Bases :
objectAccès synchrone aux endpoints clients.
Arguments -
client(SyncHenrriClient) : Client HTTP.Methodes -
list_customers: Liste les clients avec pagination et filtres optionnels. -add: Crée un nouveau client. -get_best_sales: Récupère les meilleurs clients. -get_last_used: Récupère le dernier client utilisé. -get: Récupère un client par son identifiant. -modify: Met à jour un client existant. -delete: Supprime un client. -get_address: Récupère l’adresse d’un client. -list_contacts: Liste les contacts d’un client avec pagination et filtres optionnels. -add_contact: Crée un nouveau contact. -get_contact: Récupère un contact d’un client. -modify_contact: Met à jour un contact existant. -delete_contact: Supprime un contact.- list_customers(*, request, with_selected_fields=True, with_totals=False, only_current_page=True)[source]
- Overloads:
self, request (CustomerRequest), with_selected_fields (bool), with_totals (bool), only_current_page (bool) → PagedListResponse[Customer]
self, request (CustomerRequest), with_selected_fields (bool), with_totals (None), only_current_page (None)
Liste les clients avec pagination et filtres optionnels.
Arguments -
request(CustomerRequest) : Paramètres de recherche. -with_selected_fields(bool) : Si True, lance une requête de recherche avancée. -with_totals(bool) : Si True, renvoie les totaux. -only_current_page(bool) : Si True, renvoie uniquement les clients de la page actuelle.Returns -
PagedListResponse[Customer]: Liste paginée de clients.
- add(customer)[source]
Crée un nouveau client.
Arguments -
customer(Customer) : Client à créer.Returns -
Customer: Client créé.- Type renvoyé:
Customer
- get_best_sales(*, year)[source]
Récupère les meilleurs clients.
Arguments -
year(int) : Année concerne (minimum 2000, maximum 2100).Returns -
PagedListResponse[Customer]: Liste de clients.- Type renvoyé:
PagedListResponse[Customer]
- get_last_used(customer_type, limit)[source]
Récupère les derniers clients utilisés.
Arguments -
customer_type(CustomerType) : Type de client. -limit(int) : Nombre de clients maximum.Returns -
Customer: Derniers clients utilisés.- Type renvoyé:
Customer
- get(customer_id)[source]
Récupère un client par son identifiant.
Arguments -
customer_id(int) : Identifiant du client.Returns -
Customer: Client.- Type renvoyé:
Customer
- modify(customer_id, customer)[source]
Met à jour un client existant.
Arguments -
customer_id(int) : Identifiant du client. -customer(Customer) : Client à mettre à jour.Returns -
Customer: Client mis à jour.- Type renvoyé:
Customer
- delete(customer_id)[source]
Supprime un client.
Arguments -
customer_id(int) : Identifiant du client.Returns -
None- Type renvoyé:
None
- get_address(customer_id)[source]
Récupère l’adresse d’un client.
Arguments -
customer_id(int) : Identifiant du client.Returns -
Address: Adresse du client.- Type renvoyé:
Address
- list_contacts(customer_id)[source]
Liste les contacts d’un client.
Arguments -
customer_id(int) : Identifiant du client.Returns -
list[Contact]: Liste de contacts.- Type renvoyé:
list[Contact]
- add_contact(customer_id, contact)[source]
Ajoute un contact à un client.
Arguments -
customer_id(int) : Identifiant du client. -contact(Contact) : Contact à ajouter.Returns -
Contact: Contact ajouté.- Type renvoyé:
Contact
- get_contact(customer_id, contact_id)[source]
Récupère un contact d’un client.
Arguments -
customer_id(int) : Identifiant du client. -contact_id(int) : Identifiant du contact.Returns -
Contact: Contact.- Type renvoyé:
Contact
- modify_contact(customer_id, contact_id, contact)[source]
Met à jour un contact d’un client.
Arguments -
customer_id(int) : Identifiant du client. -contact_id(int) : Identifiant du contact. -contact(Contact) : Contact à mettre à jour.Returns -
Contact: Contact mis à jour.- Type renvoyé:
Contact
- delete_contact(customer_id, contact_id)[source]
Supprime un contact d’un client.
Arguments -
customer_id(int) : Identifiant du client. -contact_id(int) : Identifiant du contact.Returns -
None- Type renvoyé:
None
Documents¶
Sous-client pour les endpoints /v1/documents.
Classes:
- SyncDocumentsClient : Accès synchrone aux endpoints documents.
- AsyncDocumentsClient : Accès asynchrone aux endpoints documents.
Notes:
Utiliser de préférence les objets suivants pour acceder aux endpoints:
- henrri_connect.SyncHenrriClient
- henrri_connect.AsyncHenrriClient
- class henrri_connect.documents.AsyncDocumentsClient(client)[source]
Bases :
objectAccès asynchrone aux endpoints documents.
Arguments -
client: Objethenrri_connect.AsyncHenrriClient.Methods -
list_documents: Liste tous les documents. -add: Ajoute un document. -get: Accès au document par son ID. -get_with_all: Accès au document par son ID avec toutes ses relations incluses. -get_all_included: Accès au document par son ID avec toutes ses données incluses. -modify: Modifie un document par son ID. -delete: Supprime un document par son ID. -get_tax_details: Accès aux taxes d’un document par son ID. -validate: Valide un document. -get_pdf_url: Accès au document par son ID et son GUID. -get_pdf_bytes: Accès au document par son ID et son GUID. -get_pdf_file: Accès au document par son ID et son GUID. -get_display: Accès aux données d’affichage d’un document par son ID. -get_payment_milestones: Accès aux milestones de paiement d’un document par son ID. -finalize: Finalise un document. -transform_to_invoice: Transforme un document (devis, bon de livraison…) en facture. -get_next_code_batch: Accès au code de batch suivant. -list_with_selected_fields: Liste les documents avec sélection de champs.- async list_documents(*, request)[source]
Liste les documents avec pagination et filtres optionnels.
Arguments -
request(DocumentQuery) : Paramètres de recherche.Returns -
PagedListResponse[Document]: Liste paginée de documents.- Type renvoyé:
PagedListResponse[Document]
- async add(document)[source]
Crée un nouveau document.
Arguments -
document(Document) : Document à créer.Returns -
Document: Document créé.- Type renvoyé:
Document
- async get(doc_id)[source]
Récupère un document par son identifiant.
Arguments -
doc_id(int) : Identifiant du document.Returns -
Document: Document trouvé.- Type renvoyé:
Document
- async get_with_all(doc_id)[source]
Récupère un document avec toutes ses relations incluses.
Arguments -
doc_id(int) : Identifiant du document.Returns -
Document: Document avec toutes ses relations incluses.- Type renvoyé:
Document
- async get_all_included(doc_id)[source]
Récupère un document avec toutes ses données incluses.
Arguments -
doc_id(int) : Identifiant du document.Returns -
Document: Document avec toutes ses données incluses.- Type renvoyé:
Document
- async modify(doc_id, document)[source]
Met à jour un document existant.
Arguments -
doc_id(int) : Identifiant du document. -document(Document) : Document à mettre à jour.Returns -
Document: Document mis à jour.- Type renvoyé:
Document
- async delete(doc_id)[source]
Supprime un document.
Arguments -
doc_id(int) : Identifiant du document.- Type renvoyé:
None
- async get_tax_details(doc_id)[source]
Récupère le détail des taxes d’un document.
Arguments -
doc_id(int) : Identifiant du document.Returns -
TaxDetailArray: Détail des taxes du document.- Type renvoyé:
TaxDetailArray
- async validate(doc_id, request)[source]
Valide électroniquement un document.
Arguments -
doc_id(int) : Identifiant du document. -request(ValidateDocumentRequest) : Dossier à valider.Returns -
Document: Document validé.- Type renvoyé:
Document
- async get_pdf_url(doc_id)[source]
Génère une URL de téléchargement pour le PDF d’un document.
Arguments -
doc_id(int) : Identifiant du document.Returns -
PdfUrlResponse: URL de téléchargement du PDF du document.- Type renvoyé:
PdfUrlResponse
- async get_pdf_bytes(doc_id)[source]
Télécharge le PDF d’un document (retourne les octets bruts).
Arguments -
doc_id(int) : Identifiant du document.Returns -
bytes: Octets bruts du PDF du document.- Type renvoyé:
bytes
- async get_pdf_file(doc_id, guid)[source]
Télécharge un fichier PDF identifié par son GUID.
Arguments -
doc_id(int) : Identifiant du document. -guid(str) : GUID du fichier PDF.Returns -
bytes: Octets bruts du fichier PDF.- Type renvoyé:
bytes
- async get_display(doc_id)[source]
Récupère les données d’affichage d’un document.
Arguments -
doc_id(int) : Identifiant du document.Returns -
Document: Document avec les données d’affichage.- Type renvoyé:
Document
- async get_payment_milestones(doc_id)[source]
Récupère les jalons de paiement d’un document.
Arguments -
doc_id(int) : Identifiant du document.Returns -
ListResponse[PaymentMilestone]: Liste des jalons de paiement du document.- Type renvoyé:
ListResponse[PaymentMilestone]
- async finalize(doc_id)[source]
Finalise un document.
Arguments -
doc_id(int) : Identifiant du document.Returns -
Document: Document finalisé.- Type renvoyé:
Document
- async transform_to_invoice(doc_id)[source]
Transforme un document (devis, bon de livraison…) en facture.
Arguments -
doc_id(int) : Identifiant du document.Returns -
Document: Document transformé en facture.- Type renvoyé:
Document
- async get_next_quote_batch()[source]
Récupère le prochain numéro de lot pour un devis.
Returns -
object: Numéro de lot.- Type renvoyé:
object
- async list_with_selected_fields(*, page=1, limit=50, fields=None, **kwargs)[source]
Liste les documents avec sélection de champs.
Arguments -
page(int) : Numéro de page (par défaut 1). -limit(int) : Nombre de documents par page (par défaut 50). -fields(str | None) : Champs à retourner (par défaut None). -**kwargs(object) : Autres paramètres.Returns -
PagedListResponse[Document]: Liste de documents.- Type renvoyé:
PagedListResponse[Document]
- class henrri_connect.documents.Document(**data)[source]
Bases :
CamelModelReprésente un document dans l’API Henrri Connect.
Attributs: - id: Identifiant unique du document. - identity: Identité du document. - finalized: Indique si le document est finalisé. - type: Type du document. - document_type_id: Identifiant du type de document. - document_type: Type de document (si applicable). - title: Titre du document. - subtitle: Sous-titre du document (si applicable). - price_before_tax: Prix total avant taxe du document. - tax_amount: Montant total de la taxe du document. - price_after_tax: Prix total après taxe du document. - due_label: Libellé de l’échéance du document (si applicable). - last_modification_date: Date de dernière modification du document. - date: Date du document. - validated: Indique si le document est validé. - validation_date: Date de validation du document (si applicable). - validation_firstname: Prénom de la personne ayant validé le document (si applicable). - validation_lastname: Nom de la personne ayant validé le document (si applicable). - validation_email: E-mail de la personne ayant validé le document (si applicable). - validation_ip: IP de la personne ayant validé le document (si applicable). - lines: Liste de lignes de document associées au document (si applicable). - customer_id: Identifiant du client associé au document (si applicable). - customer: Client associé au document (si applicable). - customer_address: Adresse du client associée au document (si applicable). - user_can_validate: Indique si l’utilisateur peut valider le document. - footer_text: Texte de pied de page du document (si applicable). - bank_account_label: Libellé du compte bancaire associé au document (si applicable). - label_id: Identifiant de l’étiquette de document associée au document (si applicable). - links: Liste de liens associés au document (si applicable).
- id: int | None
- identity: str | None
- finalized: bool
- type: str | None
- document_type_id: int
- document_type: DocumentType | None
- title: str | None
- subtitle: str | None
- price_before_tax: float
- tax_amount: float
- price_after_tax: float
- due_label: str | None
- last_modification_date: datetime | None
- date: datetime | None
- validated: bool
- validation_date: datetime | None
- validation_firstname: str | None
- validation_lastname: str | None
- validation_email: str | None
- validation_ip: str | None
- lines: list[DocumentLine] | None
- customer_id: int
- customer: Customer | None
- customer_address: Address | None
- user_can_validate: bool
- footer_text: str | None
- bank_account_label: str | None
- label_id: int | None
- links: list[Link] | None
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class henrri_connect.documents.ListResponse(**data)[source]
Bases :
CamelModel,Generic[T]Réponse liste générique.
Attributs - elements: Liste d’éléments. - meta: Métadonnées de la réponse liste (si applicable).
- elements: list[T] | None
- meta: MetaListResponse | None
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class henrri_connect.documents.PagedListResponse(**data)[source]
Bases :
CamelModel,Generic[T]Réponse paginée générique.
Attributs - elements: Liste d’éléments de la page. - totals: Liste de cellules de total pour la page (si applicable). - display: Liste d’informations d’affichage pour les éléments de la page (si applicable). - meta: Métadonnées de la réponse paginée (si applicable).
- elements: list[T] | None
- totals: list[Cell] | None
- display: list[ElementDisplay] | None
- meta: MetaPagedListResponse | None
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class henrri_connect.documents.PaymentMilestone(**data)[source]
Bases :
CamelModelReprésente une étape de paiement dans l’API Henrri Connect.
Attributs: - id: Identifiant unique de l’étape de paiement. - amount: Montant de l’étape de paiement. - percentage: Pourcentage de l’étape de paiement. - due_date: Date d’échéance de l’étape de paiement. - is_paid: Indique si l’étape de paiement est payée. - document_id: Identifiant du document associé à l’étape de paiement. - payment_id: Identifiant du paiement associé à l’étape de paiement (si applicable). - links: Liste de liens associés à l’étape de paiement (si applicable).
- id: int | None
- amount: float | None
- percentage: float | None
- due_date: datetime
- is_paid: bool
- document_id: int
- payment_id: int | None
- links: list[Link] | None
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class henrri_connect.documents.PdfUrlResponse(**data)[source]
Bases :
CamelModelReprésente la réponse de l’API Henrri Connect pour une URL de PDF.
Attributs: - download_url: URL de téléchargement du PDF. - expires_at: Date d’expiration de l’URL de téléchargement du PDF. - file_name: Nom du fichier PDF (si applicable).
- download_url: str | None
- expires_at: datetime | None
- file_name: str | None
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class henrri_connect.documents.TaxDetailArray(**data)[source]
Bases :
CamelModelReprésente un tableau de détails de taxe dans l’API Henrri Connect.
Attributs: - tax_detail_array: Liste des détails de taxe. - document_id: Identifiant du document associé aux détails de taxe. - links: Liste de liens associés au tableau de détails de taxe (si applicable).
- tax_detail_array: list[TaxDetail] | None
- document_id: str | None
- links: list[Link] | None
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class henrri_connect.documents.ValidateDocumentRequest(**data)[source]
Bases :
CamelModelReprésente une requête de validation de document dans l’API Henrri Connect.
Attributs: - email: Adresse e-mail de la personne validant le document. - first_name: Prénom de la personne validant le document. - last_name: Nom de la personne validant le document. - validation_date: Date de validation du document. - time_offset: Décalage horaire par rapport à UTC. - ip: Adresse IP de la personne validant le document.
- email: str
- first_name: str
- last_name: str
- validation_date: str
- time_offset: int
- ip: str
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class henrri_connect.documents.SyncDocumentsClient(client)[source]
Bases :
objectAccès synchrone aux endpoints documents.
Arguments -
client: Objethenrri_connect.AsyncHenrriClient.Methods -
list_documents: Liste tous les documents. -add: Ajoute un document. -get: Accès au document par son ID. -get_with_all: Accès au document par son ID avec toutes ses relations incluses. -get_all_included: Accès au document par son ID avec toutes ses données incluses. -modify: Modifie un document par son ID. -delete: Supprime un document par son ID. -get_tax_details: Accès aux taxes d’un document par son ID. -validate: Valide un document. -get_pdf_url: Accès au document par son ID et son GUID. -get_pdf_bytes: Accès au document par son ID et son GUID. -get_pdf_file: Accès au document par son ID et son GUID. -get_display: Accès aux données d’affichage d’un document par son ID. -get_payment_milestones: Accès aux milestones de paiement d’un document par son ID. -finalize: Finalise un document. -transform_to_invoice: Transforme un document (devis, bon de livraison…) en facture. -get_next_code_batch: Accès au code de batch suivant. -list_with_selected_fields: Liste les documents avec sélection de champs.- list_documents(*, request)[source]
Liste les documents avec pagination et filtres optionnels.
Arguments -
request(DocumentQuery) : Paramètres de recherche.Returns -
PagedListResponse[Document]: Liste paginée de documents.- Type renvoyé:
PagedListResponse[Document]
- add(document)[source]
Crée un nouveau document. Les champs unset ou None du document sont exclus de la requête.
Args - document (Document) : Document à créer.
Returns - Document: Le document créé avec les données retournées par l’API.
Raises - HTTPError: Si la requête échoue (code de statut 4xx ou 5xx).
- Type renvoyé:
Document
- get(doc_id)[source]
Récupère un document par son identifiant.
Arguments - doc_id (int) : Identifiant du document à reafficher.
Returns - Document: Le document retourné par l’API.
Raises - HTTPError: Si la requête échoue (code de statut 4xx ou 5xx).
- Type renvoyé:
Document
- get_with_all(doc_id)[source]
Récupère un document avec toutes ses relations incluses.
Arguments - doc_id (int) : Identifiant du document à reafficher.
Returns - Document: Le document retourné par l’API.
- Type renvoyé:
Document
- get_all_included(doc_id)[source]
Récupère un document avec toutes ses données incluses.
Arguments - doc_id (int) : Identifiant du document à reafficher.
Returns - Document: Le document retourné par l’API.
- Type renvoyé:
Document
- modify(doc_id, document)[source]
Met à jour un document existant.
Arguments - doc_id (int) : Identifiant du document à mettre à jour. - document (Document) : Document à mettre à jour.
Returns - Document: Le document mis à jour par l’API.
- Type renvoyé:
Document
- delete(doc_id)[source]
Supprime un document.
Arguments - doc_id (int) : Identifiant du document à supprimer.
- Type renvoyé:
None
- get_tax_details(doc_id)[source]
Récupère le détail des taxes d’un document.
Arguments - doc_id (int) : Identifiant du document.
Returns - TaxDetailArray: Le détail des taxes retourné par l’API.
- Type renvoyé:
TaxDetailArray
- validate(doc_id, request)[source]
Valide électroniquement un document.
Arguments - doc_id (int) : Identifiant du document à valider. - request (ValidateDocumentRequest) : La requête de validation du document.
Returns - Document: Le document validé par l’API.
- Type renvoyé:
Document
- get_pdf_url(doc_id)[source]
Génère une URL de téléchargement pour le PDF d’un document.
Arguments - doc_id (int) : Identifiant du document.
Returns - PdfUrlResponse: L’URL de téléchargement du PDF retourné par l’API.
- Type renvoyé:
PdfUrlResponse
- get_pdf_bytes(doc_id)[source]
Télécharge le PDF d’un document (retourne les octets bruts).
Arguments - doc_id (int) : Identifiant du document.
Returns - bytes: Les octets bruts du PDF retourné par l’API.
- Type renvoyé:
bytes
- get_pdf_file(doc_id, guid)[source]
Télécharge un fichier PDF identifié par son GUID.
Arguments - doc_id (int) : Identifiant du document. - guid (str) : GUID du fichier PDF.
Returns - bytes: Les octets bruts du fichier PDF retourné par l’API.
- Type renvoyé:
bytes
- get_display(doc_id)[source]
Récupère les données d’affichage d’un document.
Arguments - doc_id (int) : Identifiant du document.
Returns - Document: Les données d’affichage du document retourné par l’API.
- Type renvoyé:
Document
- get_payment_milestones(doc_id)[source]
Récupère les jalons de paiement d’un document.
Arguments - doc_id (int) : Identifiant du document.
Returns - ListResponse[PaymentMilestone]: La liste des jalons de paiement du document retourné par l’API.
- Type renvoyé:
ListResponse[PaymentMilestone]
- finalize(doc_id)[source]
Finalise un document.
Arguments - doc_id (int) : Identifiant du document à finaliser.
Returns - Document: Le document finalisé par l’API.
- Type renvoyé:
Document
- transform_to_invoice(doc_id)[source]
Transforme un document (devis, bon de livraison…) en facture.
Arguments - doc_id (int) : Identifiant du document à transformer en facture.
Returns - Document: Le document transformé en facture par l’API.
- Type renvoyé:
Document
- get_next_quote_batch()[source]
Récupère le prochain numéro de lot pour un devis.
Returns - object: Le numéro de lot retourné par l’API.
- Type renvoyé:
object
- list_with_selected_fields(*, page=1, limit=50, fields=None, **kwargs)[source]
Liste les documents avec sélection de champs.
Arguments - page (int) : Numéro de page. - limit (int) : Nombre d’articles par page. - fields (str | None) : Champs à retourner.
Returns - PagedListResponse[Document]: La liste des documents retourné par l’API.
- Type renvoyé:
PagedListResponse[Document]
Lignes de document¶
Sous-client pour les endpoints /v1/document-lines.
Classes:
- SyncDocumentLinesClient : Accès synchrone aux endpoints lignes de documents.
- AsyncDocumentLinesClient : Accès asynchrone aux endpoints lignes de documents.
Notes:
Utiliser de préférence les objets suivants pour acceder aux endpoints:
- henrri_connect.SyncHenrriClient
- henrri_connect.AsyncHenrriClient
- class henrri_connect.document_lines.AsyncDocumentLinesClient(client)[source]
Bases :
objectAccès asynchrone aux lignes de document.
Arguments -
client: Objethenrri_connect.AsyncHenrriClient.Methods -
list_document_lines: Liste les lignes d’un document. -add: Ajoute une ligne à un document. -get: Récupère une ligne de document par son identifiant. -modify: Modifie une ligne de document par son identifiant. -delete: Supprime une ligne de document par son identifiant. -move: Déplace une ligne vers une position donnée.- async list_document_lines(document_id, query_params=None)[source]
Liste les lignes d’un document.
Arguments -
document_id(int) : Identifiant du document (min 1 et max 2 147 483 647). -query_params(DocumentLineListQueryParameters, optional) : Paramètres de requête.Returns -
ListResponse[DocumentLine]: Liste de lignes de document.- Type renvoyé:
ListResponse[DocumentLine]
- async add(document_id, line)[source]
Ajoute une ligne à un document.
Arguments -
document_id: Identifiant du document. -line: Ligne de document.Returns -
DocumentLine: Ligne de document ajoutée.- Type renvoyé:
DocumentLine
- async get(document_id, line_id)[source]
Récupère une ligne de document par son identifiant.
Arguments -
document_id: Identifiant du document. -line_id: Identifiant de la ligne de document.Returns -
DocumentLine: Ligne de document.- Type renvoyé:
DocumentLine
- async modify(document_id, line_id, line)[source]
Met à jour une ligne de document.
Arguments -
document_id: Identifiant du document. -line_id: Identifiant de la ligne de document. -line: Ligne de document.Returns -
DocumentLine: Ligne de document modifiée.- Type renvoyé:
DocumentLine
- async delete(document_id, line_id)[source]
Supprime une ligne de document.
Arguments -
document_id: Identifiant du document. -line_id: Identifiant de la ligne de document.Returns -
None- Type renvoyé:
None
- async move(document_id, line_id, to)[source]
Déplace une ligne vers une position donnée.
Arguments -
document_id: Identifiant du document. -line_id: Identifiant de la ligne de document. -to: Position de destination.Returns -
None- Type renvoyé:
None
- class henrri_connect.document_lines.DocumentLine(**data)[source]
Bases :
CamelModelReprésente une ligne de document dans l’API Henrri Connect.
type_idpeut être récupéré par un GET sur/documentlinetypesou avechenrry_connect.<client>.document_line_types.list_document_line_typesAttributs: - id: Identifiant unique de la ligne de document. - document_id: Identifiant du document auquel appartient la ligne. - reference: Référence de la ligne de document. - description: Description de la ligne de document. - selling_price_without_tax: Prix de vente sans taxe de la ligne de document. - purchasing_price_without_tax: Prix d’achat sans taxe de la ligne de document. - vat_percent: Pourcentage de TVA appliqué à la ligne de document. - quantity: Quantité de l’article dans la ligne de document. - is_tax_included: Indique si les prix incluent la taxe. - total_without_tax: Total sans taxe pour la ligne de document. - total_with_tax: Total avec taxe pour la ligne de document. - are_elements_of_group_shown: Indique si les éléments du groupe sont affichés. - line_number: Numéro de la ligne dans le document. - is_a_group: Indique si la ligne est un groupe d’articles. - does_group_own_different_vat: Indique si le groupe a une TVA différente pour ses éléments. - is_member_of_a_group: Indique si la ligne est membre d’un groupe d’articles. - is_adjustment_of_group: Indique si la ligne est un ajustement d’un groupe d’articles. - type_id: Identifiant du type de ligne de document. - type: Type de ligne de document (si applicable). - group_id: Identifiant du groupe d’articles auquel appartient la ligne (si applicable). - item_id: Identifiant de l’article associé à la ligne (si applicable). - item: Article associé à la ligne (si applicable). - links: Liste de liens associés à la ligne de document (si applicable).
- id: int | None
- document_id: int | None
- reference: str | None
- description: str | None
- selling_price_without_tax: float | None
- purchasing_price_without_tax: float
- vat_percent: float | None
- quantity: float
- is_tax_included: bool
- total_without_tax: float | None
- total_with_tax: float | None
- are_elements_of_group_shown: bool
- line_number: int | None
- is_a_group: bool
- does_group_own_different_vat: bool
- is_member_of_a_group: bool
- is_adjustment_of_group: bool
- type_id: int
- type: DocumentLineType | None
- group_id: int | None
- item_id: int | None
- item: Item | None
- links: list[Link] | None
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class henrri_connect.document_lines.DocumentLineListQueryParameters(**data)[source]
Bases :
CamelModelReprésente les paramètres de requête pour obtenir une liste de lignes de document dans l’API Henrri Connect.
Attributs: - document_id: Identifiant du document auquel appartient la ligne.
- page: int
- limit: int
- search: str | None
- sort_by: str | None
- sort_order: SortOrder | None
- minId: int
- from_date: str
- to_date: str
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class henrri_connect.document_lines.ListResponse(**data)[source]
Bases :
CamelModel,Generic[T]Réponse liste générique.
Attributs - elements: Liste d’éléments. - meta: Métadonnées de la réponse liste (si applicable).
- elements: list[T] | None
- meta: MetaListResponse | None
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class henrri_connect.document_lines.SyncDocumentLinesClient(client)[source]
Bases :
objectAccès synchrone aux lignes de document.
Arguments -
client: Objethenrri_connect.SyncHenrriClient.Methods -
list_document_lines: Liste les lignes d’un document. -add: Ajoute une ligne à un document. -get: Récupère une ligne de document par son identifiant. -modify: Met à jour une ligne de document. -delete: Supprime une ligne de document. -move: Déplace une ligne vers une position donnée.- list_document_lines(document_id, query_params=None)[source]
Liste les lignes d’un document.
Arguments -
document_id(int) : Identifiant du document (min 1 et max 2 147 483 647). -query_params(DocumentLineListQueryParameters, optional) : Paramètres de requête.Returns -
ListResponse[DocumentLine]: Liste de lignes de document.- Type renvoyé:
ListResponse[DocumentLine]
- add(document_id, line)[source]
Ajoute une ligne à un document.
Arguments -
document_id: Identifiant du document. -line: Ligne de document.Returns -
DocumentLine: Ligne de document ajoutée.- Type renvoyé:
DocumentLine
- get(document_id, line_id)[source]
Récupère une ligne de document par son identifiant.
Arguments -
document_id: Identifiant du document. -line_id: Identifiant de la ligne de document.Returns -
DocumentLine: Ligne de document.- Type renvoyé:
DocumentLine
- modify(document_id, line_id, line)[source]
Met à jour une ligne de document.
Arguments -
document_id: Identifiant du document. -line_id: Identifiant de la ligne de document. -line: Ligne de document.Returns -
DocumentLine: Ligne de document modifiée.- Type renvoyé:
DocumentLine
- delete(document_id, line_id)[source]
Supprime une ligne de document.
Arguments -
document_id: Identifiant du document. -line_id: Identifiant de la ligne de document.Returns -
None- Type renvoyé:
None
- move(document_id, line_id, to)[source]
Déplace une ligne vers une position donnée.
Arguments -
document_id: Identifiant du document. -line_id: Identifiant de la ligne de document. -to: Position de destination.Returns -
None- Type renvoyé:
None
Types de document¶
Sous-client pour les endpoints /v1/documenttypes.
Classes:
- SyncDocumentTypesClient : Accès synchrone aux endpoints types de documents.
- AsyncDocumentTypesClient : Accès asynchrone aux endpoints types de documents.
Notes:
Utiliser de préférence les objets suivants pour acceder aux endpoints:
- henrri_connect.SyncHenrriClient
- henrri_connect.AsyncHenrriClient
- class henrri_connect.document_types.AsyncDocumentTypesClient(client)[source]
Bases :
objectAccès asynchrone aux types de documents.
Arguments -
client: Objethenrri_connect.AsyncHenrriClient.Methods -
list_document_types: Liste tous les types de documents.- async list_document_types()[source]
Liste tous les types de documents.
Arguments -
NoneReturns -
ListResponse[DocumentType]: Liste de types de documents.- Type renvoyé:
ListResponse[DocumentType]
- class henrri_connect.document_types.DocumentType(**data)[source]
Bases :
CamelModelReprésente un type de document dans l’API Henrri Connect.
Attributs: - id: Identifiant unique du type de document. - label: Libellé du type de document. - short_label: Libellé court du type de document. - document_kind: Type de document. - is_accounting: Indique si le type de document est comptable.
- id: int | None
- label: str | None
- short_label: str | None
- document_kind: str
- is_accounting: bool
- is_managed: bool
- is_mandatory: bool
- is_visible: bool
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class henrri_connect.document_types.ListResponse(**data)[source]
Bases :
CamelModel,Generic[T]Réponse liste générique.
Attributs - elements: Liste d’éléments. - meta: Métadonnées de la réponse liste (si applicable).
- elements: list[T] | None
- meta: MetaListResponse | None
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class henrri_connect.document_types.SyncDocumentTypesClient(client)[source]
Bases :
objectAccès synchrone aux types de documents.
Arguments -
client: Objethenrri_connect.SyncHenrriClient.Methods -
list_document_types: Liste tous les types de documents.- list_document_types()[source]
Liste tous les types de documents.
Arguments -
NoneReturns -
ListResponse[DocumentType]: Liste de types de documents.- Type renvoyé:
ListResponse[DocumentType]
Types de ligne de document¶
Sous-client pour les endpoints /v1/document-line-types.
Classes:
- SyncDocumentLineTypesClient : Accès synchrone aux endpoints types de lignes de documents.
- AsyncDocumentLineTypesClient : Accès asynchrone aux endpoints types de lignes de documents.
Notes:
Utiliser de préférence les objets suivants pour acceder aux endpoints:
- henrri_connect.SyncHenrriClient
- henrri_connect.AsyncHenrriClient
- class henrri_connect.document_line_types.AsyncDocumentLineTypesClient(client)[source]
Bases :
objectAccès asynchrone aux types de lignes de document.
Arguments -
client: Objethenrri_connect.AsyncHenrriClient.Methods -
list_document_line_types: Liste tous les types de lignes de document.- async list_document_line_types()[source]
Liste tous les types de lignes de document.
Arguments -
NoneReturns -
ListResponse[DocumentLineType]: Liste de types de lignes de document.- Type renvoyé:
ListResponse[DocumentLineType]
- class henrri_connect.document_line_types.DocumentLineType(**data)[source]
Bases :
CamelModelReprésente un type de ligne de document dans l’API Henrri Connect.
Attributs: - id: Identifiant unique du type de ligne de document. - label: Libellé du type de ligne de document. - type: Type de ligne de document.
- id: int | None
- label: str | None
- type: str
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class henrri_connect.document_line_types.ListResponse(**data)[source]
Bases :
CamelModel,Generic[T]Réponse liste générique.
Attributs - elements: Liste d’éléments. - meta: Métadonnées de la réponse liste (si applicable).
- elements: list[T] | None
- meta: MetaListResponse | None
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class henrri_connect.document_line_types.SyncDocumentLineTypesClient(client)[source]
Bases :
objectAccès synchrone aux types de lignes de document.
Arguments -
client: Objethenrri_connect.SyncHenrriClient.Methods -
list_document_line_types: Liste tous les types de lignes de document.- list_document_line_types()[source]
Liste tous les types de lignes de document.
Arguments -
NoneReturns -
ListResponse[DocumentLineType]: Liste de types de lignes de document.- Type renvoyé:
ListResponse[DocumentLineType]
Articles¶
Sous-client pour les endpoints /v1/items.
Classes:
- henrri_connect.items.asynchro.AsyncItemsClient : Accès asynchrone aux endpoints articles.
- henrri_connect.items.synchro.SyncItemsClient : Accès synchrone aux endpoints articles.
Notes:
- Utiliser de préférence l’objet henrri_connect.SyncHenrriClient pour acceder aux endpoints.
- Utiliser de préférence l’objet henrri_connect.AsyncHenrriClient pour acceder aux endpoints.
- class henrri_connect.items.AsyncItemsClient(client)[source]
Bases :
objectAccès asynchrone aux endpoints articles.
Arguments -
client: Objethenrri_connect.AsyncHenrriClientpour acceder aux endpoints.Methods -
list_items: Liste les articles avec pagination et filtres optionnels. -add: Crée un nouvel article. -get: Récupère un article par son identifiant. -modify: Modifie un article par son identifiant. -delete: Supprime un article par son identifiant. -get_most_used: Récupère les articles les plus utilisés. -get_best_sales: Récupère les articles les plus vendus. -list_with_selected_fields: Liste les articles avec sélection de champs.- async list_items(*, request, with_selected_fields=True, with_totals=False, only_current_page=True)[source]
- Overloads:
self, request (ItemsQuery), with_selected_fields (bool), with_totals (bool), only_current_page (bool) → PagedListResponse[Item]
self, request (ItemsQuery), with_selected_fields (bool), with_totals (None), only_current_page (None) → PagedListResponse[Item]
Liste les articles avec pagination et filtres optionnels.
Arguments -
request(ItemsQuery) : Paramètres de recherche. -with_selected_fields(bool) : Si True, lance une requête de recherche avancée. -with_totals(bool) : Si True, renvoie les totaux. -only_current_page(bool) : Si True, renvoie uniquement les articles de la page actuelle.Returns -
PagedListResponse[Item]: Liste paginée d’articles.
- async add(item)[source]
Crée un nouvel article.
Arguments -
item(Item) : Article à créer.Returns -
Item: Article créé.- Type renvoyé:
Item
- async get(item_id)[source]
Récupère un article par son identifiant.
Arguments -
item_id(int) : Identifiant de l’article.Returns -
Item: Article trouvé.- Type renvoyé:
Item
- async modify(item_id, item)[source]
Met à jour un article existant.
Arguments -
item_id(int) : Identifiant de l’article. -item(Item) : Article à mettre à jour.Returns -
Item: Article mis à jour.- Type renvoyé:
Item
- async delete(item_id)[source]
Supprime un article.
Arguments -
item_id(int) : Identifiant de l’article à supprimer.Returns -
None: Article supprimé.- Type renvoyé:
None
- async get_most_used()[source]
Récupère les articles les plus utilisés.
Arguments - None
Returns -
PagedListResponse[Item]: Liste paginée d’articles.- Type renvoyé:
PagedListResponse[Item]
- async get_best_sales(*, year)[source]
Récupère les articles les plus vendus.
Arguments -
year(int) : Année de recherche.Returns -
PagedListResponse[Item]: Liste paginée d’articles.- Type renvoyé:
PagedListResponse[Item]
- class henrri_connect.items.Item(**data)[source]
Bases :
CamelModelReprésente un article dans l’API Henrri Connect.
Attributs: - id: Identifiant unique de l’article. - reference: Référence de l’article. - description: Description de l’article. - is_tax_included: Indique si la taxe est incluse dans le prix. - selling_price_without_tax: Prix de vente hors taxe de l’article. - selling_price_with_tax: Prix de vente TTC de l’article. - purchase_price: Prix d’achat de l’article. - vat_percent: Taux de TVA de l’article. - is_a_group: Indique si l’article est un groupe d’articles. - item_category: Catégorie de l’article (si applicable). - item_category_id: Identifiant de la catégorie de l’article (si applicable). - unit_id: Identifiant de l’unité de l’article (si applicable). - parent_item_id: Id d’article parent si l’article est un élément d’un grp d’articles (si applicable). - creation_date: Date de création de l’article. - links: Liste de liens associés à l’article (si applicable).
- id: int | None
- reference: str | None
- description: str | None
- is_tax_included: bool
- selling_price_without_tax: float | None
- selling_price_with_tax: float | None
- purchase_price: float
- vat_percent: float
- is_a_group: bool
- item_category: ItemCategory | None
- item_category_id: int | None
- unit_id: int | None
- parent_item_id: int | None
- creation_date: str
- links: list[Link] | None
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class henrri_connect.items.ItemsQuery(**data)[source]
Bases :
CamelModelReprésente une requête de catégorie d’article dans l’API Henrri Connect.
Attributs: - page (int) : Index de la page de la requête (entre 1 et 2 147 483 647, defaut 1). - limit (int) : Nombre d’articles par page (entre 1 et 100, défaut 50). - search (str) : Chaine de recherche. - sort_by (str) : Champ de tri. - sort_order (SortOrder) : Ordre de tri (Ascending ou Descending). - min_id (int) : Identifiant minimal de l’article (entre 1 et 2 147 483 647). - from_date (str) : Date de début. - to_date (str) : Date de fin.
- page: int
- limit: int
- search: str | None
- sort_by: str | None
- sort_order: SortOrder | None
- min_id: int
- from_date: str
- to_date: str
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class henrri_connect.items.PagedListResponse(**data)[source]
Bases :
CamelModel,Generic[T]Réponse paginée générique.
Attributs - elements: Liste d’éléments de la page. - totals: Liste de cellules de total pour la page (si applicable). - display: Liste d’informations d’affichage pour les éléments de la page (si applicable). - meta: Métadonnées de la réponse paginée (si applicable).
- elements: list[T] | None
- totals: list[Cell] | None
- display: list[ElementDisplay] | None
- meta: MetaPagedListResponse | None
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class henrri_connect.items.SyncItemsClient(client)[source]
Bases :
objectAccès synchrone aux endpoints articles.
Arguments -
client: Objethenrri_connect.SyncHenrriClientpour acceder aux endpoints.Methods -
list_items: Liste les articles avec pagination et filtres optionnels. -add: Crée un nouvel article. -get: Récupère un article par son identifiant. -modify: Modifie un article par son identifiant. -delete: Supprime un article par son identifiant. -get_most_used: Récupère les articles les plus utilisés. -get_best_sales: Récupère les articles les plus vendus. -list_with_selected_fields: Liste les articles avec sélection de champs.- list_items(*, request, with_selected_fields=True, with_totals=False, only_current_page=True)[source]
- Overloads:
self, request (ItemsQuery), with_selected_fields (bool), with_totals (bool), only_current_page (bool) → PagedListResponse[Item]
self, request (ItemsQuery), with_selected_fields (bool), with_totals (None), only_current_page (None) → PagedListResponse[Item]
Liste les articles avec pagination et filtres optionnels.
Arguments -
request(ItemsQuery) : Paramètres de recherche. -with_selected_fields(bool) : Si True, lance une requête de recherche avancée. -with_totals(bool) : Si True, renvoie les totaux. -only_current_page(bool) : Si True, renvoie uniquement les articles de la page actuelle.Returns -
PagedListResponse[Item]: Liste paginée d’articles.
- add(item)[source]
Crée un nouvel article.
Arguments -
item(Item) : Article à créer.Returns -
Item: Article créé.- Type renvoyé:
Item
- get(item_id)[source]
Récupère un article par son identifiant.
Arguments -
item_id(int) : Identifiant de l’article.Returns -
Item: Article rencontré.- Type renvoyé:
Item
- modify(item_id, item)[source]
Met à jour un article existant.
Arguments -
item_id(int) : Identifiant de l’article. -item(Item) : Article à mettre à jour.Returns -
Item: Article mis à jour.- Type renvoyé:
Item
- delete(item_id)[source]
Supprime un article.
Arguments -
item_id(int) : Identifiant de l’article à supprimer.Returns -
None: Article supprimé.- Type renvoyé:
None
- get_most_used()[source]
Récupère les articles les plus utilisés.
Arguments - None
Returns -
PagedListResponse[Item]: Liste paginée d’articles.- Type renvoyé:
PagedListResponse[Item]
- get_best_sales(*, year)[source]
Récupère les articles les plus vendus.
Arguments -
year(int) : Année de recherche.Returns -
PagedListResponse[Item]: Liste paginée d’articles.- Type renvoyé:
PagedListResponse[Item]
Catégories d’articles¶
Sous-client pour les endpoints /v1/item-categories.
Classes:
- henrri_connect.item_categories.synchro.SyncItemCategoriesClient :
Accès synchrone aux endpoints categories d’articles.
AsyncItemCategoriesClient: Accès asynchrone aux endpoints categories d’articles.
Notes:
- Utiliser de préférence l’objet henrri_connect.SyncHenrriClient pour acceder aux endpoints.
- Utiliser de préférence l’objet henrri_connect.AsyncHenrriClient pour acceder aux endpoints.
- class henrri_connect.item_categories.SyncItemCategoriesClient(client)[source]
Bases :
objectAccès synchrone aux catégories d’articles.
Arguments -
client: Objethenrri_connect.SyncHenrriClientpour acceder aux endpoints.Methodes -
list_item_categories: Liste les catégories d’articles avec pagination.- list_item_categories(*, request)[source]
Liste les catégories d’articles avec pagination.
Arguments -
request(ItemCategoryRequest) : Paramètres de recherche.Returns -
PagedListResponse[ItemCategory]: Liste paginée de catégories d’articles.- Type renvoyé:
PagedListResponse[ItemCategory]
- class henrri_connect.item_categories.AsyncItemCategoriesClient(client)[source]
Bases :
objectAccès asynchrone aux catégories d’articles.
Arguments -
client: Objethenrri_connect.AsyncHenrriClientpour acceder aux endpoints.Methodes -
list_item_categories: Liste les catégories d’articles avec pagination.- async list_item_categories(*, request)[source]
Liste les catégories d’articles avec pagination.
Arguments -
request(ItemCategoryRequest) : Paramètres de recherche.Returns -
PagedListResponse[ItemCategory]: Liste paginée de catégories d’articles.- Type renvoyé:
PagedListResponse[ItemCategory]
Revenus¶
Sous-client pour les endpoints /v1/revenues.
Classes:
- henrri_connect.revenues.synchro.SyncRevenuesClient : Accès synchrone aux endpoints revenus.
- henrri_connect.revenues.asynchro.AsyncRevenuesClient : Accès asynchrone aux endpoints revenus.
Notes:
- Utiliser de préférence l’objet henrri_connect.SyncHenrriClient pour acceder aux endpoints.
- Utiliser de préférence l’objet henrri_connect.AsyncHenrriClient pour acceder aux endpoints.
- class henrri_connect.revenues.AsyncRevenuesClient(client)[source]
Bases :
objectAccès asynchrone aux statistiques de revenus.
Parameters: -
client(AsyncHenrriClient) : Client HTTP.Methods: -
get_annual(self, year: int): Récupère les statistiques de revenus annuelles. -get_monthly(self, year: int): Récupère les statistiques de revenus mensuelles pour une année.- async get_annual(year)[source]
Récupère les statistiques de revenus annuelles.
Arguments: -
year(int) : Année de recherche.Returns: -
RevenueStatistics: Statistiques de revenus annuelles.- Type renvoyé:
RevenueStatistics
- async get_monthly(year)[source]
Récupère les statistiques de revenus mensuelles pour une année.
Arguments: -
year(int) : Année de recherche.Returns: -
list[MonthlyRevenueStatistics]: Statistiques de revenus mensuelles.- Type renvoyé:
list[MonthlyRevenueStatistics]
- class henrri_connect.revenues.MonthlyRevenueStatistics(**data)[source]
Bases :
CamelModelReprésente les statistiques de revenus mensuels dans l’API Henrri Connect.
Attributs: - month: Mois des statistiques. - year: Année des statistiques. - total_services_revenue: Revenu total des services. - total_products_revenue: Revenu total des produits. - total_products_margin: Marge totale sur les produits. - total_service_hours: Nombre total d’heures de service.
- month: int
- year: int
- total_services_revenue: float
- total_products_revenue: float
- total_products_margin: float
- total_service_hours: float
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class henrri_connect.revenues.RevenueStatistics(**data)[source]
Bases :
CamelModelReprésente les statistiques de revenus dans l’API Henrri Connect.
Attributs: - year: Année des statistiques. - total_services_revenue: Revenu total des services. - total_products_revenue: Revenu total des produits. - total_products_margin: Marge totale sur les produits. - total_service_hours: Nombre total d’heures de service.
- year: int
- total_services_revenue: float
- total_products_revenue: float
- total_products_margin: float
- total_service_hours: float
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class henrri_connect.revenues.SyncRevenuesClient(client)[source]
Bases :
objectAccès synchrone aux statistiques de revenus.
Parameters: -
client(SyncHenrriClient) : Client HTTP.Methods: -
get_annual(self, year: int): Récupère les statistiques de revenus annuelles. -get_monthly(self, year: int): Récupère les statistiques de revenus mensuelles pour une année.- get_annual(year)[source]
Récupère les statistiques de revenus annuelles.
Arguments: -
year(int) : Année de recherche.Returns: -
RevenueStatistics: Statistiques de revenus annuelles.- Type renvoyé:
RevenueStatistics
- get_monthly(year)[source]
Récupère les statistiques de revenus mensuelles pour une année.
Arguments: -
year(int) : Année de recherche.Returns: -
list[MonthlyRevenueStatistics]: Statistiques de revenus mensuelles.- Type renvoyé:
list[MonthlyRevenueStatistics]
Unités¶
Sous-client pour les endpoints /v1/units.
Classes:
- henrri_connect.units.asynchro.AsyncUnitsClient : Accès asynchrone aux endpoints unités.
- henrri_connect.units.synchro.SyncUnitsClient : Accès synchrone aux endpoints unités.
Notes:
- Utiliser de préférence l’objet henrri_connect.AsyncHenrriClient pour acceder aux endpoints.
- Utiliser de préférence l’objet henrri_connect.SyncHenrriClient pour acceder aux endpoints.
- class henrri_connect.units.AsyncUnitsClient(client)[source]
Bases :
objectAccès asynchrone aux unités.
Arugments - client (AsyncHenrriClient) : Client asynchrone pour acceder aux endpoints.
Methods - list_units() : Liste toutes les unités disponibles. - add(unit: Unit) : Crée une nouvelle unité. - get(unit_id: int) : Récupère une unité par son identifiant.
- async list_units()[source]
Liste toutes les unités disponibles.
Arguments -
NoneReturns -
ListResponse[Unit]: Liste de unités.- Type renvoyé:
ListResponse[Unit]
- async add(unit)[source]
Crée une nouvelle unité.
Arguments -
unit: Unit: Unité à crée.Returns -
Unit: Unité crée.- Type renvoyé:
Unit
- async get(unit_id)[source]
Récupère une unité par son identifiant.
Arguments -
unit_id(int) : Identifiant de l’unité.Returns -
Unit: Unité.- Type renvoyé:
Unit
- class henrri_connect.units.ListResponse(**data)[source]
Bases :
CamelModel,Generic[T]Réponse liste générique.
Attributs - elements: Liste d’éléments. - meta: Métadonnées de la réponse liste (si applicable).
- elements: list[T] | None
- meta: MetaListResponse | None
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class henrri_connect.units.SyncUnitsClient(client)[source]
Bases :
objectAccès synchrone aux unités.
Arguments - client (SyncHenrriClient) : Client synchrone pour acceder aux endpoints.
Methods - list_units() : Liste toutes les unités disponibles. - add(unit: Unit) : Crée une nouvelle unité. - get(unit_id: int) : Récupère une unité par son identifiant.
- list_units()[source]
Liste toutes les unités disponibles.
Arguments -
NoneReturns -
ListResponse[Unit]: Liste de unités.- Type renvoyé:
ListResponse[Unit]
- add(unit)[source]
Crée une nouvelle unité.
Arguments -
unit: Unit: Unité à crée.Returns -
Unit: Unité crée.- Type renvoyé:
Unit
- get(unit_id)[source]
Récupère une unité par son identifiant.
Arguments -
unit_id(int) : Identifiant de l’unité.Returns -
Unit: Unité.- Type renvoyé:
Unit
- class henrri_connect.units.Unit(**data)[source]
Bases :
CamelModelReprésente une unité dans l’API Henrri Connect.
Attributs: - id: Identifiant de l’unité. - name: Nom de l’unité. - unit_kind: Type de l’unité. - links: Liens associés à l’unité.
- id: int | None
- name: str
- unit_kind: UnitKind | None
- links: list[Link] | None
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
Utilisateurs¶
Sous-client pour les endpoints /v1/users.
Classes:
- henrri_connect.users.asynchro.AsyncUsersClient : Accès asynchrone aux endpoints utilisateurs.
- henrri_connect.users.synchro.SyncUsersClient : Accès synchrone aux endpoints utilisateurs.
Notes:
- Utiliser de préférence l’objet henrri_connect.AsyncHenrriClient pour acceder aux endpoints.
- Utiliser de préférence l’objet henrri_connect.SyncHenrriClient pour acceder aux endpoints.
- class henrri_connect.users.Address(**data)[source]
Bases :
CamelModelReprésente une adresse d’entreprise.
Attributs: - id: Identifiant unique de l’adresse. - address: Adresse de l’entreprise. - city: Ville de l’entreprise. - post_code: Code postal de l’entreprise. - country: Pays de l’entreprise. - is_post_code_shared: Indique si le code postal est partagé avec d’autres adresses. - links: Liste de liens associés à l’adresse (si applicable).
- id: int | None
- address: str | None
- city: str | None
- post_code: str | None
- country: str | None
- is_post_code_shared: bool
- links: list[Link] | None
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class henrri_connect.users.AsyncUsersClient(client)[source]
Bases :
objectAccès asynchrone aux endpoints utilisateurs.
Arguments - client (AsyncHenrriClient) : Client asynchrone pour acceder aux endpoints.
Methods - get(user_id: int) : Récupère un utilisateur par son identifiant. - get_address(user_id: int) : Récupère l’adresse d’un utilisateur. - get_companies() : Récupère les entreprises associées à l’utilisateur courant. - authenticate() : Authentifie via les identifiants du client. - refresh_token(refresh_token: str) : Rafraîchit le token d’accès.
- async get(user_id)[source]
Récupère un utilisateur par son identifiant.
Arguments -
user_id(int) : Identifiant de l’utilisateur.Returns -
User: Utilisateur.- Type renvoyé:
User
- async get_address(user_id)[source]
Récupère l’adresse d’un utilisateur.
Arguments: -
user_id(int) : Identifiant de l’utilisateur.Returns: -
henrri_connect.models.Address: Adresse de l’utilisateur.- Type renvoyé:
Address
- async get_companies()[source]
Récupère les entreprises associées à l’utilisateur courant.
Returns: -
list[UserAndCompany]: Entreprises.- Type renvoyé:
list[UserAndCompany]
- async authenticate()[source]
Authentifie via les identifiants du client.
Returns: -
henrri_connect.models.TokenResponse: Objet contenant access_token et refresh_token.- Type renvoyé:
TokenResponse
- async refresh_token(refresh_token)[source]
Rafraîchit le token d’accès.
Arguments: -
refresh_token(str) : Token de rafraîchissement.Returns: -
henrri_connect.models.TokenResponse: Objet contenant access_token et refresh_token.- Type renvoyé:
TokenResponse
- class henrri_connect.users.SyncUsersClient(client)[source]
Bases :
objectAccès synchrone aux endpoints utilisateurs.
Arguments: - client (SyncHenrriClient) : Client synchrone pour acceder aux endpoints.
Methods: - get(user_id: int) : Récupère un utilisateur par son identifiant. - get_address(user_id: int) : Récupère l’adresse d’un utilisateur. - get_companies() : Récupère les entreprises associées à l’utilisateur courant. - authenticate() : Authentifie via les identifiants du client. - refresh_token(refresh_token: str) : Rafraîchit le token d’accès.
- get(user_id)[source]
Récupère un utilisateur par son identifiant.
Arguments: -
user_id(int) : Identifiant de l’utilisateur.Returns: -
User: Utilisateur.- Type renvoyé:
User
- get_address(user_id)[source]
Récupère l’adresse d’un utilisateur.
Arguments: -
user_id(int) : Identifiant de l’utilisateur.Returns: -
henrri_connect.models.Address: Adresse de l’utilisateur.- Type renvoyé:
Address
- get_companies()[source]
Récupère les entreprises associées à l’utilisateur courant.
Returns: -
list[UserAndCompany]: Entreprises.- Type renvoyé:
list[UserAndCompany]
- authenticate()[source]
Authentifie via les identifiants du client.
Returns: -
henrri_connect.models.TokenResponse: Objet contenant access_token et refresh_token.- Type renvoyé:
TokenResponse
- refresh_token(refresh_token)[source]
Rafraîchit le token d’accès.
Arguments: -
refresh_token(str) : Token de rafraîchissement.Returns: -
henrri_connect.models.TokenResponse: Objet contenant access_token et refresh_token.- Type renvoyé:
TokenResponse
- class henrri_connect.users.TokenResponse(**data)[source]
Bases :
CamelModelReprésente la réponse d’une authentification réussie ou d’un rafraîchissement de token.
Attributs: - access_token: Token d’accès. - identity_token: Token d’identité. - scope: Portée du token. - token_type: Type du token. - refresh_token: Token de rafraîchissement. - expires_in: Durée de validité du token en secondes. - is_error: Indique si la réponse contient une erreur. - error: Code de l’erreur (si applicable). - error_description: Description de l’erreur (si applicable).
- access_token: str | None
- identity_token: str | None
- scope: str | None
- token_type: str | None
- refresh_token: str | None
- expires_in: int
- is_error: bool
- error: str | None
- error_description: str | None
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class henrri_connect.users.User(**data)[source]
Bases :
CamelModelReprésente un utilisateur dans l’API Henrri Connect.
Attributs: - id: Identifiant de l’utilisateur. - email: Adresse email de l’utilisateur. - first_name: Prénom de l’utilisateur. - last_name: Nom de famille de l’utilisateur. - url_image: URL de l’image de profil de l’utilisateur. - first_connexion_date: Date de la première connexion de l’utilisateur. - last_connexion_date: Date de la dernière connexion de l’utilisateur. - connexion_count: Nombre de connexions de l’utilisateur. - created_from: Source de création de l’utilisateur. - phone_number: Numéro de téléphone de l’utilisateur. - creation_date: Date de création de l’utilisateur. - is_enabled: Indique si l’utilisateur est activé. - two_factor_enabled: Indique si l’authentification à deux facteurs est activée pour l’utilisateur. - address: Adresse de l’utilisateur (si applicable). - links: Liste de liens associés à l’utilisateur (si applicable).
- id: int | None
- email: str | None
- first_name: str | None
- last_name: str | None
- url_image: str | None
- first_connexion_date: datetime | None
- last_connexion_date: datetime | None
- connexion_count: str | None
- created_from: str | None
- phone_number: str | None
- creation_date: datetime | None
- is_enabled: bool
- two_factor_enabled: bool
- address: Address | None
- links: list[Link] | None
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class henrri_connect.users.UserAndCompany(**data)[source]
Bases :
CamelModelReprésente un utilisateur et son entreprise dans l’API Henrri Connect.
- Attributs:
user: Utilisateur de l’API Henrri Connect.
company: Entreprise associée à l’utilisateur dans l’API Henrri Connect.
- user: User
- company: Company
- model_config: ClassVar[ConfigDict] = {'alias_generator': <function to_camel>, 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
Sécurité¶
Sous-client pour les endpoints /v1/secures.
Classes:
- henrri_connect.secures.asynchro.AsyncSecuresClient
Accès asynchrone aux endpoints safeguards (santé).
- henrri_connect.secures.synchro.SyncSecuresClient
Accès synchrone aux endpoints safeguards (santé).
Notes:
- Utiliser de préférence l’objet henrri_connect.AsyncHenrriClient pour acceder aux endpoints.
- Utiliser de préférence l’objet henrri_connect.SyncHenrriClient pour acceder aux endpoints.
- class henrri_connect.secures.AsyncSecuresClient(client)[source]
Bases :
objectAccès asynchrone aux endpoints sécurisés (santé).
- Arguments
client : AsyncHenrriClient Client asynchrone pour acceder aux endpoints.
- Methods
hello_world() Vérifie la connexion authentifiée à l’API (endpoint de santé).
- async hello_world()[source]
Vérifie la connexion authentifiée à l’API (endpoint de santé).
- Type renvoyé:
str
- Arguments
None
- Returns
str : Texte de la réponse.
- class henrri_connect.secures.SyncSecuresClient(client)[source]
Bases :
objectAccès synchrone aux endpoints sécurisés (santé).
Arguments - client : SyncHenrriClient Client synchrone pour acceder aux endpoints.
Methods - hello_world() Vérifie la connexion authentifiée à l’API (endpoint de santé).
- hello_world()[source]
Vérifie la connexion authentifiée à l’API (endpoint de santé).
Arguments - None
Returns - str : Texte de la réponse.
- Type renvoyé:
str
Utilitaires¶
Module utilitaire pour les clients Henrri Connect.
Fournit l’ensemble des fonctions utilitaires nécessaires au package henrri_connect.
Functions:¶
raise_for_status: Levé une exception appropriée selon le code HTTP de la réponse.
clean: Nettoie un dictionnaire en supprimant les clés dont la valeur est
None.
- henrri_connect.utils.raise_for_status(resp)[source]
Lève une exception appropriée selon le code HTTP de la réponse.
Correspondance des codes HTTP :
400 :
HenrriValidationError401 :
HenrriAuthError403 :
HenrriForbiddenError404 :
HenrriNotFoundError5xx :
HenrriServerErrorAutres :
HenrriHTTPError
Tente d’extraire un message d’erreur détaillé depuis la réponse JSON, ou utilise le texte brut de la réponse si le JSON est invalide.
- Paramètres:
resp (
Response) – La réponse HTTP httpx à analyser.- Lève:
HenrriValidationError – Si le code HTTP est 400.
HenrriAuthError – Si le code HTTP est 401.
HenrriForbiddenError – Si le code HTTP est 403.
HenrriNotFoundError – Si le code HTTP est 404.
HenrriServerError – Si le code HTTP est >= 500.
HenrriHTTPError – Pour tout autre code d’erreur.
- Type renvoyé:
None
- henrri_connect.utils.clean(params)[source]
Supprime les valeurs None d’un dictionnaire
- Paramètres:
params (
dict[str,Any]) – Dictionnaire contenant des valeurs None- Renvoie:
Dictionnaire sans valeurs None
- Type renvoyé:
dict[str,Any]