{"service":"Nouvelles Entreprises — API ouverte","description":"Nouvelles Entreprises repère les sociétés françaises nouvellement immatriculées (répertoire SIRENE) et leur envoie des courriers postaux de prospection, à 1,50 € HT le pli, réglés en crédits prépayés. Abonnement unique : 59 € HT par mois (fichier d'entreprises et campagnes automatiques).","version":"1.0.0","documentation":"https://nouvelles-entreprises.com/api-ouverte","openapi":"https://nouvelles-entreprises.com/openapi.json","openapi_gpt":"https://nouvelles-entreprises.com/openapi.json?variante=gpt","connecteur_mcp":"https://nouvelles-entreprises.com/api/mcp","appel":{"get":"GET https://nouvelles-entreprises.com/api/v1/outils/<nom>?<argument>=<valeur> — outils en lecture seule ; tableaux en valeurs séparées par des virgules.","post":"POST https://nouvelles-entreprises.com/api/v1/outils/<nom>, arguments en JSON dans le corps (Content-Type: application/json) — tous les outils.","reponse":"{ outil, ok, texte, donnees } : texte rédigé en Markdown, données structurées. ?format=texte (ou Accept: text/markdown) rend le texte seul.","erreurs":"400 arguments illisibles, 401 accès requis ou refusé (WWW-Authenticate), 403 portée insuffisante, 404 outil inconnu, 405 GET sur un outil qui écrit, 422 erreur de l'outil (message à lire), 429 limite atteinte (Retry-After).","confirmation":"Les outils qui engagent une dépense procèdent en deux appels : le premier rend un aperçu chiffré et un jeton, le second, avec ce jeton, exécute après accord explicite de l'utilisateur."},"authentification":{"sans_compte":"ne_guide_prospection, ne_suggerer_ciblage, ne_estimer_volume, ne_relire_lettre : aucun accès requis, 60 appels par minute et par adresse IP (préfixe /64 en IPv6), comptés avec ceux du connecteur MCP.","bearer":"En-tête Authorization: Bearer <clé>. Clé créée par le titulaire depuis son espace client (https://nouvelles-entreprises.com/dashboard#assistants), ou jeton OAuth 2.1 émis pour la ressource https://nouvelles-entreprises.com/api/mcp. Jamais de clé dans l'URL ni dans les arguments.","oauth":{"metadonnees":"https://nouvelles-entreprises.com/.well-known/oauth-authorization-server","autorisation":"https://nouvelles-entreprises.com/oauth/authorize","jeton":"https://nouvelles-entreprises.com/oauth/token","enregistrement":"https://nouvelles-entreprises.com/oauth/register","ressource":"https://nouvelles-entreprises.com/api/mcp","portees":["lecture","envoi","offline_access"],"pkce":"S256"}},"outils":[{"nom":"ne_guide_prospection","titre":"Plan de prospection B2B par métier","description":"Utiliser quand l'utilisateur demande comment prospecter par courrier les entreprises nouvellement immatriculées en France, pour son métier ou une activité donnée (assureur, expert-comptable, agence web, cabinet de recrutement, agent immobilier, banque pro…). Rend le ciblage conseillé (codes NAF, zone, ancienneté), le canal, l'angle de la lettre et les étapes pour passer à l'envoi. Ne pas utiliser pour chercher des entreprises précises ni pour compter un ciblage. Aucun compte n'est nécessaire.","compte_requis":false,"lecture_seule":true,"portee":null,"url":"https://nouvelles-entreprises.com/api/v1/outils/ne_guide_prospection","methodes":["GET","POST"],"schema_entree":{"type":"object","properties":{"metier":{"type":"string","description":"Métier ou activité de la personne qui prospecte, en clair : « assureur », « courtier en assurance », « expert-comptable », « agence web »…"}},"required":["metier"]},"schema_sortie":{"type":"object","properties":{"metier":{"type":"string"},"generique":{"type":"boolean","description":"Vrai si aucun plan propre à ce métier n'existe (plan général)."},"ciblage_conseille":{"type":"object","properties":{"codes_naf":{"type":"array","items":{"type":"string"}},"age_min_mois":{"type":"integer"},"age_max_mois":{"type":"integer"},"delai_contact_mois":{"type":"integer"}}},"page_web":{"type":"string"},"lien_fichier_gratuit":{"type":"string","description":"Sans compte, quand le plan nomme des activités : formulaire du premier fichier gratuit sur le site, activités et ancienneté préremplies."}}},"exemple":"https://nouvelles-entreprises.com/api/v1/outils/ne_guide_prospection?metier=courtier%20en%20assurance","urls_par_metier":["https://nouvelles-entreprises.com/api/v1/outils/ne_guide_prospection?metier=Experts-comptables&format=texte","https://nouvelles-entreprises.com/api/v1/outils/ne_guide_prospection?metier=Agences%20web%20%26%20marketing&format=texte","https://nouvelles-entreprises.com/api/v1/outils/ne_guide_prospection?metier=Cabinets%20de%20conseil&format=texte","https://nouvelles-entreprises.com/api/v1/outils/ne_guide_prospection?metier=Cabinets%20de%20recrutement&format=texte","https://nouvelles-entreprises.com/api/v1/outils/ne_guide_prospection?metier=Courtiers%20%26%20assureurs&format=texte","https://nouvelles-entreprises.com/api/v1/outils/ne_guide_prospection?metier=Agents%20immobiliers&format=texte","https://nouvelles-entreprises.com/api/v1/outils/ne_guide_prospection?metier=Banques%20pro%20%26%20n%C3%A9obanques&format=texte","https://nouvelles-entreprises.com/api/v1/outils/ne_guide_prospection?metier=%C3%89diteurs%20SaaS%20%26%20logiciels&format=texte","https://nouvelles-entreprises.com/api/v1/outils/ne_guide_prospection?metier=T%C3%A9l%C3%A9com%20pro%20%26%20internet&format=texte"]},{"nom":"ne_suggerer_ciblage","titre":"Traduire une cible en codes NAF","description":"Utiliser quand l'utilisateur décrit en clair les entreprises qu'il veut viser (« les restaurants », « les artisans du bâtiment », « les cabinets vétérinaires ») et que les codes NAF/APE correspondants ne sont pas connus. Rend des codes NAF avec leur libellé, à passer en `codes_naf` aux outils de ciblage. Ne pas utiliser quand les codes NAF sont déjà connus. La correspondance est proposée par un modèle de langue, dans la limite de 30 appels par heure. Aucun compte n'est nécessaire.","compte_requis":false,"lecture_seule":true,"portee":null,"url":"https://nouvelles-entreprises.com/api/v1/outils/ne_suggerer_ciblage","methodes":["GET","POST"],"schema_entree":{"type":"object","properties":{"description":{"type":"string","description":"Les entreprises à cibler, décrites en français courant (3 à 500 caractères)."}},"required":["description"]},"schema_sortie":{"type":"object","properties":{"codes":{"type":"array","items":{"type":"string"},"description":"Codes NAF sans point, à passer en codes_naf."},"libelles":{"type":"array","items":{"type":"string"},"description":"Libellés des codes, dans le même ordre."}}},"exemple":"https://nouvelles-entreprises.com/api/v1/outils/ne_suggerer_ciblage?description=les%20cabinets%20v%C3%A9t%C3%A9rinaires"},{"nom":"ne_estimer_volume","titre":"Compter les entreprises visées et chiffrer la campagne","description":"Utiliser quand l'utilisateur veut savoir combien d'entreprises françaises correspondent à un ciblage (activité, zone, forme juridique, ancienneté) et ce que coûterait un courrier à chacune (1,50 € HT le pli). Rend un comptage et un coût, sans liste nominative. Ne pas utiliser pour obtenir les entreprises elles-mêmes (ne_rechercher_entreprises, avec un compte). Aucun compte n'est nécessaire.","compte_requis":false,"lecture_seule":true,"portee":null,"url":"https://nouvelles-entreprises.com/api/v1/outils/ne_estimer_volume","methodes":["GET","POST"],"schema_entree":{"type":"object","properties":{"codes_naf":{"type":"array","items":{"type":"string"},"description":"Codes NAF/APE sans point (ex. [\"6201Z\", \"7022Z\"]). Vide = toutes activités. Utilisez ne_suggerer_ciblage pour les obtenir à partir d'une description en clair."},"departements":{"type":"array","items":{"type":"string"},"description":"Codes de départements français (ex. [\"75\", \"69\", \"2A\"]). Vide = France entière."},"region":{"type":"string","description":"Région française, par son nom ou son code INSEE (« Auvergne-Rhône-Alpes » ou « 84 »). Ignoré si des départements ou un rayon sont donnés."},"adresse":{"type":"string","description":"Centre d'un ciblage par rayon : adresse postale française ou nom de commune (« Lyon », « 12 rue de la République, Lyon »). À combiner avec rayon_km. L'adresse retenue est toujours rappelée dans la réponse — vérifiez-la."},"rayon_km":{"type":"number","description":"Rayon en kilomètres autour de l'adresse (ou des coordonnées), de 5 à 100. Le rayon prime sur les départements et la région. La distance est calculée à vol d'oiseau sur la position réelle de chaque entreprise."},"latitude":{"type":"number","description":"Latitude du centre (WGS84), pour se passer du géocodage. À utiliser avec longitude et rayon_km."},"longitude":{"type":"number","description":"Longitude du centre (WGS84). À utiliser avec latitude et rayon_km."},"formes_juridiques":{"type":"array","items":{"type":"string"},"description":"Familles juridiques : ei, sas, sarl, sa, sci, societe-civile, association, copropriete, snc-commandite, cooperative-mutuelle, gie. Vide = toutes."},"age_min_mois":{"type":"number","description":"Ancienneté minimale en mois depuis l'immatriculation. 0 = dès la création."},"age_max_mois":{"type":"number","description":"Ancienneté maximale en mois. Défaut 3. Au-delà de 12, on quitte les créations récentes pour le stock d'entreprises établies."}},"required":[]},"schema_sortie":{"type":"object","properties":{"total":{"type":"integer"},"total_borne":{"type":"boolean","description":"Vrai si le total est un plancher (comptage arrêté)."},"cout_vague_cents":{"type":"integer","description":"Coût d'un courrier à chacune, en centimes d'euro HT."},"ciblage":{"type":"string","description":"Ciblage appliqué, en clair."},"lien_fichier_gratuit":{"type":"string","description":"Sans compte : formulaire du premier fichier gratuit sur le site, ciblage prérempli."},"entreprises_fichier_gratuit":{"type":"integer","description":"Sans compte : entreprises que contiendrait ce premier fichier."},"entreprises_fichier_gratuit_borne":{"type":"boolean","description":"Vrai si ce nombre est un plancher (comptage arrêté)."}}},"exemple":"https://nouvelles-entreprises.com/api/v1/outils/ne_estimer_volume?codes_naf=6201Z,6202A&departements=69,38&age_max_mois=6"},{"nom":"ne_relire_lettre","titre":"Vérifier une lettre avant impression","description":"Utiliser quand une lettre de prospection a été rédigée et doit être vérifiée avant un envoi : longueur (le pli doit tenir sur une page ; au-delà, il est annulé automatiquement et n'est pas facturé), variable de personnalisation, P.S., et rappel des neuf règles de rédaction. N'envoie et n'enregistre rien. Ne pas utiliser pour rédiger la lettre elle-même. Aucun compte n'est nécessaire.","compte_requis":false,"lecture_seule":true,"portee":null,"url":"https://nouvelles-entreprises.com/api/v1/outils/ne_relire_lettre","methodes":["GET","POST"],"schema_entree":{"type":"object","properties":{"lettre":{"type":"string","description":"Texte de la lettre (20 000 caractères au plus). Variables disponibles, remplacées à l'impression : {{raisonSociale}}, {{dirigeant}}, {{ville}}."}},"required":["lettre"]},"schema_sortie":{"type":"object","properties":{"mots":{"type":"integer"},"alertes":{"type":"array","items":{"type":"string"}},"conforme":{"type":"boolean"}}}},{"nom":"ne_statut_compte","titre":"État du compte et de ce qui reste à configurer","description":"Utiliser quand l'utilisateur demande l'état de son compte Nouvelles Entreprises, ou pour savoir ce qui manque quand un envoi est refusé. Rend les crédits courrier, l'état de l'abonnement et de la recharge mensuelle, l'adresse expéditeur, les campagnes, le décompte des courriers et ce qui reste à régler avant un envoi. Ne pas utiliser pour le détail des envois (ne_suivi_courriers) ni pour modifier une campagne. Nécessite un compte connecté.","compte_requis":true,"lecture_seule":true,"portee":"lecture","url":"https://nouvelles-entreprises.com/api/v1/outils/ne_statut_compte","methodes":["GET","POST"],"schema_entree":{"type":"object","properties":{},"required":[]},"schema_sortie":{"type":"object","properties":{"credits":{"type":"integer"},"abonnement_actif":{"type":"boolean"},"recharge_mensuelle_credits":{"type":["integer","null"]},"expediteur_complet":{"type":"boolean"},"campagnes":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"nom":{"type":"string"},"etat":{"type":"string"},"a_valider":{"type":"boolean","description":"Campagne préparée qui attend sa validation dans l'application : rien n'en part avant."},"lien_validation":{"type":["string","null"],"description":"Page où la valider (connexion au compte demandée)."},"courrier_automatique":{"type":"boolean"},"rythme_fichier":{"type":["string","null"],"description":"Rythme du fichier récurrent ; null si la campagne n'en reçoit pas (essai, pause, canal fichier fermé)."},"plis_envoyes":{"type":"integer"}}}},"campagnes_total":{"type":"integer"},"courriers_par_statut":{"type":"object","additionalProperties":{"type":"integer"}},"manques":{"type":"array","items":{"type":"string"}},"envoi_ponctuel_pret":{"type":"boolean"},"campagne_automatique_prete":{"type":"boolean"}}}},{"nom":"ne_configurer_expediteur","titre":"Renseigner l'adresse expéditeur imprimée sur les courriers","description":"Utiliser quand l'utilisateur donne ou corrige le nom et l'adresse postale à imprimer en expéditeur sur ses courriers ; aucun pli ne part sans cette adresse. Les quatre champs viennent de l'utilisateur : ne pas les déduire ni les compléter soi-même. Remplace l'adresse déjà enregistrée. Ne pas utiliser pour l'adresse d'un destinataire ni pour un ciblage géographique. Nécessite un compte connecté.","compte_requis":true,"lecture_seule":false,"portee":"envoi","url":"https://nouvelles-entreprises.com/api/v1/outils/ne_configurer_expediteur","methodes":["POST"],"schema_entree":{"type":"object","properties":{"nom":{"type":"string","description":"Raison sociale ou nom affiché en expéditeur."},"adresse":{"type":"string","description":"Numéro et voie (ex. « 12 rue de la République »)."},"code_postal":{"type":"string","description":"Code postal à 5 chiffres."},"ville":{"type":"string","description":"Commune."}},"required":["nom","adresse","code_postal","ville"]},"schema_sortie":{"type":"object","properties":{"nom":{"type":"string"},"adresse":{"type":"string"},"code_postal":{"type":"string"},"ville":{"type":"string"}}}},{"nom":"ne_acheter_credits","titre":"Préparer l'achat de crédits courrier","description":"Utiliser quand l'utilisateur demande à acheter des crédits courrier, ou à mettre en place ou changer sa recharge mensuelle. 1 crédit = 1 courrier = 1,50 € HT. Prépare la transaction chez le prestataire de paiement et rend un lien que l'utilisateur ouvre dans son navigateur pour payer : l'outil n'effectue aucun paiement. Mode « unique » : achat ponctuel. Mode « mensuel » : le même nombre de crédits rechargé chaque mois, en remplacement de la recharge en cours s'il y en a une. Ne pas utiliser pour consulter le solde (ne_statut_compte) ni pour arrêter une recharge mensuelle, qui se résilie depuis le compte sur le site. Nécessite un compte connecté.","compte_requis":true,"lecture_seule":false,"portee":"envoi","url":"https://nouvelles-entreprises.com/api/v1/outils/ne_acheter_credits","methodes":["POST"],"schema_entree":{"type":"object","properties":{"nombre":{"type":"integer","minimum":1,"description":"Nombre de crédits (1 crédit = 1 courrier = 1,50 € HT). Volumes proposés : 50, 100, 250, 500, 1 000, 3 000 ; tout autre nombre entier est accepté."},"mode":{"type":"string","enum":["unique","mensuel"],"description":"« unique » = achat ponctuel ; « mensuel » = recharge automatique chaque mois, qui remplace la recharge en cours. Défaut : unique."}},"required":["nombre"]},"schema_sortie":{"type":"object","properties":{"url_paiement":{"type":"string"},"nombre":{"type":"integer"},"mode":{"type":"string","enum":["unique","mensuel"]},"total_ht_cents":{"type":"integer"},"remplace_recharge":{"type":"boolean"}}}},{"nom":"ne_lister_acces","titre":"Lister les assistants et clés qui ont accès au compte","description":"Utiliser quand l'utilisateur demande quels assistants ou quelles clés ont accès à son compte Nouvelles Entreprises. Rend chaque accès ouvert (connexion d'un assistant ou clé d'accès) avec son nom, sa provenance, ses droits, sa date de dernier usage, et le type et l'identifiant à passer à ne_revoquer_acces. Ne modifie rien. Ne pas utiliser pour couper un accès (ne_revoquer_acces). Nécessite un compte connecté.","compte_requis":true,"lecture_seule":true,"portee":"lecture","url":"https://nouvelles-entreprises.com/api/v1/outils/ne_lister_acces","methodes":["GET","POST"],"schema_entree":{"type":"object","properties":{},"required":[]},"schema_sortie":{"type":"object","properties":{"acces":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["cle","oauth"]},"id":{"type":"string"},"nom":{"type":"string"},"provenance":{"type":"string"},"portees":{"type":"string"},"depuis":{"type":"string","description":"Date (AAAA-MM-JJ) de création de la clé, ou début connu de la connexion."},"dernier_usage":{"type":["string","null"]},"cette_conversation":{"type":"boolean"}}}}}}},{"nom":"ne_revoquer_acces","titre":"Révoquer l'accès d'un assistant ou d'une clé au compte","description":"Utiliser quand l'utilisateur demande de couper l'accès d'un assistant ou d'une clé à son compte Nouvelles Entreprises. Prend le type et l'identifiant rendus par ne_lister_acces. Une clé est refusée dès l'appel suivant ; pour un assistant connecté, ses jetons en cours et leur renouvellement sont coupés. Les autres accès restent ouverts. Irréversible : il faudra autoriser à nouveau l'assistant, ou créer une nouvelle clé. Révoquer l'accès qu'utilise l'assistant lui-même coupe la conversation en cours : ses appels suivants seront refusés. Ne pas utiliser pour lister les accès (ne_lister_acces). Nécessite un compte connecté.","compte_requis":true,"lecture_seule":false,"portee":"envoi","url":"https://nouvelles-entreprises.com/api/v1/outils/ne_revoquer_acces","methodes":["POST"],"schema_entree":{"type":"object","properties":{"type":{"type":"string","enum":["cle","oauth"],"description":"Type de l'accès, tel que rendu par ne_lister_acces."},"id":{"type":"string","description":"Identifiant de l'accès, tel que rendu par ne_lister_acces."}},"required":["type","id"]},"schema_sortie":{"type":"object","properties":{"type":{"type":"string","enum":["cle","oauth"]},"id":{"type":"string"},"cette_conversation":{"type":"boolean"}}}},{"nom":"ne_rechercher_entreprises","titre":"Chercher des entreprises à contacter","description":"Utiliser quand l'utilisateur veut la liste des entreprises françaises à qui écrire pour un ciblage donné (activité, zone, forme juridique, ancienneté), typiquement avant un envoi ponctuel. Rend pour chacune la raison sociale, la forme juridique, le code NAF, la date de création, le code postal et la commune, et l'identifiant à passer à ne_envoyer_courriers. Sont écartées les entreprises fermées, celles qui ont déjà reçu un courrier de ce compte (un pli en erreur ou revenu non distribué ne compte pas : l'entreprise reste proposée) et celles pour lesquelles un retour est enregistré, dont « ne plus contacter ». Sans abonnement, la recherche porte uniquement, pour chaque campagne du compte, sur le ciblage et les dates de création de son dernier fichier (les créations plus récentes sont incluses dans l'abonnement). Au plus 2000 résultats par jour et par compte. Ne pas utiliser pour un simple comptage, que ne_estimer_volume fait sans compte. Nécessite un compte connecté.","compte_requis":true,"lecture_seule":true,"portee":"lecture","url":"https://nouvelles-entreprises.com/api/v1/outils/ne_rechercher_entreprises","methodes":["GET","POST"],"schema_entree":{"type":"object","properties":{"codes_naf":{"type":"array","items":{"type":"string"},"description":"Codes NAF/APE sans point (ex. [\"6201Z\", \"7022Z\"]). Vide = toutes activités. Utilisez ne_suggerer_ciblage pour les obtenir à partir d'une description en clair."},"departements":{"type":"array","items":{"type":"string"},"description":"Codes de départements français (ex. [\"75\", \"69\", \"2A\"]). Vide = France entière."},"region":{"type":"string","description":"Région française, par son nom ou son code INSEE (« Auvergne-Rhône-Alpes » ou « 84 »). Ignoré si des départements ou un rayon sont donnés."},"adresse":{"type":"string","description":"Centre d'un ciblage par rayon : adresse postale française ou nom de commune (« Lyon », « 12 rue de la République, Lyon »). À combiner avec rayon_km. L'adresse retenue est toujours rappelée dans la réponse — vérifiez-la."},"rayon_km":{"type":"number","description":"Rayon en kilomètres autour de l'adresse (ou des coordonnées), de 5 à 100. Le rayon prime sur les départements et la région. La distance est calculée à vol d'oiseau sur la position réelle de chaque entreprise."},"latitude":{"type":"number","description":"Latitude du centre (WGS84), pour se passer du géocodage. À utiliser avec longitude et rayon_km."},"longitude":{"type":"number","description":"Longitude du centre (WGS84). À utiliser avec latitude et rayon_km."},"formes_juridiques":{"type":"array","items":{"type":"string"},"description":"Familles juridiques : ei, sas, sarl, sa, sci, societe-civile, association, copropriete, snc-commandite, cooperative-mutuelle, gie. Vide = toutes."},"age_min_mois":{"type":"number","description":"Ancienneté minimale en mois depuis l'immatriculation. 0 = dès la création."},"age_max_mois":{"type":"number","description":"Ancienneté maximale en mois. Défaut 3. Au-delà de 12, on quitte les créations récentes pour le stock d'entreprises établies."},"page":{"type":"number","description":"Page de résultats, à partir de 1."},"taille_page":{"type":"number","description":"Résultats par page (1 à 100, défaut 25)."}},"required":[]},"schema_sortie":{"type":"object","properties":{"total":{"type":"integer","description":"Entreprises restant à contacter pour ce ciblage."},"total_borne":{"type":"boolean","description":"Vrai si le total est un plancher (comptage arrêté)."},"page":{"type":"integer"},"taille_page":{"type":"integer"},"ciblage":{"type":"string","description":"Ciblage appliqué, en clair."},"perimetre_essai":{"type":["object","null"],"description":"Compte sans abonnement : recherche limitée aux entreprises déjà livrées par les fichiers de ses campagnes, chacune sur le ciblage et la fenêtre de son dernier fichier (dates incluses). Nul pour un compte abonné.","properties":{"campagne":{"type":"string","description":"Nom de la campagne livrée, ou des campagnes, séparés par des virgules."},"du":{"type":"string","description":"AAAA-MM-JJ : plus ancienne date de création accessible, toutes campagnes confondues."},"au":{"type":"string","description":"AAAA-MM-JJ : plus récente date de création accessible, toutes campagnes confondues."},"campagnes":{"type":"array","description":"Détail par campagne livrée, la plus ancienne d'abord.","items":{"type":"object","properties":{"campagne_id":{"type":"string"},"campagne":{"type":"string"},"date_fichier":{"type":"string","description":"AAAA-MM-JJ : date du dernier fichier de la campagne."},"du":{"type":"string","description":"AAAA-MM-JJ."},"au":{"type":"string","description":"AAAA-MM-JJ."}}}}}},"entreprises":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Identifiant à passer à ne_envoyer_courriers."},"raison_sociale":{"type":"string"},"forme_juridique":{"type":"string"},"code_naf":{"type":"string"},"date_creation":{"type":"string","description":"AAAA-MM-JJ."},"code_postal":{"type":"string"},"commune":{"type":"string"}}}}}}},{"nom":"ne_envoyer_courriers","titre":"Envoyer une vague de courriers postaux","description":"Utiliser quand l'utilisateur veut envoyer un courrier postal à des entreprises précises (identifiants rendus par ne_rechercher_entreprises, ou SIRET) : impression, mise sous pli, affranchissement et suivi, 1,50 € HT le pli, débité sur les crédits du compte. Fonctionne en deux temps : un appel sans `confirmation` ne fait que chiffrer l'envoi et rendre un jeton ; montrer ce récapitulatif à l'utilisateur, puis rappeler l'outil avec le jeton seulement après son accord explicite. Le jeton scelle les destinataires, la lettre, le code promo, le QR code et la campagne de rattachement : toute modification oblige à repasser par l'aperçu. Deux modes. Avec `lettre`, les plis partent pendant l'appel (50 destinataires au plus). Avec `campagne_id` et sans `lettre`, la lettre enregistrée sur la campagne part en arrière-plan (500 destinataires au plus). Dans les deux cas, les crédits sont réservés à la confirmation, avant le départ du premier pli, et remboursés pour tout pli qui ne part pas ; un email de confirmation est envoyé au titulaire du compte ; un envoi interrompu côté assistant se poursuit sur le serveur, et ne_suivi_courriers le montre. Sans abonnement, seules les entreprises du ciblage et des dates de création du dernier fichier de chaque campagne du compte peuvent recevoir un pli ; un seul envoi à la fois par compte. Ne pas utiliser pour programmer des envois récurrents (ne_preparer_campagne). Nécessite un compte connecté.","compte_requis":true,"lecture_seule":false,"portee":"envoi","url":"https://nouvelles-entreprises.com/api/v1/outils/ne_envoyer_courriers","methodes":["POST"],"schema_entree":{"type":"object","properties":{"entreprise_ids":{"type":"array","items":{"type":"string"},"description":"Identifiants rendus par ne_rechercher_entreprises."},"sirets":{"type":"array","items":{"type":"string"},"description":"SIRET (14 chiffres), alternative aux identifiants."},"lettre":{"type":"string","description":"Texte de la lettre. Variables remplacées à l'impression : {{raisonSociale}}, {{dirigeant}}, {{ville}}. Une page maximum (120 à 160 mots). Absent avec `campagne_id` : la lettre enregistrée sur la campagne part, en arrière-plan."},"campagne_id":{"type":"string","description":"Identifiant d'une campagne du compte (ne_lister_campagnes). Rattache l'envoi à la campagne : statistiques, onglet de la campagne, éligibilité aux relances. Optionnel."},"confirmation":{"type":"string","description":"Jeton rendu par l'appel d'aperçu. Absent = aperçu chiffré, rien n'est envoyé."},"code_promo":{"type":"string","description":"Code promotionnel imprimé dans un encadré sous le texte. Avec `lettre` seulement ; avec `campagne_id`, omis = celui de la campagne, chaîne vide = aucun."},"description_promo":{"type":"string","description":"Libellé de l'offre accompagnant le code promo. Mêmes règles que code_promo."},"url_qr":{"type":"string","description":"URL encodée dans un QR code imprimé sous le texte (prise de rendez-vous, page d'offre). Mêmes règles que code_promo."},"libelle_qr":{"type":"string","description":"Légende affichée sous le QR code. Mêmes règles que code_promo."}},"required":[]},"schema_sortie":{"type":"object","properties":{"apercu":{"type":"boolean","description":"Vrai pour l'aperçu : rien n'est parti."},"mode":{"type":"string","enum":["immediat","arriere_plan"]},"destinataires":{"type":"integer"},"ecartes":{"type":"integer","description":"Destinataires non contactables retirés de l'envoi."},"hors_perimetre":{"type":"integer","description":"Compte sans abonnement : destinataires retirés, hors du ciblage et des dates de création du dernier fichier de chaque campagne du compte (compris dans `ecartes` à l'aperçu)."},"introuvables":{"type":"array","items":{"type":"string"},"description":"Identifiants ou SIRET inconnus, ignorés."},"cout_cents":{"type":"integer","description":"Coût en centimes d'euro HT."},"credits_disponibles":{"type":"integer"},"campagne_id":{"type":"string"},"campagne_nom":{"type":"string"},"confirmation":{"type":"string","description":"Jeton à repasser pour confirmer l'envoi (15 minutes)."},"envoyes":{"type":"integer","description":"Plis partis et débités, `a_verifier` compris."},"erreurs":{"type":"integer","description":"Plis refusés ou annulés : crédits remboursés."},"a_verifier":{"type":"integer","description":"Parmi les plis partis : remise non confirmée par le service d'envoi (réponse perdue, annulation refusée) ; débités, vérifiés auprès du service d'envoi."},"en_arriere_plan":{"type":"boolean"}}}},{"nom":"ne_recevoir_fichier_gratuit","titre":"Recevoir le premier fichier gratuit","description":"Envoie par email, à l'adresse du compte, un fichier CSV des entreprises correspondant au ciblage : celles créées depuis le 1er du mois précédent, ou toutes celles de la tranche d'ancienneté demandée. C'est l'essai gratuit du site, une fois par compte : le ciblage est enregistré comme campagne d'essai, sans courrier. Comme tout essai du site, cette campagne d'essai déclenche jusqu'à cinq emails de suivi à l'adresse du compte sur trois semaines, avec lien de désinscription. Utiliser quand l'utilisateur demande à recevoir ce fichier ou à essayer le service sur un ciblage. Ne pas utiliser pour envoyer des courriers ni pour préparer un courrier automatique (ne_preparer_campagne, qui envoie aussi ce premier fichier à un compte sans campagne ni abonnement), ni pour un compte qui a déjà une campagne ou un abonnement actif : l'outil refuse et indique la marche à suivre. Au moins un code NAF est requis. Nécessite un compte connecté.","compte_requis":true,"lecture_seule":false,"portee":"envoi","url":"https://nouvelles-entreprises.com/api/v1/outils/ne_recevoir_fichier_gratuit","methodes":["POST"],"schema_entree":{"type":"object","properties":{"codes_naf":{"type":"array","items":{"type":"string"},"description":"Codes NAF/APE sans point (ex. [\"6201Z\", \"7022Z\"]). Au moins un code. ne_suggerer_ciblage les donne à partir d'une activité décrite en clair."},"departements":{"type":"array","items":{"type":"string"},"description":"Codes de départements français (ex. [\"75\", \"69\", \"2A\"]). Vide = France entière."},"region":{"type":"string","description":"Région française, par son nom ou son code INSEE (« Auvergne-Rhône-Alpes » ou « 84 »). Ignoré si des départements ou un rayon sont donnés."},"adresse":{"type":"string","description":"Centre d'un ciblage par rayon : adresse postale française ou nom de commune (« Lyon », « 12 rue de la République, Lyon »). À combiner avec rayon_km. L'adresse retenue est toujours rappelée dans la réponse — vérifiez-la."},"rayon_km":{"type":"number","description":"Rayon en kilomètres autour de l'adresse (ou des coordonnées), de 5 à 100. Le rayon prime sur les départements et la région. La distance est calculée à vol d'oiseau sur la position réelle de chaque entreprise."},"latitude":{"type":"number","description":"Latitude du centre (WGS84), pour se passer du géocodage. À utiliser avec longitude et rayon_km."},"longitude":{"type":"number","description":"Longitude du centre (WGS84). À utiliser avec latitude et rayon_km."},"formes_juridiques":{"type":"array","items":{"type":"string"},"description":"Familles juridiques : ei, sas, sarl, sa, sci, societe-civile, association, copropriete, snc-commandite, cooperative-mutuelle, gie. Vide = toutes."},"age_min_mois":{"type":"number","description":"Ancienneté minimale en mois depuis l'immatriculation. Défaut 0 : dès la création."},"age_max_mois":{"type":"number","description":"Ancienneté maximale en mois (600 au plus). Avec age_min_mois à 0 et la valeur par défaut (3), le fichier contient les créations depuis le 1er du mois précédent ; toute autre combinaison, toutes les entreprises de la tranche."},"nom":{"type":"string","description":"Nom de la campagne d'essai. Défaut : « Ma campagne »."}},"required":["codes_naf"]},"schema_sortie":{"type":"object","properties":{"campagne_id":{"type":"string","description":"Identifiant de la campagne d'essai, pour ne_preparer_campagne et ne_modifier_campagne."},"entreprises":{"type":["integer","null"],"description":"Nombre d'entreprises du fichier."},"fichier_envoye":{"type":"boolean"},"contenu":{"type":"string"},"lien_validation":{"type":"string","description":"Page où la campagne se valide dans l'application."}}}},{"nom":"ne_preparer_campagne","titre":"Préparer une campagne de courrier automatique","description":"Utiliser quand l'utilisateur veut automatiser ses envois : qu'un courrier parte chaque jour ouvré aux entreprises nouvellement créées d'un ciblage. Enregistre la campagne dans le compte, inactive, avec son ciblage, sa lettre et sa relance. L'outil ne dépense rien et n'active aucun envoi ; l'activation, et le paiement s'il y en a un, se font dans l'application, via le lien rendu. Une fois validée, le courrier part chaque jour ouvré à 10 h (heure de Paris), 1,50 € HT le pli, vers les entreprises les plus récentes de la liste, dans la limite des crédits du compte, partagés entre ses campagnes. Pour un compte sans abonnement ni campagne, envoie aussi le premier fichier gratuit d'entreprises à l'adresse du compte. La campagne d'un tel compte est créée en essai et, comme tout essai du site, déclenche jusqu'à cinq emails de suivi à cette adresse sur trois semaines, avec lien de désinscription ; s'il a une recharge mensuelle, elle est créée en pause, sans ces emails. Sans abonnement, l'outil ne crée pas de nouvelle campagne pour un compte qui en a déjà une : il complète celle du premier fichier gratuit quand le ciblage est le même, sinon il rend le lien de validation de la campagne existante. Pour un compte abonné, chaque appel prépare une campagne de plus ; un appel identique rejoué dans les 30 minutes rend celle déjà préparée. Ne pas utiliser pour un envoi ponctuel à des entreprises choisies (ne_envoyer_courriers) ni pour modifier une campagne existante (ne_modifier_campagne). Au moins un code NAF et le texte de la lettre sont requis. Nécessite un compte connecté.","compte_requis":true,"lecture_seule":false,"portee":"envoi","url":"https://nouvelles-entreprises.com/api/v1/outils/ne_preparer_campagne","methodes":["POST"],"schema_entree":{"type":"object","properties":{"codes_naf":{"type":"array","items":{"type":"string"},"description":"Codes NAF/APE sans point (ex. [\"6201Z\", \"7022Z\"]). Au moins un code. ne_suggerer_ciblage les donne à partir d'une activité décrite en clair."},"departements":{"type":"array","items":{"type":"string"},"description":"Codes de départements français (ex. [\"75\", \"69\", \"2A\"]). Vide = France entière."},"region":{"type":"string","description":"Région française, par son nom ou son code INSEE (« Auvergne-Rhône-Alpes » ou « 84 »). Ignoré si des départements ou un rayon sont donnés."},"adresse":{"type":"string","description":"Centre d'un ciblage par rayon : adresse postale française ou nom de commune (« Lyon », « 12 rue de la République, Lyon »). À combiner avec rayon_km. L'adresse retenue est toujours rappelée dans la réponse — vérifiez-la."},"rayon_km":{"type":"number","description":"Rayon en kilomètres autour de l'adresse (ou des coordonnées), de 5 à 100. Le rayon prime sur les départements et la région. La distance est calculée à vol d'oiseau sur la position réelle de chaque entreprise."},"latitude":{"type":"number","description":"Latitude du centre (WGS84), pour se passer du géocodage. À utiliser avec longitude et rayon_km."},"longitude":{"type":"number","description":"Longitude du centre (WGS84). À utiliser avec latitude et rayon_km."},"formes_juridiques":{"type":"array","items":{"type":"string"},"description":"Familles juridiques : ei, sas, sarl, sa, sci, societe-civile, association, copropriete, snc-commandite, cooperative-mutuelle, gie. Vide = toutes."},"age_min_mois":{"type":"number","description":"Ancienneté minimale en mois depuis l'immatriculation. Défaut 0 : dès la création."},"age_max_mois":{"type":"number","description":"Ancienneté maximale en mois (600 au plus). Avec age_min_mois à 0 et la valeur par défaut (3), la liste suit les créations des 90 derniers jours ; toute autre combinaison fixe une tranche d'âge, dont toutes les entreprises entrent dans la liste."},"nom":{"type":"string","description":"Nom de la campagne (ex. « RC Pro — BTP Rhône »). Défaut : « Ma campagne »."},"lettre":{"type":"string","description":"Texte de la lettre, imprimé à chaque passage une fois la campagne validée. Variables : {{raisonSociale}}, {{dirigeant}}, {{ville}}. ne_relire_lettre permet de la vérifier."},"frequence":{"type":"string","enum":["quotidien","hebdomadaire","mensuel"],"description":"Rythme du fichier d'entreprises envoyé par email une fois la campagne validée : chaque jour ouvré (défaut), chaque semaine ou chaque mois. Sans effet sur le prix ni sur le courrier."},"relance_auto":{"type":"boolean","description":"Relance des entreprises sans retour enregistré : jusqu'à deux courriers de plus par entreprise, espacés du délai ci-dessous, chacun un pli payant. Défaut : non."},"relance_delai_jours":{"type":"number","description":"Jours entre un courrier et la relance suivante (7 à 365, défaut 30)."},"courriers_par_mois":{"type":"integer","minimum":0,"description":"Budget retenu avec l'utilisateur, en courriers par mois (1 courrier = 1 crédit), reporté sur la page de validation ; rien n'est acheté par cet outil. Valeurs usuelles : 50, 100, 250, 500, 1 000, 3 000. Défaut : tiré du nombre d'entreprises de la liste."}},"required":["lettre","codes_naf"]},"schema_sortie":{"type":"object","properties":{"preparee":{"type":"boolean","description":"Vrai si cet appel a préparé la campagne, ou, pour un compte abonné, s'il rejoue à l'identique l'appel qui l'a préparée (voir rejeu) ; faux s'il n'a rien enregistré, la réponse dit pourquoi."},"rejeu":{"type":"boolean","description":"Présent et vrai si un appel identique avait déjà préparé cette campagne (compte abonné) depuis moins de 30 minutes : cet appel n'a rien créé."},"campagne_id":{"type":"string"},"etat":{"type":"string","description":"essai ou en pause : la campagne n'envoie rien avant sa validation."},"lien_validation":{"type":["string","null"],"description":"Page où l'utilisateur valide la campagne ; lien de connexion à usage unique, valable 1 heure."},"fichier_entreprises":{"type":["integer","null"],"description":"Entreprises du premier fichier gratuit envoyé par cet appel."},"estimation":{"type":"object","properties":{"prochain_passage":{"type":"string","description":"Jour du prochain passage (AAAA-MM-JJ, heure de Paris)."},"plis":{"type":"integer"},"cout_cents":{"type":"integer"},"en_attente":{"type":["integer","null"]},"credits_au_passage":{"type":"integer"},"blocage":{"type":["string","null"],"description":"Ce qui empêche tout pli de cette campagne à ce passage : campagne_inactive, abonnement, validation (campagne préparée à valider dans l'application), expediteur, credits ; null si rien ne bloque."},"plis_pris_aux_autres_campagnes":{"type":"integer"}}},"courriers_par_mois":{"type":["integer","null"],"description":"Volume de la recharge mensuelle proposée sur la page de validation."}}}},{"nom":"ne_lister_campagnes","titre":"Lister les campagnes du compte","description":"Liste les campagnes du compte : état (essai, active, en pause, résiliée), campagnes préparées qui attendent leur validation dans l'application et l'adresse où les valider, ciblage, liste réelle où puise le courrier, plis envoyés et coût, plis prévus au prochain passage, identifiant. Utiliser quand l'utilisateur demande où en sont ses campagnes, ou pour obtenir l'identifiant attendu par ne_modifier_campagne. Ne pas utiliser pour le statut de distribution des plis (ne_suivi_courriers). Nécessite un compte connecté.","compte_requis":true,"lecture_seule":true,"portee":"lecture","url":"https://nouvelles-entreprises.com/api/v1/outils/ne_lister_campagnes","methodes":["GET","POST"],"schema_entree":{"type":"object","properties":{},"required":[]},"schema_sortie":{"type":"object","properties":{"campagnes":{"type":"array","items":{"type":"object"}},"prochain_passage":{"type":"object"}}}},{"nom":"ne_modifier_campagne","titre":"Suspendre, reprendre ou modifier une campagne","description":"Modifie une campagne du compte. Suspendre le courrier automatique (courrier_actif false) et renommer s'appliquent immédiatement. Reprendre le courrier (courrier_actif true), remplacer la lettre ou changer le ciblage se font en deux temps : un appel sans `confirmation` n'applique que la suspension et le nom éventuels, et rend un aperçu (avant et après, prochain passage, plis et coût) avec un jeton ; l'appel identique avec ce jeton, après accord explicite de l'utilisateur, applique le reste. Seuls les champs fournis changent. La zone se remplace en entier, sauf sur une campagne par rayon où changer le seul rayon garde le centre, et inversement ; une seule borne d'ancienneté garde l'autre. Une campagne en pause, ou préparée et pas encore validée, s'active dans l'application : l'outil rend le lien, sans l'activer. Utiliser quand l'utilisateur veut arrêter, reprendre ou ajuster une campagne existante ; l'identifiant vient de ne_lister_campagnes. Ne pas utiliser pour créer une campagne (ne_preparer_campagne) ni pour un envoi ponctuel (ne_envoyer_courriers). Nécessite un compte connecté.","compte_requis":true,"lecture_seule":false,"portee":"envoi","url":"https://nouvelles-entreprises.com/api/v1/outils/ne_modifier_campagne","methodes":["POST"],"schema_entree":{"type":"object","properties":{"campagne_id":{"type":"string","description":"Identifiant de la campagne (rendu par ne_lister_campagnes)."},"courrier_actif":{"type":"boolean","description":"false suspend le courrier automatique, tout de suite ; true le reprend, après aperçu et confirmation."},"nom":{"type":"string","description":"Nouveau nom, appliqué tout de suite."},"lettre":{"type":"string","description":"Nouveau texte de lettre pour les passages suivants, après aperçu et confirmation. Variables : {{raisonSociale}}, {{dirigeant}}, {{ville}}."},"codes_naf":{"type":"array","items":{"type":"string"},"description":"Nouveaux codes NAF/APE sans point, qui remplacent les actuels (au moins un). Absent : inchangés."},"departements":{"type":"array","items":{"type":"string"},"description":"Nouveaux départements (ex. [\"75\", \"69\", \"2A\"]), qui remplacent la zone. Absent : zone inchangée ; france_entiere pour tout le territoire."},"region":{"type":"string","description":"Région française, par son nom ou son code INSEE (« Auvergne-Rhône-Alpes » ou « 84 »). Ignoré si des départements ou un rayon sont donnés."},"adresse":{"type":"string","description":"Nouveau centre d'un ciblage par rayon (adresse postale française ou commune). Sur une campagne déjà par rayon, sans rayon_km, le rayon actuel est gardé. L'adresse retenue est rappelée dans l'aperçu."},"rayon_km":{"type":"number","description":"Nouveau rayon en kilomètres (5 à 100). Sur une campagne déjà par rayon, sans nouveau centre, le centre actuel est gardé."},"latitude":{"type":"number","description":"Latitude du centre (WGS84), pour se passer du géocodage. À utiliser avec longitude et rayon_km."},"longitude":{"type":"number","description":"Longitude du centre (WGS84). À utiliser avec latitude et rayon_km."},"formes_juridiques":{"type":"array","items":{"type":"string"},"description":"Nouvelles familles juridiques, qui remplacent les actuelles : ei, sas, sarl, sa, sci, societe-civile, association, copropriete, snc-commandite, cooperative-mutuelle, gie. Absent : inchangées ; toutes_formes retire le filtre."},"age_min_mois":{"type":"number","description":"Nouvelle ancienneté minimale en mois. Fournie seule, l'ancienneté maximale de la campagne est gardée."},"age_max_mois":{"type":"number","description":"Nouvelle ancienneté maximale en mois (600 au plus). Fournie seule, l'ancienneté minimale de la campagne est gardée (0 si elle n'en a pas). De 0 à 3 mois, la liste suit les créations des 90 derniers jours ; toute autre tranche entre entière dans la liste."},"france_entiere":{"type":"boolean","description":"true remplace la zone par la France entière."},"toutes_formes":{"type":"boolean","description":"true retire le filtre de forme juridique."},"confirmation":{"type":"string","description":"Jeton rendu par l'aperçu. Absent : seuls la suspension et le nom s'appliquent, le reste est chiffré sans être appliqué."}},"required":["campagne_id"]},"schema_sortie":{"type":"object","properties":{"apercu":{"type":"boolean","description":"Vrai tant que les changements chiffrés ne sont pas appliqués."},"campagne_id":{"type":"string"},"appliques":{"type":"array","items":{"type":"string"}},"en_attente":{"type":"array","items":{"type":"string"}},"confirmation":{"type":"string"},"estimation":{"type":"object","properties":{"prochain_passage":{"type":"string","description":"Jour du prochain passage (AAAA-MM-JJ, heure de Paris)."},"plis":{"type":"integer"},"cout_cents":{"type":"integer"},"en_attente":{"type":["integer","null"]},"credits_au_passage":{"type":"integer"},"blocage":{"type":["string","null"],"description":"Ce qui empêche tout pli de cette campagne à ce passage : campagne_inactive, abonnement, validation (campagne préparée à valider dans l'application), expediteur, credits ; null si rien ne bloque."},"plis_pris_aux_autres_campagnes":{"type":"integer"}}},"lien_validation":{"type":["string","null"],"description":"Campagne en pause ou pas encore validée : page où l'utilisateur l'active."}}}},{"nom":"ne_suivi_courriers","titre":"Suivre les courriers envoyés","description":"Statut de distribution des courriers envoyés depuis le compte (en cours, envoyé, distribué, retourné, en erreur) et coût, envoi par envoi. Utiliser quand l'utilisateur demande où en sont ses courriers, combien sont arrivés ou ce qu'ils ont coûté. Ne pas utiliser pour la configuration des campagnes (ne_lister_campagnes). Nécessite un compte connecté.","compte_requis":true,"lecture_seule":true,"portee":"lecture","url":"https://nouvelles-entreprises.com/api/v1/outils/ne_suivi_courriers","methodes":["GET","POST"],"schema_entree":{"type":"object","properties":{"limite":{"type":"number","description":"Nombre d'envois à détailler, du plus récent au plus ancien (1 à 20, défaut 5)."}},"required":[]},"schema_sortie":{"type":"object","properties":{"par_statut":{"type":"object","additionalProperties":{"type":"integer"}},"envois":{"type":"array","items":{"type":"object"}}}}},{"nom":"ne_enregistrer_retour","titre":"Enregistrer le retour d'un prospect","description":"Enregistre l'issue d'un prospect contacté : a appelé, rendez-vous pris, devenu client, pas intéressé, ou ne plus contacter. Une entreprise avec un retour n'est plus proposée aux envois ni aux relances du compte ; « ne_plus_contacter » est une exclusion définitive. Remplace le retour précédent de la même entreprise. Utiliser quand l'utilisateur rapporte la réponse d'une entreprise ou une demande de ne plus être contacté. Ne pas utiliser pour une entreprise qui n'a pas répondu. Nécessite un compte connecté.","compte_requis":true,"lecture_seule":false,"portee":"envoi","url":"https://nouvelles-entreprises.com/api/v1/outils/ne_enregistrer_retour","methodes":["POST"],"schema_entree":{"type":"object","properties":{"siret":{"type":"string","description":"SIRET (14 chiffres) de l'entreprise concernée."},"entreprise_id":{"type":"string","description":"Identifiant rendu par ne_rechercher_entreprises, alternative au SIRET."},"statut":{"type":"string","enum":["a_appele","rdv_pris","devenu_client","pas_interesse","ne_plus_contacter"],"description":"Issue constatée."},"note":{"type":"string","description":"Commentaire libre. Optionnel."}},"required":["statut"]},"schema_sortie":{"type":"object","properties":{"entreprise_id":{"type":"string"},"statut":{"type":"string"}}}}]}