Contacts
Gérez vos contacts : listez-les, récupérez un contact par ID, ou mettez à jour son état dans le pipeline.
/api/contacts
Retrieves the collection of Contact resources.
Exemple de requête
curl -X GET "https://www.letsligo.com/api/contacts" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_TOKEN"
Paramètres de la requête
| Nom | Type | Description | Requis |
|---|---|---|---|
| page | integer | The collection page number | Non |
| string (email) | Exact email match — used to find a contact | Non |
Exemple de réponse
{
"@context": "/api/contexts/Contact",
"@id": "/api/contacts",
"@type": "hydra:Collection",
"hydra:member": [
{
"@id": "/api/contacts/123e4567-e89b-12d3-a456-426614174000",
"@type": "Contact",
"name": "Marie Dubois",
"company": "Acme Corp",
"email": "[email protected]",
"phone": "+33123456789",
"status": "pending",
"pipelineState": {
"@id": "/api/pipeline_states/223e4567-e89b-12d3-a456-426614174000",
"name": "Nouveau contact"
}
}
],
"hydra:totalItems": 1
}
Attributs de la réponse
| Nom | Type | Description |
|---|---|---|
| member[].name | string | Nom complet du contact (obligatoire). |
| member[].position | string | Poste ou fonction professionnelle. |
| member[].email | string (email) | |
| member[].phone | string | |
| member[].website | string (uri) | URL du site web. |
| member[].address | string | Adresse postale. |
| member[].linkedinUrl | string (uri) | URL du profil LinkedIn. |
| member[].status | string: pending | enriched | contacted | qualified | converted | lost | Statut du contact dans le pipeline : pending, enriched, contacted, qualified, converted ou lost. |
| member[].creationSource | string: letsligo | scan | linkedin_new_relation | null | |
| member[].tags | array | Tableau de tags pour la catégorisation. |
| member[].additionalInfo | string | Notes ou informations complémentaires sur le contact. |
| member[].meetingContext | string | Contexte de la rencontre (ex. salon professionnel, conférence). |
| member[].lastContactAt | string (date-time) | Date et heure du dernier contact (ISO 8601). |
| member[].pipelineState | string | État actuel du contact dans le pipeline. |
| member[].id | string (uuid) | Identifiant unique (UUID) de la ressource. |
| member[].company | string | Returns the primary company name for display (profile, card, list). |
| member[].companyId | string | Returns the primary company UUID for API/MCP (e.g. to call company_get). |
| member[].companyIds | array | Returns all company UUIDs for active memberships. Use company_get with each id for full details. |
/api/contacts
Create a contact
Exemple de requête
curl -X POST "https://www.letsligo.com/api/contacts" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "name": "Marie Dubois", "emails": [ "[email protected]", "[email protected]" ], "company": "Acme Corp" }'
Corps de la requête
{
"name": "Marie Dubois",
"emails": [
"[email protected]",
"[email protected]"
],
"company": "Acme Corp"
}
Paramètres de la requête
| Nom | Type | Description | Requis |
|---|---|---|---|
| name | string | Contact name (required) | Oui |
| emails | array | Email addresses only (one entry if there is a single address). | Non |
| company | string | Non | |
| position | string | Non | |
| phones | array | Phone numbers only (one entry if there is a single number). | Non |
| address | string | Non | |
| website | string | Non | |
| linkedinUrl | string | Non | |
| additionalInfo | string | Non | |
| meetingContext | string | Non |
/api/contacts/confirm
Confirm contact creation (wizard)
Exemple de requête
curl -X POST "https://www.letsligo.com/api/contacts/confirm" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_TOKEN"
Paramètres de la requête
| Nom | Type | Description | Requis |
|---|---|---|---|
| confirmationToken | string | Oui | |
| overrides | object | Last-minute field overrides | Non |
/api/contacts/prepare
Prepare contact creation (wizard)
Exemple de requête
curl -X POST "https://www.letsligo.com/api/contacts/prepare" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_TOKEN"
Paramètres de la requête
| Nom | Type | Description | Requis |
|---|---|---|---|
| text | string | Raw text (signature, vCard) to extract contact from | Oui |
| overrides | object | Field overrides to correct/extend extracted data | Non |
/api/contacts/{id}
Update a contact
Exemple de requête
curl -X PATCH "https://www.letsligo.com/api/contacts/123e4567-e89b-12d3-a456-426614174000" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "company": "Acme Corp", "position": "Directrice", "phones": [ "+33 6 00 00 00 00", "+33 1 00 00 00 00" ] }'
Corps de la requête
{
"company": "Acme Corp",
"position": "Directrice",
"phones": [
"+33 6 00 00 00 00",
"+33 1 00 00 00 00"
]
}
Paramètres de la requête
| Nom | Type | Description | Requis |
|---|---|---|---|
| id | string (uuid) | Identifiant unique (UUID) de la ressource. | Oui |
| name | string | Non | |
| emails | array | Email addresses only (one entry if there is a single address). | Non |
| company | string | Non | |
| position | string | Non | |
| phones | array | Phone numbers only (one entry if there is a single number). | Non |
| address | string | Non | |
| website | string | Non | |
| linkedinUrl | string | Non | |
| additionalInfo | string | Non | |
| meetingContext | string | Non |
/api/contacts/{id}/emails/prepare
Prepare / generate email
Exemple de requête
curl -X POST "https://www.letsligo.com/api/contacts/123e4567-e89b-12d3-a456-426614174000/emails/prepare" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "message": "Rédige un email de relance après notre rencontre au salon" }'
Corps de la requête
{
"message": "Rédige un email de relance après notre rencontre au salon"
}
Paramètres de la requête
| Nom | Type | Description | Requis |
|---|---|---|---|
| id | string (uuid) | Identifiant unique (UUID) de la ressource. | Oui |
| message | string | Instruction for email generation | Oui |
| sessionId | string (uuid) | Existing session ID for iterations | Non |
| currentEmail | object | Non |
/api/contacts/{id}/emails/refine
Refine email
Exemple de requête
curl -X POST "https://www.letsligo.com/api/contacts/123e4567-e89b-12d3-a456-426614174000/emails/refine" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "instruction": "Raccourcis le paragraphe 2", "sessionId": "uuid-from-prepare" }'
Corps de la requête
{
"instruction": "Raccourcis le paragraphe 2",
"sessionId": "uuid-from-prepare"
}
Paramètres de la requête
| Nom | Type | Description | Requis |
|---|---|---|---|
| id | string (uuid) | Identifiant unique (UUID) de la ressource. | Oui |
| instruction | string | e.g. "Shorten paragraph 2" | Oui |
| sessionId | string (uuid) | Required - from prepare | Non |
| currentEmail | object | Non |
/api/contacts/{id}/emails/send
Send email
Exemple de requête
curl -X POST "https://www.letsligo.com/api/contacts/123e4567-e89b-12d3-a456-426614174000/emails/send" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "sessionId": "uuid-from-prepare" }'
Corps de la requête
{
"sessionId": "uuid-from-prepare"
}
Paramètres de la requête
| Nom | Type | Description | Requis |
|---|---|---|---|
| id | string (uuid) | Identifiant unique (UUID) de la ressource. | Oui |
| emailData | object | Non | |
| sessionId | string (uuid) | Non |
/api/contacts/{id}/extend
Extend contact with text
Exemple de requête
curl -X POST "https://www.letsligo.com/api/contacts/123e4567-e89b-12d3-a456-426614174000/extend" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_TOKEN"
Paramètres de la requête
| Nom | Type | Description | Requis |
|---|---|---|---|
| id | string (uuid) | Identifiant unique (UUID) de la ressource. | Oui |
| text | string | Text to append | Oui |
| field | string: additionalInfo | meetingContext | Non |
/api/contacts/{id}/pipeline-state
Update contact pipeline state
Exemple de requête
curl -X PATCH "https://www.letsligo.com/api/contacts/123e4567-e89b-12d3-a456-426614174000/pipeline-state" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "stateId": "123e4567-e89b-12d3-a456-426614174000" }'
Corps de la requête
{
"stateId": "123e4567-e89b-12d3-a456-426614174000"
}
Paramètres de la requête
| Nom | Type | Description | Requis |
|---|---|---|---|
| id | string (uuid) | Contact UUID | Oui |
| stateId | string (uuid), nullable | Pipeline state UUID. Pass null or omit to remove contact from pipeline. | Non |
Exemple de réponse
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "Marie Dubois",
"company": "Acme Corp",
"status": "pending",
"pipelineState": {
"id": "223e4567-e89b-12d3-a456-426614174000",
"name": "Nouveau contact"
}
}
Attributs de la réponse
| Nom | Type | Description |
|---|---|---|
| id | string (uuid) | Identifiant unique (UUID) de la ressource. |
| name | string | Nom complet du contact (obligatoire). |
| company | string, nullable | Nom de l'entreprise ou de l'organisation. |
| status | string: pending | enriched | contacted | qualified | converted | lost | Statut du contact dans le pipeline : pending, enriched, contacted, qualified, converted ou lost. |
| pipelineState | object, nullable | État actuel du contact dans le pipeline. |
/api/contacts/{id}/tasks
Create a task for a contact
Exemple de requête
curl -X POST "https://www.letsligo.com/api/contacts/123e4567-e89b-12d3-a456-426614174000/tasks" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "title": "Appeler pour suivi", "dueDate": "2025-03-20T10:00:00+00:00", "description": "Relance après notre rencontre au salon", "type": "call" }'
Corps de la requête
{
"title": "Appeler pour suivi",
"dueDate": "2025-03-20T10:00:00+00:00",
"description": "Relance après notre rencontre au salon",
"type": "call"
}
Paramètres de la requête
| Nom | Type | Description | Requis |
|---|---|---|---|
| id | string (uuid) | Contact UUID | Oui |
| title | string | Task title (required) | Oui |
| dueDate | string (date-time) | Due date and time (ISO 8601, required) | Oui |
| description | string | Optional task description or notes | Non |
| type | string: call | email | meeting | follow_up | proposal | quote | other | Optional task type | Non |
Exemple de réponse
{
"id": "323e4567-e89b-12d3-a456-426614174000",
"title": "Appeler pour suivi",
"type": "call",
"description": "Relance après notre rencontre au salon",
"dueDate": "2025-03-20T10:00:00+00:00",
"completed": false
}