1:Many Integration API Guide
This API supports the following core functions:
Capturing customer leads
Retrieving available conference slots
Registering a user for an event
Canceling (unregistering) a user’s event registration
All requests must be authenticated using API headers.
Base URL
https://widget01.popin.toAuthentication
All API requests require the following headers:
X-API-KEY: your-api-key
X-TOKEN: seller-idIf the API key is missing or invalid, the API responds with:
401 — Unauthorized
Endpoints Overview
All endpoints below are consistent across vendors.
1. Capture Customer Lead
POST /api/v1/external/conference/capture
Used to add a new customer lead into the system.
Request Body
{
"name": "John Doe",
"mobile": "+919544510895"
}Success Response — 200
{
"status": 1,
"user_id": 12345
}Error Responses
401 Unauthorized
422 Validation Error
{ "message": "Validation failed", "errors": { "mobile": ["Invalid phone number"] } }
2. Get Available Conference Slots
GET /api/v1/external/conference/slots
Used to fetch available conference events for a customer.
Two Usage Modes
A. Customer-specific slots (pass user_id)
Example:
https://widget01.popin.to/api/v1/external/conference/slots?user_id=68806This returns slots relevant to the specified user, including registered events.
B. General slots (no user_id required)
If you need a general event-slots link that can be shared with any customer,
you can call the same endpoint without passing user_id.
Example:
https://widget01.popin.to/api/v1/external/conference/slotsThis returns generic available slots that are not user-specific.
Success Response — 200
{
"status": 1,
"events": [
{
"id": 2195,
"name": "Public Macbook demo",
"date": "02",
"month": "Dec",
"time": "04:05 pm",
"end_time": "04:20 pm",
"can_join": false,
"join_url": "https://test-meet.popin.to/rooms/5f3d-b5ca/Njg4MDY="
},
{
"id": 2853,
"name": "iPhone demo",
"date": "02",
"month": "Dec",
"time": "05:30 pm",
"end_time": "05:45 pm",
"can_join": false,
"join_url": "https://test-meet.popin.to/rooms/30fd-d333/Njg4MDY="
}
],
"registeredEvents": []
}Error Responses
401 Unauthorized
422 Validation Error
3. Register User for Event
POST /api/v1/external/conference/register
Registers a customer for a selected event.
Request Body
{
"user_id": 12345,
"event_id": 678
}Success Response — 200
{
"status": 1,
"contact": "+919544510895"
}Error Responses
401 Unauthorized
422 Validation Error
4. Cancel User Event Registration
POST /api/v1/external/conference/cancel
Cancels a user's registration from an event.
Request Body
{
"user_id": 12345,
"event_id": 678
}Success Response — 200
{
"status": 1
}Error Responses
401 Unauthorized
422 Validation Error
Data Models
CaptureRequest
{
"name": "string",
"mobile": "string"
}CaptureResponse
{
"status": 1,
"user_id": 12345
}SlotsResponse
{
"status": 1,
"events": [ConferenceEvent],
"registeredEvents": [1]
}RegisterRequest
{
"user_id": 123,
"event_id": 456
}RegisterResponse
{
"status": 1,
"contact": "string"
}ValidationError
{
"message": "string",
"errors": {
"field": ["validation message"]
}
}Last updated