Spaces:
Runtime error
Runtime error
| basePath: /api | |
| definitions: | |
| dto.AssignRoleRequest: | |
| properties: | |
| role: | |
| type: string | |
| user_id: | |
| type: string | |
| required: | |
| - role | |
| - user_id | |
| type: object | |
| dto.AuthResponse: | |
| properties: | |
| access_token: | |
| type: string | |
| success_msg: | |
| type: string | |
| user_id: | |
| type: string | |
| username: | |
| type: string | |
| type: object | |
| dto.ConnectRequest: | |
| type: object | |
| dto.ConnectResponse: | |
| properties: | |
| account_id: | |
| type: string | |
| details: | |
| type: string | |
| message: | |
| type: string | |
| qr_code: | |
| type: string | |
| type: object | |
| dto.ConnectionStatusResponse: | |
| properties: | |
| account_id: | |
| type: string | |
| jid: | |
| type: string | |
| status: | |
| type: string | |
| type: object | |
| dto.ContactResponse: | |
| properties: | |
| full_name: | |
| type: string | |
| jid: | |
| type: string | |
| name: | |
| type: string | |
| phone_number: | |
| type: string | |
| push_name: | |
| type: string | |
| type: object | |
| dto.CreateUserRequest: | |
| properties: | |
| password: | |
| minLength: 6 | |
| type: string | |
| role: | |
| type: string | |
| username: | |
| type: string | |
| required: | |
| - password | |
| - role | |
| - username | |
| type: object | |
| dto.ErrorResponse: | |
| properties: | |
| errors: {} | |
| message: {} | |
| meta_data: {} | |
| status: | |
| type: string | |
| type: object | |
| dto.FetchContactsResponse: | |
| properties: | |
| account_id: | |
| type: string | |
| contacts: | |
| items: | |
| $ref: '#/definitions/dto.ContactResponse' | |
| type: array | |
| type: object | |
| dto.LoginRequest: | |
| properties: | |
| password: | |
| type: string | |
| username: | |
| type: string | |
| required: | |
| - password | |
| - username | |
| type: object | |
| dto.MeResponse: | |
| properties: | |
| account_name: | |
| type: string | |
| is_active: | |
| type: boolean | |
| jid: | |
| type: string | |
| phone: | |
| type: string | |
| role: | |
| type: string | |
| user_id: | |
| type: string | |
| username: | |
| type: string | |
| type: object | |
| dto.RegisterEnabledResponse: | |
| properties: | |
| register: | |
| type: boolean | |
| type: object | |
| dto.RegisterRequest: | |
| properties: | |
| password: | |
| minLength: 6 | |
| type: string | |
| username: | |
| minLength: 3 | |
| type: string | |
| required: | |
| - password | |
| - username | |
| type: object | |
| dto.SendMessageRequest: | |
| properties: | |
| message: | |
| example: Hello world | |
| type: string | |
| recipient: | |
| example: "628123456789" | |
| type: string | |
| required: | |
| - message | |
| - recipient | |
| type: object | |
| dto.SendMessageResponse: | |
| properties: | |
| message_id: | |
| type: string | |
| status: | |
| type: string | |
| type: object | |
| dto.SetRegistrationRequest: | |
| properties: | |
| enabled: | |
| type: boolean | |
| type: object | |
| dto.UpdateUserRequest: | |
| properties: | |
| id: | |
| type: string | |
| password: | |
| minLength: 6 | |
| type: string | |
| role: | |
| type: string | |
| username: | |
| type: string | |
| required: | |
| - id | |
| type: object | |
| dto.UserResponse: | |
| properties: | |
| created_at: | |
| type: string | |
| id: | |
| type: string | |
| role: | |
| type: string | |
| username: | |
| type: string | |
| type: object | |
| info: | |
| contact: | |
| email: support@swagger.io | |
| name: API Support | |
| url: http://www.swagger.io/support | |
| description: This is the API documentation for the Whatsapp Backend. | |
| license: | |
| name: Apache 2.0 | |
| url: http://www.apache.org/licenses/LICENSE-2.0.html | |
| termsOfService: http://swagger.io/terms/ | |
| title: Whatsapp Backend API | |
| version: "1.0" | |
| paths: | |
| /admin/create: | |
| post: | |
| consumes: | |
| - application/json | |
| description: Create a new user with specific role | |
| parameters: | |
| - description: Create User Request | |
| in: body | |
| name: request | |
| required: true | |
| schema: | |
| $ref: '#/definitions/dto.CreateUserRequest' | |
| produces: | |
| - application/json | |
| responses: | |
| "200": | |
| description: OK | |
| schema: | |
| $ref: '#/definitions/dto.UserResponse' | |
| "400": | |
| description: Bad Request | |
| schema: | |
| $ref: '#/definitions/dto.ErrorResponse' | |
| security: | |
| - BearerAuth: [] | |
| summary: Create a new user (Admin) | |
| tags: | |
| - admin | |
| /admin/delete: | |
| post: | |
| consumes: | |
| - application/json | |
| description: Delete a user by ID | |
| parameters: | |
| - description: User ID | |
| in: query | |
| name: id | |
| required: true | |
| type: string | |
| produces: | |
| - application/json | |
| responses: | |
| "200": | |
| description: OK | |
| security: | |
| - BearerAuth: [] | |
| summary: Delete a user (Admin) | |
| tags: | |
| - admin | |
| /admin/set_registration: | |
| post: | |
| consumes: | |
| - application/json | |
| description: Enable or disable user registration | |
| parameters: | |
| - description: Set Registration Request | |
| in: body | |
| name: request | |
| required: true | |
| schema: | |
| $ref: '#/definitions/dto.SetRegistrationRequest' | |
| responses: | |
| "200": | |
| description: OK | |
| schema: | |
| $ref: '#/definitions/dto.RegisterEnabledResponse' | |
| security: | |
| - BearerAuth: [] | |
| summary: Toggle registration enabled | |
| tags: | |
| - admin | |
| /admin/update: | |
| post: | |
| consumes: | |
| - application/json | |
| description: Update user details | |
| parameters: | |
| - description: Update User Request | |
| in: body | |
| name: request | |
| required: true | |
| schema: | |
| $ref: '#/definitions/dto.UpdateUserRequest' | |
| produces: | |
| - application/json | |
| responses: | |
| "200": | |
| description: OK | |
| schema: | |
| $ref: '#/definitions/dto.UserResponse' | |
| "400": | |
| description: Bad Request | |
| schema: | |
| $ref: '#/definitions/dto.ErrorResponse' | |
| security: | |
| - BearerAuth: [] | |
| summary: Update a user (Admin) | |
| tags: | |
| - admin | |
| /auth/assign: | |
| post: | |
| consumes: | |
| - application/json | |
| description: Assign a role to a user | |
| parameters: | |
| - description: Assign Role Request | |
| in: body | |
| name: request | |
| required: true | |
| schema: | |
| $ref: '#/definitions/dto.AssignRoleRequest' | |
| produces: | |
| - application/json | |
| responses: | |
| "200": | |
| description: OK | |
| "400": | |
| description: Bad Request | |
| schema: | |
| $ref: '#/definitions/dto.ErrorResponse' | |
| security: | |
| - BearerAuth: [] | |
| summary: Assign Role (SuperAdmin) | |
| tags: | |
| - auth | |
| /auth/login: | |
| post: | |
| consumes: | |
| - application/json | |
| description: Login a user with credentials | |
| parameters: | |
| - description: Login Request | |
| in: body | |
| name: request | |
| required: true | |
| schema: | |
| $ref: '#/definitions/dto.LoginRequest' | |
| produces: | |
| - application/json | |
| responses: | |
| "200": | |
| description: OK | |
| schema: | |
| $ref: '#/definitions/dto.AuthResponse' | |
| "400": | |
| description: Bad Request | |
| schema: | |
| $ref: '#/definitions/dto.ErrorResponse' | |
| summary: Login a user | |
| tags: | |
| - auth | |
| /auth/logout: | |
| post: | |
| description: Logout the current user | |
| responses: | |
| "200": | |
| description: OK | |
| security: | |
| - BearerAuth: [] | |
| summary: Logout a user | |
| tags: | |
| - auth | |
| /auth/me: | |
| get: | |
| description: Get the profile of the currently logged-in user | |
| responses: | |
| "200": | |
| description: OK | |
| schema: | |
| $ref: '#/definitions/dto.MeResponse' | |
| "401": | |
| description: Unauthorized | |
| schema: | |
| $ref: '#/definitions/dto.ErrorResponse' | |
| security: | |
| - BearerAuth: [] | |
| summary: Get current user profile | |
| tags: | |
| - auth | |
| /auth/refresh: | |
| post: | |
| description: Refresh the access token using the refresh token cookie | |
| responses: | |
| "200": | |
| description: OK | |
| schema: | |
| $ref: '#/definitions/dto.AuthResponse' | |
| "401": | |
| description: Unauthorized | |
| schema: | |
| $ref: '#/definitions/dto.ErrorResponse' | |
| security: | |
| - BearerAuth: [] | |
| summary: Refresh access token | |
| tags: | |
| - auth | |
| /auth/register: | |
| post: | |
| consumes: | |
| - application/json | |
| description: Register a new user with the provided details | |
| parameters: | |
| - description: Register Request | |
| in: body | |
| name: request | |
| required: true | |
| schema: | |
| $ref: '#/definitions/dto.RegisterRequest' | |
| produces: | |
| - application/json | |
| responses: | |
| "200": | |
| description: OK | |
| schema: | |
| $ref: '#/definitions/dto.AuthResponse' | |
| "400": | |
| description: Bad Request | |
| schema: | |
| $ref: '#/definitions/dto.ErrorResponse' | |
| summary: Register a new user | |
| tags: | |
| - auth | |
| /auth/register_enabled: | |
| get: | |
| description: Check if user registration is enabled | |
| responses: | |
| "200": | |
| description: OK | |
| schema: | |
| $ref: '#/definitions/dto.RegisterEnabledResponse' | |
| security: | |
| - BearerAuth: [] | |
| summary: Check if registration is enabled | |
| tags: | |
| - auth | |
| /chat/contacts: | |
| get: | |
| consumes: | |
| - application/json | |
| description: Fetch list of contacts from the connected WhatsApp account | |
| produces: | |
| - application/json | |
| responses: | |
| "200": | |
| description: OK | |
| schema: | |
| $ref: '#/definitions/dto.FetchContactsResponse' | |
| "400": | |
| description: Bad Request | |
| schema: | |
| $ref: '#/definitions/dto.ErrorResponse' | |
| "401": | |
| description: Unauthorized | |
| schema: | |
| $ref: '#/definitions/dto.ErrorResponse' | |
| security: | |
| - BearerAuth: [] | |
| summary: Fetch WhatsApp contacts | |
| tags: | |
| - chat | |
| /chat/send_img: | |
| post: | |
| consumes: | |
| - multipart/form-data | |
| description: Send an image to a WhatsApp number via file upload | |
| parameters: | |
| - description: Image file to send | |
| in: formData | |
| name: image | |
| required: true | |
| type: file | |
| - description: Recipient phone number | |
| example: "628123456789" | |
| in: formData | |
| name: recipient | |
| required: true | |
| type: string | |
| - description: Image caption | |
| in: formData | |
| name: caption | |
| type: string | |
| produces: | |
| - application/json | |
| responses: | |
| "200": | |
| description: OK | |
| schema: | |
| $ref: '#/definitions/dto.SendMessageResponse' | |
| "400": | |
| description: Bad Request | |
| schema: | |
| $ref: '#/definitions/dto.ErrorResponse' | |
| "401": | |
| description: Unauthorized | |
| schema: | |
| $ref: '#/definitions/dto.ErrorResponse' | |
| security: | |
| - BearerAuth: [] | |
| summary: Send WhatsApp image | |
| tags: | |
| - chat | |
| /chat/send_msg: | |
| post: | |
| consumes: | |
| - application/json | |
| description: Send a text message to a WhatsApp number | |
| parameters: | |
| - description: Send Message Request | |
| in: body | |
| name: request | |
| required: true | |
| schema: | |
| $ref: '#/definitions/dto.SendMessageRequest' | |
| produces: | |
| - application/json | |
| responses: | |
| "200": | |
| description: OK | |
| schema: | |
| $ref: '#/definitions/dto.SendMessageResponse' | |
| "400": | |
| description: Bad Request | |
| schema: | |
| $ref: '#/definitions/dto.ErrorResponse' | |
| "401": | |
| description: Unauthorized | |
| schema: | |
| $ref: '#/definitions/dto.ErrorResponse' | |
| security: | |
| - BearerAuth: [] | |
| summary: Send WhatsApp text message | |
| tags: | |
| - chat | |
| /whatsapp/connect: | |
| post: | |
| consumes: | |
| - application/json | |
| description: Initiate a connection request for a new WhatsApp account. Returns | |
| a QR code if not connected. | |
| parameters: | |
| - description: Connect Request | |
| in: body | |
| name: request | |
| required: true | |
| schema: | |
| $ref: '#/definitions/dto.ConnectRequest' | |
| produces: | |
| - application/json | |
| responses: | |
| "200": | |
| description: OK | |
| schema: | |
| $ref: '#/definitions/dto.ConnectResponse' | |
| "401": | |
| description: Unauthorized | |
| schema: | |
| $ref: '#/definitions/dto.ErrorResponse' | |
| "500": | |
| description: Internal Server Error | |
| schema: | |
| $ref: '#/definitions/dto.ErrorResponse' | |
| security: | |
| - BearerAuth: [] | |
| summary: Connect new WhatsApp account | |
| tags: | |
| /whatsapp/socket: | |
| get: | |
| description: Upgrade HTTP connection to WebSocket for real-time updates | |
| responses: | |
| "101": | |
| description: Switching Protocols | |
| security: | |
| - BearerAuth: [] | |
| summary: Connect to WebSocket | |
| tags: | |
| /whatsapp/status: | |
| get: | |
| consumes: | |
| - application/json | |
| description: Get the current status of the WhatsApp connection | |
| produces: | |
| - application/json | |
| responses: | |
| "200": | |
| description: OK | |
| schema: | |
| $ref: '#/definitions/dto.ConnectionStatusResponse' | |
| "401": | |
| description: Unauthorized | |
| schema: | |
| $ref: '#/definitions/dto.ErrorResponse' | |
| "500": | |
| description: Internal Server Error | |
| schema: | |
| $ref: '#/definitions/dto.ErrorResponse' | |
| security: | |
| - BearerAuth: [] | |
| summary: Get WhatsApp connection status | |
| tags: | |
| securityDefinitions: | |
| BearerAuth: | |
| in: header | |
| name: Authorization | |
| type: apiKey | |
| swagger: "2.0" | |