# Quick Start Welcome to the GetSales.io Public API Quick Start guide! This guide is designed to help you quickly get started with the GetSales.io API and understand its key functionalities. ## What You'll Learn - How to authenticate with the API. - How to create your first contact. - How to send and retrive LinkedIn messages. ## Authentication To interact with the API, you must authenticate using a valid **API Key** in every request. ### Get Your API Key To get started, generate an API key: 1. Log in to your GetSales.io account. 2. Navigate to the API Keys page. 3. Copy your existing key or create a new one. 4. Use the API key to set up the `Authorization` header: - `Authorization: Bearer {YOUR_TOKEN}` ## Creating a New Contact Follow these steps to create your first contact: 1. Use the `https://amazing.getsales.io/leads/api/leads` endpoint. 2. Add the required headers: - `Authorization: Bearer {YOUR_TOKEN}` 3. Make a `POST` request to the `/leads` endpoint. 4. Each contact must be in some list. So go to Lists page, click on the 3 dots icon of any list and select the "Copy List ID" option img ### Example Request: ```https POST /leads/api/leads HTTP/1.1 Host: amazing.getsales.io Authorization: Bearer {YOUR_TOKEN} Content-Type: application/json { "list_uuid": "uuid-uuid-uuid-uuid-example", "leads": [ { "linkedin_id": "john-doe-123456 or ACoAAAB6GuQBOXo75numqJfM9u08uHgjOSo4p9U", "first_name": "John", "last_name": "Doe", "company_name": "ExampleCorp", "ln_id": "ACoAAAB6GuQBOXo75numqJfM9u08uHgjOSo4p9U", "sn_id": "ACwAAAB6GuQBEz2TMHbG4sa7Nw5wSi7cJXMQkPI", "linkedin": "christina-sletner-b4481a2", "email": "john.doe@example.com", "about": "Some facts about John...", "domain": "somecoolcompany.com", "headline": "Sales & Partner Manager I ERP-/Dynamics 365 Finance/OnSite 365 at Advania Norge", "position": "Sales & Partner Manager", "raw_address": "Oslo, Oslo, Norway", "custom_fields": { "Gender": "Male", "Connection_Message": "Hi John, I loved your recent insights on automating LinkedIn voices. I’d appreciate connecting to learn more about your approach and share ideas!", "First_Message": "Thanks for connection John, I was curious ..." } } ] } ``` ### Example Response: ```json [ { "uuid": "uuid-uuid-uuid-uuid-example", "team_id": 1, "user_id": 1, "sender_profile_uuid": "uuid-uuid-uuid-uuid-example", "list_uuid": "uuid-uuid-uuid-uuid-example", "data_source_uuid": "uuid-uuid-uuid-uuid-example", "pipeline_stage_uuid": "uuid-uuid-uuid-uuid-example", "company_uuid": "uuid-uuid-uuid-uuid-example", "name": "Christina Sletner", "first_name": "Christina", "last_name": "Sletner", "company_name": "Advania Norge", "company_ln_id": "98", "position": "Sales & Partner Manager", "headline": "Sales & Partner Manager I ERP-/Dynamics 365 Finance/OnSite 365 at Advania Norge", "about": "Busy times with contributing to our customers' cloud journey...", "avatar_url": "https://example.com/avatar.jpg", "ln_id": "ACoAAAB6GuQBOXo75numqJfM9u08uHgjOSo4p9U", "sn_id": "ACwAAAB6GuQBEz2TMHbG4sa7Nw5wSi7cJXMQkPI", "linkedin": "christina-sletner-b4481a2", "facebook": "christina-sletner", "twitter": "christina-sletner", "work_email": "christina.sletner@advania.no", "personal_email": "christina88@yahoo.com", "work_phone_number": "+123456789", "personal_phone_number": "+123456789", "connections_number": 500, "followers_number": 1000, "primary_language": "en", "supported_languages": [ ], "has_open_profile": 1, "has_verified_profile": 1, "has_premium": 1, "experience": [ ], "posts": [ ], "educations": [ ], "skills": [ ], "top_voices": [ ], "raw_address": "Oslo, Oslo, Norway", "location": [ ], "tags": [ ], "status": "ok", "linkedin_status": "active", "email_status": "verified", "unread_counts": [ ], "last_automation_approve_at": "2023-07-21T10:15:30Z", "created_at": "2022-12-11T10:00:00Z", "updated_at": "2022-12-11T11:00:00Z" } ] ``` ## Managing LinkedIn Messages ### List LinkedIn Messages for specific Contact Retrieve a list of LinkedIn messages using the `https://amazing.getsales.io/flows/api/linkedin-messages` endpoint with optional filters for more specific results. #### Example Request: ```http GET /flows/api/linkedin-messages?filter[lead_uuid]=uuid-uuid-uuid-uuid-example HTTP/1.1 Host: api.getsales.io Authorization: Bearer {YOUR_TOKEN} ``` #### Optional Query Parameters: - **limit**: Maximum number of messages to retrieve. - **offset**: Offset for pagination. - **order-field**: Field to sort by, default sent_at. - **order-type**: Sorting direction (`asc` or `desc`), default desc. - **filter**: JSON object to refine results based on specific fields (e.g., `sender_profile_uuid`, `lead_uuid`, `status`). #### Example Response: ```json { "data": [ { "uuid": "uuid-uuid-uuid-uuid-example", "team_id": 1, "sender_profile_uuid": "uuid-uuid-uuid-uuid-example", "linkedin_account_uuid": "uuid-uuid-uuid-uuid-example", "linkedin_conversation_uuid": "uuid-uuid-uuid-uuid-example", "lead_uuid": "uuid-uuid-uuid-uuid-example", "task_pipeline_uuid": "uuid-uuid-uuid-uuid-example", "template_uuid": "uuid-uuid-uuid-uuid-example", "message_hash": null, "text": "Hello John, how are you doing?", "custom_content": [], "attachments": [], "type": "outbox", "automation": "auto", "status": "new", "fail_reason": "Some reason of failing", "read_at": "2022-05-20T20:49:39.000000Z", "sent_at": "2022-05-20T20:49:39.000000Z", "user_id": 1 } ], "limit": 10, "offset": 0, "total": 100, "has_more": true } ``` ### Send LinkedIn Message Send a LinkedIn message using the `https://amazing.getsales.io/flows/api/linkedin-messages` endpoint. #### Example Request: ```http POST /flows/api/messages HTTP/1.1 Host: api.getsales.io Authorization: Bearer {YOUR_TOKEN} Content-Type: application/json { "sender_profile_uuid": "uuid-uuid-uuid-uuid-example", "lead_uuid": "uuid-uuid-uuid-uuid-example", "text": "Hello John, how are you?", } ``` #### Example Response: ```json { "uuid": "uuid-uuid-uuid-uuid-example", "team_id": 1, "sender_profile_uuid": "uuid-uuid-uuid-uuid-example", "linkedin_account_uuid": "uuid-uuid-uuid-uuid-example", "linkedin_conversation_uuid": "uuid-uuid-uuid-uuid-example", "lead_uuid": "uuid-uuid-uuid-uuid-example", "task_pipeline_uuid": "uuid-uuid-uuid-uuid-example", "template_uuid": "uuid-uuid-uuid-uuid-example", "message_hash": null, "text": "Hello John, how are you doing?", "custom_content": [], "attachments": [], "type": "outbox", "automation": "auto", "status": "new", "fail_reason": "Some reason of failing", "read_at": "2022-05-20T20:49:39.000000Z", "sent_at": "2022-05-20T20:49:39.000000Z", "user_id": 1 } ``` ## Next Steps Once you've completed this Quick Start guide: - Explore the full API Reference for detailed information about all available endpoints. - Experiment with additional features to create sender profiles and start-stop automations. Happy integrating!