openapi: 3.0.0 info: title: WhatsApp API MultiDevice version: 3.3.1 description: This API is used for sending whatsapp via API servers: - url: http://localhost:3000 tags: - name: app description: Initial Connection to Whatsapp server - name: user description: Getting information - name: message description: Send or Manipulate Message (Text/Image/File/Video). paths: /app/login: get: operationId: appLogin tags: - app summary: Login to whatsapp server responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/LoginResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorInternalServer' /app/logout: get: operationId: appLogout tags: - app summary: Remove database and logout responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GenericResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorInternalServer' /app/reconnect: get: operationId: appReconnect tags: - app summary: Reconnecting to whatsapp server responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GenericResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorInternalServer' /user/info: get: operationId: userInfo tags: - user summary: User Info parameters: - name: phone in: query schema: type: integer example: '6289685028129@s.whatsapp.net' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/UserInfoResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorBadRequest' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorInternalServer' /user/avatar: get: operationId: userAvatar tags: - user summary: User Avatar parameters: - name: phone in: query schema: type: integer example: '6289685028129@s.whatsapp.net' - name: is_preview in: query schema: type: boolean example: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/UserAvatarResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorBadRequest' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorInternalServer' /user/my/privacy: get: operationId: userMyPrivacy tags: - user summary: User My Privacy Setting responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/UserPrivacyResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorInternalServer' /user/my/groups: get: operationId: userMyGroups tags: - user summary: User My List Groups responses: '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorInternalServer' /send/message: post: operationId: sendMessage tags: - message summary: Send Message requestBody: content: multipart/form-data: schema: type: object properties: phone: type: string example: '6289685028129@s.whatsapp.net' description: Phone number with country code message: type: string example: selamat malam description: Message to send responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/SendResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorBadRequest' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorInternalServer' /send/image: post: operationId: sendImage tags: - message summary: Send Image requestBody: content: multipart/form-data: schema: type: object properties: phone: type: string example: '6289685028129@s.whatsapp.net' description: Phone number with country code caption: type: string example: selamat malam description: Caption to send view_once: type: boolean example: false description: View once image: type: string format: binary description: Image to send compress: type: boolean example: false description: Compress image responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/SendResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorBadRequest' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorInternalServer' /send/file: post: operationId: sendFile tags: - message summary: Send File requestBody: content: multipart/form-data: schema: type: object properties: phone: type: string example: '6289685028129@s.whatsapp.net' description: Phone number with country code caption: type: string example: selamat malam description: Caption to send file: type: string format: binary description: File to send responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/SendResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorBadRequest' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorInternalServer' /send/video: post: operationId: sendVideo tags: - message summary: Send Video requestBody: content: multipart/form-data: schema: type: object properties: phone: type: string example: '6289685028129@s.whatsapp.net' description: Phone number with country code caption: type: string example: ini contoh caption video description: Caption to send view_once: type: boolean example: 'false' description: View once video: type: string format: binary description: Video to send compress: type: boolean example: 'false' description: Compress video responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/SendResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorBadRequest' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorInternalServer' /send/contact: post: operationId: sendContact tags: - message summary: Send Contact requestBody: content: multipart/form-data: schema: type: object properties: phone: type: string example: '6289685024051@s.whatsapp.net' description: Phone number with country code contact_name: type: string example: Aldino Kemal description: Contact name contact_phone: type: string example: '6289685024992' description: Contact phone number responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/SendResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorBadRequest' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorInternalServer' /send/link: post: operationId: sendLink tags: - message summary: Send Link requestBody: content: multipart/form-data: schema: type: object properties: phone: type: string example: '6289685024051@s.whatsapp.net' description: Phone number with country code link: type: string example: "https://google.com" description: Link to send caption: type: string example: 'Halo ini contoh caption' description: Caption to send responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/SendResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorBadRequest' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorInternalServer' /send/location: post: operationId: sendLocation tags: - message summary: Send Location requestBody: content: multipart/form-data: schema: type: object properties: phone: type: string example: '6289685024051@s.whatsapp.net' description: Phone number with country code latitude: type: string example: "-7.797068" description: Latitude coordinate longitude: type: string example: '110.370529' description: Longitude coordinate responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/SendResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorBadRequest' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorInternalServer' /message/:message_id/revoke: post: operationId: revokeMessage tags: - message summary: Send Link requestBody: content: multipart/form-data: schema: type: object properties: phone: type: string example: '6289685024051@s.whatsapp.net' description: Phone number with country code message_id: type: string example: "3EB007D87686670344D7" description: Message ID responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/SendResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorBadRequest' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorInternalServer' components: schemas: UserGroupResponse: type: object properties: code: type: string example: SUCCESS message: type: string example: Success get list groups results: type: object properties: data: type: array items: type: object properties: JID: type: string OwnerJID: type: string Name: type: string NameSetAt: type: string NameSetBy: type: string GroupCreated: type: string ParticipantVersionID: type: string Participants: type: array items: properties: JID: type: string IsAdmin: type: boolean IsSuperAdmin: type: boolean Error: type: number UserInfoResponse: type: object properties: code: type: string example: SUCCESS message: type: string example: results: type: object properties: verified_name: type: string example: Aldino Kemal status: type: string example: Hello World picture_id: type: string example: 1651459152 devices: type: array items: type: object properties: User: type: string example: 6289685021291 Agent: type: integer example: 0 Device: type: string example: UNKNOWN Server: type: string example: s.whatsapp.net AD: type: boolean example: true UserAvatarResponse: type: object properties: code: type: string example: SUCCESS message: type: string example: Success results: type: object properties: url: type: string example: 'https://pps.whatsapp.net/v/t61.24694-24/181358562_385581386633509_6230178822944778044_n.jpg?ccb=11-4&oh=df36c5b990497b8a5758a0f1ad8118a8&oe=620AA726' id: type: string example: '1635239861' type: type: string example: 'image' UserPrivacyResponse: type: object properties: code: type: string example: SUCCESS message: type: string example: Success get privacy results: type: object properties: group_add: type: string example: all last_seen: type: string example: null status: type: string example: all profile: type: string example: all read_receipts: type: string example: all SendResponse: type: object properties: code: type: string example: SUCCESS message: type: string example: Success results: type: object properties: message_id: type: string example: '3EB0B430B6F8F1D0E053AC120E0A9E5C' status: type: string example: ' success ....' LoginResponse: type: object properties: code: type: string example: SUCCESS message: type: string example: Success results: type: object properties: qr_duration: type: integer example: 30 qr_link: type: string example: 'http://localhost:3000/statics/images/qrcode/scan-qr-b0b7bb43-9a22-455a-814f-5a225c743310.png' GenericResponse: type: object properties: code: type: string example: SUCCESS message: type: string example: Success results: type: string example: null ErrorInternalServer: type: object properties: code: type: string example: INTERNAL_SERVER_ERROR description: 'SYSTEM_CODE_ERROR' message: type: string example: you are not loggin description: 'Detail error message' results: type: object example: null description: 'additional data' ErrorBadRequest: type: object properties: code: type: integer example: 400 description: 'HTTP Status Code' message: type: string example: phone cannot be blank description: 'Detail error message' results: type: object example: null description: 'additional data'