API des entreprises
đ Pourquoi utiliser lâAPI des entreprises?â
Les entreprises sont une entitĂ© fondamentale dans DataDocks, reprĂ©sentant les organisations qui interagissent avec vos entrepĂŽts â quâil sâagisse de transporteurs qui dĂ©placent les marchandises ou de clients qui les envoient ou les reçoivent. LâAPI des entreprises vous permet de gĂ©rer ces relations de façon automatisĂ©e, en synchronisant vos donnĂ©es dâentreprises avec vos systĂšmes ERP, CRM ou tout autre systĂšme mĂ©tier.
ProblĂšmes rĂ©els rĂ©solus par cette APIâ
- Maintenir une source de vĂ©ritĂ© unique : Synchronisez les donnĂ©es des entreprises entre vos systĂšmes dâentreprise et DataDocks
- Simplifier lâintĂ©gration de nouveaux partenaires : CrĂ©ez automatiquement des fiches transporteurs et clients lors de leur ajout Ă vos systĂšmes
- AmĂ©liorer lâexactitude des donnĂ©es : Gardez Ă jour les coordonnĂ©es et les prĂ©fĂ©rences dâexpĂ©dition
- Automatiser la gestion des relations : ContrĂŽlez de maniĂšre programmatique quelles entreprises peuvent interagir entre elles
DĂ©marrage rapide en 5 minutesâ
Vous voulez voir lâAPI en action tout de suite? Suivez ces Ă©tapes pour crĂ©er votre premiĂšre entreprise :
- Obtenez votre jeton API auprĂšs du support
- Trouvez votre sous-domaine dâemplacement (ex. :
votre-entrepot.datadocks.com
) - Créez une entreprise de base avec cette commande :
Voir un exemple cURL
curl -X POST \
https://your-warehouse.datadocks.com/api/v1/companies \
-H 'Authorization: Token YOUR_API_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"company": {
"name": "Acme Logistics",
"company_type": "carrier",
"company_number": "ACME-001",
"email": "dispatch@acmelogistics.example.com",
"phone": "+15551234567"
}
}'
- VoilĂ âŻ! Vous venez de crĂ©er votre premiĂšre entreprise. VĂ©rifiez votre tableau de bord DataDocks pour la voir.
Vue dâensemble de lâarchitecture de lâAPIâ
âââââââââââââââââââ âââââââââââââââââââ âââââââââââââââââââ
â Votre systĂšme ââââââââ¶â DataDocks API ââââââââ¶â OpĂ©rations entrepĂŽt â
â (ERP/CRM/TMS) ââââââââ†(REST/JSON) ââââââââ†(Entreprises) â
âââââââââââââââââââ âââââââââââââââââââ âââââââââââââââââââ
â âČ
â â
⌠â
âââââââââââââââââââ
â Portails â
â transporteurs â
â / clients â
âââââââââââââââââââ
Authentificationâ
Toutes les requĂȘtes Ă lâAPI doivent inclure votre jeton API dans lâen-tĂȘte Authorization
âŻ:
Authorization: Token YOUR_API_TOKEN
Lister les entreprisesâ
Objectifâ
Obtenir une liste paginĂ©e des entreprises avec filtrage optionnel par type, nom ou numĂ©ro dâentreprise. Utilisez ce point dâaccĂšs pour synchroniser les entreprises avec vos systĂšmes ou gĂ©nĂ©rer des rapports.
Cas dâusage mĂ©tierâ
- Synchroniser les entreprises avec votre ERP ou CRM
- Générer des rapports sur les transporteurs ou clients
- Afficher les informations dâentreprise dans vos tableaux de bord personnalisĂ©s
- Filtrer les entreprises par type pour des traitements spécialisés
RequĂȘte HTTPâ
GET https://[location_subdomain].datadocks.com/api/v1/companies
ParamĂštres de requĂȘteâ
ParamĂštre | Type | Obligatoire | Description | Exemple |
---|---|---|---|---|
page | Integer | Non | Numéro de page pour la pagination (par défaut 1) | page=2 |
company_type | String | Non | Filtrer par type dâentreprise (insensible Ă la casse) | company_type=carrier |
name | String | Non | Filtrer par nom dâentreprise (insensible Ă la casse, dĂ©butant) | name=acme |
company_number | String | Non | Filtrer par numĂ©ro dâentreprise (insensible Ă la casse, exact) | company_number=ACME-001 |
Format de la rĂ©ponseâ
La rĂ©ponse contient un tableau paginĂ© dâobjets entreprise, avec les champs suivantsâŻ:
Champ | Type | Description |
---|---|---|
id | Integer | Identifiant unique de lâentreprise |
parent_id | Integer | ID de la société parente (null si aucune) |
company_type | String | Type dâentreprise ("carrier", "customer" ou "both") |
name | String | Nom de lâentreprise |
company_number | String | Identifiant externe unique de lâentreprise |
email | String | Adresse courriel principale de lâentreprise |
phone | String | Numéro de téléphone principal |
street | String | Adresse civique |
unit | String | N° de suite/unité |
city | String | Ville |
province | String | Province ou Ătat |
country | String | Code pays (ISO 2 lettres) |
postal | String | Code postal ou ZIP |
category | String | Catégorie ou classe |
auto_approve_appointments | Boolean | Les rendez-vous sont-ils automatiquement approuvés� |
can_create_carriers | Boolean | Peut-elle crĂ©er dâautres transporteursâŻ? |
notifications | Boolean | Reçoit-elle des notifications� |
custom_values | Object | Paires clé-valeur de champs personnalisés |
users | Array | Liste des utilisateurs liés à cette entreprise |
Exemples de codeâ
cURLâ
Voir un exemple cURL
# Liste de base
curl -H "Authorization: Token YOUR_API_TOKEN" \
https://YOUR_LOCATION.datadocks.com/api/v1/companies
# Filtrer par type dâentreprise et nom
curl -H "Authorization: Token YOUR_API_TOKEN" \
"https://YOUR_LOCATION.datadocks.com/api/v1/companies?company_type=carrier&name=logistic"
JavaScriptâ
Voir un exemple JavaScript
// Utiliser fetch API avec des filtres
const getCompanies = async (companyType, nameFilter, companyNumber) => {
const params = new URLSearchParams();
if (companyType) params.append("company_type", companyType);
if (nameFilter) params.append("name", nameFilter);
if (companyNumber) params.append("company_number", companyNumber);
const response = await fetch(
`https://YOUR_LOCATION.datadocks.com/api/v1/companies?${params.toString()}`,
{
method: "GET",
headers: {
Authorization: "Token YOUR_API_TOKEN",
"Content-Type": "application/json",
},
}
);
// Gérer les erreurs potentielles
if (!response.ok) {
const errorData = await response.json();
throw new Error(`Ăchec lors de la rĂ©cupĂ©ration des entreprises : ${JSON.stringify(errorData)}`);
}
return response.json();
};
Exemple de rĂ©ponseâ
Voir un exemple de réponse
[
{
"id": 1,
"parent_id": null,
"company_type": "carrier",
"name": "Joe's Shipping",
"company_number": "A17727959343",
"email": "info@joesshipping.com",
"phone": "+14161231234",
"street": "1 Yonge St.",
"unit": null,
"city": "Toronto",
"province": "ON",
"country": "CA",
"postal": "M8H 1G1",
"category": null,
"auto_approve_appointments": true,
"can_create_carriers": false,
"notifications": true,
"custom_values": {
"ap_contact": "Sue Brown",
"sales_contact": "Tim Jones",
"facility_contact": "John Green"
},
"users": [
{
"email": "driver@joesshipping.com",
"name": "Joe Driver"
}
]
},
{
"id": 2,
"parent_id": null,
"company_type": "customer",
"name": "Spatula City",
"company_number": "B83582616848",
"email": "info@spatulacity.com",
"phone": "+14161231234",
"street": "1 Yonge St.",
"unit": "4",
"city": "Toronto",
"province": "ON",
"country": "CA",
"postal": "M8H 1G1",
"category": null,
"auto_approve_appointments": false,
"can_create_carriers": true,
"notifications": false,
"custom_values": {
"ap_contact": "",
"sales_contact": "Al Yankovic",
"facility_contact": ""
},
"users": []
}
]
Paginationâ
La rĂ©ponse est paginĂ©e pour gĂ©rer le volume de donnĂ©es. Pour plus dâinformations sur les en-tĂȘtes de pagination et la navigation, consultez la documentation sur la pagination.
Obtenir une entreprise spĂ©cifiqueâ
Objectifâ
Obtenir les dĂ©tails dâune entreprise donnĂ©e par son ID. Utilisez ce point dâaccĂšs quand vous avez besoin de toutes les informations disponibles pour une entreprise particuliĂšre.
Cas dâusage mĂ©tierâ
- Afficher le dĂ©tail dâune entreprise dans votre application
- Vérifier les coordonnées avant de traiter une transaction
- Récupérer les infos de contact pour des communications
- AccĂ©der aux paramĂštres spĂ©cifiques de lâentreprise
RequĂȘte HTTPâ
GET https://[location_subdomain].datadocks.com/api/v1/companies/:id
ParamĂštres de cheminâ
ParamĂštre | Type | Obligatoire | Description |
---|---|---|---|
id | Integer | Oui | ID unique de lâentreprise |
RĂ©ponseâ
Une requĂȘte rĂ©ussie retourne un code 200 OK
avec lâobjet entreprise complet, au mĂȘme format que pour la liste.
Exemples de codeâ
cURLâ
Voir un exemple cURL
curl -H "Authorization: Token YOUR_API_TOKEN" \
https://YOUR_LOCATION.datadocks.com/api/v1/companies/123
JavaScriptâ
Voir un exemple JavaScript
const getCompany = async (companyId) => {
try {
const response = await fetch(
`https://YOUR_LOCATION.datadocks.com/api/v1/companies/${companyId}`,
{
method: "GET",
headers: {
Authorization: "Token YOUR_API_TOKEN",
"Content-Type": "application/json",
},
}
);
if (!response.ok) {
if (response.status === 404) {
throw new Error(`Entreprise #${companyId} introuvable`);
}
const errorData = await response.json();
throw new Error(
`Ăchec lors de la rĂ©cupĂ©ration de lâentreprise : ${JSON.stringify(errorData)}`
);
}
return await response.json();
} catch (error) {
console.error("Erreur lors de la rĂ©cupĂ©ration de lâentreprise :", error);
throw error;
}
};
CrĂ©er une entrepriseâ
Objectifâ
CrĂ©er un nouvel enregistrement dâentreprise dans DataDocks. Cet endpoint vous permet dâajouter de nouveaux transporteurs ou clients de façon automatisĂ©e.
Arbre de dĂ©cisionâŻ: Quand crĂ©er une entreprise via lâAPIâŻ?â
âââââââââââââââââââ
â Faut-il ajouter â
â une entreprise?â
ââââââââââŹâââââââââ
â
âŒ
âââââââââââââââââââ Oui âââââââââââââââââââ
â Plusieurs Ă âââââââââââââââ¶â Utilisez le â
â ajouter en mĂȘme â â chargement en â
â temps? â â vrac â
ââââââââââŹâââââââââ âââââââââââââââââââ
â Non
âŒ
âââââââââââââââââââ Oui âââââââââââââââââââ
â Un ajout unique âââââââââââââââ¶â Passez par â
â / occasionnel?â â lâinterface web â
ââââââââââŹâââââââââ âââââââââââââââââââ
â Non
âŒ
âââââââââââââââââââ
â Parfait pour â
â lâAPIâ! â
âââââââââââââââââââ
Cas dâusage mĂ©tierâ
- Intégration systÚme : Créez des entreprises directement depuis votre ERP ou CRM
- Automatiser lâintĂ©gration : Ajoutez de nouveaux transporteurs/clients automatiquement
- Migration de donnĂ©esâŻ: TransfĂ©rez des fiches depuis vos anciens systĂšmes
- IntĂ©gration partenairesâŻ: Permettez Ă vos partenaires dâinscrire leur entreprise via vos systĂšmes
RequĂȘte HTTPâ
POST https://[location_subdomain].datadocks.com/api/v1/companies
Corps de la requĂȘteâ
ParamÚtre | Type | Obligatoire | Description | Contraintes | Par défaut | Exemple |
---|---|---|---|---|---|---|
name | String | Oui | Nom de lâentreprise | 2-164 caractĂšres, unique dans lâorg (casse insens.) | Aucune | "Acme Logistics" |
company_type | String | Oui | Type dâentreprise | "carrier", "customer" ou "both" | Aucune | "carrier" |
company_number | String | Non | Identifiant externe | Unique dans org | Numéro 11 chiffres auto | "ACME-001" |
email | String | Non | Adresse courriel principale | Format courriel valide, 4-128 caractĂšres | Aucune | "info@example.com" |
phone | String | Non | Numéro de téléphone principal | Aucune | Aucune | "+15551234567" |
street | String | Non | Adresse civique | 4-64 caractÚres si présent | Aucune | "123 Main St" |
unit | String | Non | N° de suite/unité | 1-64 caractÚres si présent | Aucune | "Suite 400" |
city | String | Non | Ville | 2-64 caractÚres si présent | Aucune | "Chicago" |
province | String | Non | Province ou Ătat | Aucune | Aucune | "IL" |
country | String | Non | Code pays | 2 lettres si fourni (code ISO) | Aucune | "US" |
postal | String | Non | Code postal ou ZIP | 4-10 caractÚres si présent | Aucune | "60601" |
category | String | Non | Catégorie ou classe | Aucune | Aucune | "Premium" |
auto_approve_appointments | Boolean | Non | Approuve-t-elle auto. les rendez-vous | Aucune | false | true |
can_create_carriers | Boolean | Non | Peut-elle créer des transporteurs | Aucune | false | false |
notifications | Boolean | Non | Reçoit-elle des notifications | Aucune | false | true |
can_book_drop_trailers | Boolean | Non | Peut réserver des remorques à déposer | Aucune | true | true |
send_appointment_no_show_notifications | Boolean | Non | Envoie des notifs «no show» | Aucune | true | true |
send_appointment_late_notifications | Boolean | Non | Envoie des notifs de retard | Aucune | true | true |
custom_values | Object | Non | Valeurs champs personnalisĂ©s | Selon les paramĂštres de lâemplacement | {} | {"reference": "ABC123"} |
invite_user | String | Non | Inviter un utilisateur lié | Si "true", utilise le champ courriel | false | "true" |
parent_id | Integer | Non | ID entreprise parente | Doit exister | Aucune | 123 |
RĂ©ponseâ
Un succĂšs retourne 200 OK
avec lâobjet entreprise complet, incluant son id
et autres valeurs générées par le systÚme.
Exemples de codeâ
cURLâ
Voir un exemple cURL
curl -H "Authorization: Token YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-X POST \
-d '{
"company": {
"name": "Quick Transport Inc",
"company_type": "carrier",
"company_number": "QT-2023-001",
"email": "dispatch@quicktransport.example.com",
"phone": "+15551234567",
"street": "123 Logistics Way",
"city": "Chicago",
"province": "IL",
"country": "US",
"postal": "60601",
"auto_approve_appointments": true,
"notifications": true,
"custom_values": {
"insurance_policy": "INS-567890",
"preferred_dock": "Dock 3"
},
"invite_user": "true",
"parent_id": 123
}
}' \
https://YOUR_LOCATION.datadocks.com/api/v1/companies
JavaScriptâ
Voir un exemple JavaScript
const createCompany = async (companyData) => {
try {
const response = await fetch(
`https://YOUR_LOCATION.datadocks.com/api/v1/companies`,
{
method: "POST",
headers: {
Authorization: "Token YOUR_API_TOKEN",
"Content-Type": "application/json",
},
body: JSON.stringify({ company: companyData }),
}
);
if (!response.ok) {
const errorData = await response.json();
const errorMessages = Object.entries(errorData.errors || {})
.map(([field, messages]) => `${field}: ${messages.join(", ")}`)
.join("\n");
throw new Error(`Ăchec de la crĂ©ation de lâentrepriseâŻ:\n${errorMessages}`);
}
return await response.json();
} catch (error) {
console.error("Erreur APIâŻ:", error);
throw error;
}
};
Mettre Ă jour une entrepriseâ
Objectifâ
Mettre Ă jour les informations dâune entreprise existante. Cet endpoint vous permet de modifier tout aspect dâune fiche entreprise.
Cas dâusage mĂ©tierâ
- Garder les données à jour : Modifiez coordonnées ou préférences logistiques
- Changer lâĂ©tat de lâentreprise : Modifiez les paramĂštres de notification ou dâapprobation automatique des rendez-vous
- GĂ©rer les permissions : Ajustez ce que lâentreprise peut faire dans le systĂšme
- Synchroniser les systÚmes : Gardez DataDocks aligné avec votre ERP/CRM
RequĂȘte HTTPâ
PUT https://[location_subdomain].datadocks.com/api/v1/companies/:id
ParamĂštres de cheminâ
ParamĂštre | Type | Obligatoire | Description |
---|---|---|---|
id | Integer | Oui | ID unique de lâentreprise |
Corps de la requĂȘteâ
Le corps accepte les mĂȘmes paramĂštres que pour la crĂ©ation. Seuls les champs Ă modifier doivent ĂȘtre inclus.
ScĂ©narios courants de mise Ă jourâ
Mettre Ă jour les coordonnĂ©esâ
{
"company": {
"email": "new-contact@example.com",
"phone": "+15559876543"
}
}
Modifier les notificationsâ
{
"company": {
"notifications": true,
"auto_approve_appointments": false
}
}
Mettre Ă jour lâadresseâ
{
"company": {
"street": "456 New Street",
"city": "New City",
"province": "NC",
"postal": "90210"
}
}
Exemples de codeâ
cURLâ
Voir un exemple cURL
curl -H "Authorization: Token YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-X PUT \
-d '{
"company": {
"name": "Updated Company Name",
"email": "newemail@example.com",
"custom_values": {
"account_manager": "Jane Smith"
}
}
}' \
https://YOUR_LOCATION.datadocks.com/api/v1/companies/123
JavaScriptâ
Voir un exemple JavaScript
const updateCompany = async (companyId, updateData) => {
try {
const response = await fetch(
`https://YOUR_LOCATION.datadocks.com/api/v1/companies/${companyId}`,
{
method: "PUT",
headers: {
Authorization: "Token YOUR_API_TOKEN",
"Content-Type": "application/json",
},
body: JSON.stringify({ company: updateData }),
}
);
if (!response.ok) {
const errorData = await response.json();
throw new Error(`Ăchec de la mise Ă jour de lâentrepriseâŻ: ${JSON.stringify(errorData)}`);
}
return await response.json();
} catch (error) {
console.error("Erreur lors de la mise Ă jour de lâentrepriseâŻ:", error);
throw error;
}
};
// Exemple dâutilisation
const updateCompanyEmail = async (companyId, newEmail) => {
try {
const updatedCompany = await updateCompany(companyId, {
email: newEmail,
});
console.log(`Mise Ă jour du courriel pour lâentreprise #${updatedCompany.id} rĂ©ussie`);
return updatedCompany;
} catch (error) {
console.error(`Ăchec de la mise Ă jour de lâentreprise #${companyId}âŻ:`, error);
throw error;
}
};
Gestion des erreursâ
Code erreur | Description | Cause possible |
---|---|---|
400 | RequĂȘte invalide | Valeurs ou format incorrects |
404 | Introuvable | LâID entreprise nâexiste pas |
422 | EntitĂ© non traitable | Validation Ă©chouĂ©e (exâŻ: nom en doublon) |
401 | Non autorisé | Jeton API manquant ou invalide |
403 | Interdit | Permissions insuffisantes |
Supprimer une entrepriseâ
Objectifâ
Supprimer une entreprise du systĂšme. Ce point dâaccĂšs permet dâeffacer les entreprises devenues inutiles.
Points importants Ă considĂ©rerâ
Avant de supprimer une entrepriseâŻ:
- Lâentreprise ne doit pas avoir de rendez-vous actifs
- Lâentreprise ne doit pas ĂȘtre liĂ©e Ă des listes dâemballage actives
- La suppression est définitive et irréversible
Cas dâusage mĂ©tierâ
- Nettoyer les données de test : Supprimez les entreprises de tests
- Respecter les demandes de confidentialité : Effacez les infos sur demande
- Effacer les doublons : Nettoyez aprÚs déduplication des données
- Entretien systĂšme : Retirez les entreprises inactives
RequĂȘte HTTPâ
DELETE https://[location_subdomain].datadocks.com/api/v1/companies/:id
ParamĂštres de cheminâ
ParamĂštre | Type | Obligatoire | Description |
---|---|---|---|
id | Integer | Oui | ID unique de lâentreprise |
RĂ©ponseâ
Le succÚs retourne une réponse 204 No Content
, indiquant que lâentreprise a bien Ă©tĂ© supprimĂ©e.
Exemples de codeâ
cURLâ
Voir un exemple cURL
curl -H "Authorization: Token YOUR_API_TOKEN" \
-X DELETE \
https://YOUR_LOCATION.datadocks.com/api/v1/companies/123
JavaScriptâ
Voir un exemple JavaScript
const deleteCompany = async (companyId) => {
try {
const response = await fetch(
`https://YOUR_LOCATION.datadocks.com/api/v1/companies/${companyId}`,
{
method: "DELETE",
headers: {
Authorization: "Token YOUR_API_TOKEN",
},
}
);
if (!response.ok) {
if (response.status === 404) {
throw new Error(`Entreprise #${companyId} introuvable`);
}
const errorData = await response.json();
throw new Error(`Ăchec lors de la suppression : ${JSON.stringify(errorData)}`);
}
return true; // Suppression réussie
} catch (error) {
console.error("Erreur de suppressionâŻ:", error);
throw error;
}
};
Gestion des erreursâ
Code erreur | Description | Cause possible |
---|---|---|
404 | Introuvable | LâID entreprise nâexiste pas |
401 | Non autorisé | Jeton API manquant ou invalide |
403 | Interdit | Permissions insuffisantes pour la suppression |
422 | EntitĂ© non traitable | Impossible de supprimer (exâŻ: associĂ©s Ă des rendez-vous ou listes) |
RĂšgles de validation des champsâ
Pour la crĂ©ation/mise Ă jour dâentreprises, ces rĂšgles sâappliquentâŻ:
Champ | RĂšgles de validation |
---|---|
name | Obligatoire, 2-164 caractĂšres, unique dans lâorg (insensible casse) |
company_type | Obligatoire, "carrier", "customer" ou "both" |
company_number | Facultatif, unique dans org |
email | Facultatif, format courriel valide, 4-128 caractĂšres |
street | Facultatif, 4-64 caractĂšres si fourni |
unit | Facultatif, 1-64 caractĂšres si fourni |
city | Facultatif, 2-64 caractĂšres si fourni |
country | Facultatif, exactement 2 lettres si fourni (code ISO) |
postal | Facultatif, 4-10 caractĂšres si fourni |
Invitation automatique dâun utilisateurâ
Lors de la crĂ©ation/mise Ă jour dâune entreprise, vous pouvez automatiquement inviter un utilisateur associĂ© en passant le paramĂštre invite_user
Ă "true"
, "yes"
, "y"
ou "t"
(casse insensible).
Le systĂšmeâŻ:
- CrĂ©e un utilisateur associĂ© Ă lâentreprise avec lâadresse courriel de lâentreprise
- Envoie une invitation par courriel Ă cette adresse
- Lâutilisateur pourra alors crĂ©er son compte et accĂ©der Ă lâentreprise dans DataDocks
ExempleâŻ:
{
"company": {
"name": "New Carrier Inc",
"company_type": "carrier",
"email": "dispatch@newcarrier.example.com",
"invite_user": "true"
}
}
Bonnes pratiquesâ
Gestion des donnĂ©esâ
- Utilisez des identifiants cohĂ©rents : Gardez le numĂ©ro dâentreprise alignĂ© dans tous vos systĂšmes
- Validez cĂŽtĂ© client : VĂ©rifiez les donnĂ©es avant lâenvoi pour respecter les validations
- Gérez bien les champs personnalisés : Utilisez seulement ceux prévus par votre emplacement
- Attention à la suppression : Préférez la mise à jour quand pertinent
- Invitez uniquement les bons utilisateurs : LâaccĂšs systĂšme doit ĂȘtre justifiĂ©
Optimisation des performancesâ
- Effectuez des mises Ă jour en lot : Groupez les modifications similaires
- Utilisez la pagination : Ne demandez que les entreprises dont vous avez besoin
- Filtrez efficacement : Utilisez les filtres existants pour limiter le volume de données
- Mettez en cache les recherches fréquentes : Stockez localement ce qui est souvent consulté
PiĂšges courants et dĂ©pannageâ
- Nom unique : Les noms doivent ĂȘtre uniques dans lâorganisation (insensible Ă la casse)
- Format courriel : Les adresses doivent respecter le format et la longueur
- Valeurs personnalisĂ©es : Seuls les champs autorisĂ©s pour lâemplacement sont acceptĂ©s
- Types dâentreprise : Seules "carrier", "customer" ou "both" sont valides
- NumĂ©ro dâentreprise automatique : Il est gĂ©nĂ©rĂ© si non fourni (jusquâĂ 11 chiffres)
- Code pays : Obligatoire au format ISO 2 lettres (exâŻ: "US", "CA", "MX")
- Entreprises parentes : Le parent doit exister; les permissions sont créées automatiquement
- CasseâŻ: Les filtres sont insensibles Ă la casse, tout comme la validation interne
Aide et supportâ
Si vous rencontrez un problĂšme non couvert par cette documentationâŻ:
- VĂ©rifiez la rĂ©ponse dâerreurâŻ: la majoritĂ© des dĂ©fauts comporte des infos explicites
- VĂ©rifiez vos permissionsâŻ: assurez-vous que votre jeton API a les droits requis
- Avancez par Ă©tapesâŻ: dĂ©composez vos opĂ©rations pour isoler le souci
Relation parent-enfant entre entreprisesâ
Quand vous créez une entreprise avec une société parente (parent_id
), le lien parent-enfant est automatiquement créé. Cela signifieâŻ:
- Lâentreprise âenfantâ est liĂ©e Ă la parente via le champ
parent_id
- Les permissions de réservation sont générées automatiquement dans les deux sens
- La sociĂ©tĂ© parente peut effectuer des rĂ©servations pour lâenfant
- Lâenfant peut rĂ©server pour la parente
Cela simplifie la gestion des groupes dâentreprisesâŻ: elles peuvent interagir immĂ©diatement, sans autre configuration.
Exemple de crĂ©ation dâune filialeâŻ:
{
"company": {
"name": "Northeast Branch",
"company_type": "carrier",
"parent_id": 123,
"email": "northeast@example.com"
}
}