You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

896 lines
24 KiB

openapi: 3.0.0
info:
title: WhatsApp API MultiDevice
version: 3.6.0
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: send
description: Send Message (Text/Image/File/Video).
- name: message
description: Message manipulation (revoke/react/update).
- name: group
description: Group setting
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'
/app/devices:
get:
operationId: appDevices
tags:
- app
summary: Get list connected devices
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DeviceResponse'
'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:
- send
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:
- send
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:
- send
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:
- send
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:
- send
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:
- send
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:
- send
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: Revoke Message
parameters:
- in: path
name: message_id
schema:
type: string
required: true
description: Message ID
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
phone:
type: string
example: '6289685024051@s.whatsapp.net'
description: Phone number with country code
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}/reaction:
post:
operationId: reactMessage
tags:
- message
summary: Send reaction to message
parameters:
- in: path
name: message_id
schema:
type: string
required: true
description: Message ID
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
phone:
type: string
example: '6289685024051@s.whatsapp.net'
description: Phone number with country code
emoji:
type: string
example: "🙏"
description: Emoji to react
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'
/group/join-with-link:
post:
operationId: joinGroupWithLink
tags:
- group
summary: Join group with link
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
link:
type: string
example: 'https://chat.whatsapp.com/whatsappKeyJoinGroup'
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'
/group/leave:
post:
operationId: leaveGroup
tags:
- group
summary: Leave group
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
group_id:
type: string
example: '120363024512399999@g.us'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GenericResponse'
'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: '<feature> success ....'
DeviceResponse:
type: object
properties:
code:
type: string
example: SUCCESS
message:
type: string
example: Fetch device success
results:
type: array
items:
type: object
properties:
name:
type: string
example: 'Aldino Kemal'
device:
type: string
example: '628960561XXX.0:64@s.whatsapp.net'
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: string
example: 400
description: 'HTTP Status Code'
message:
type: string
example: field cannot be blank
description: 'Detail error message'
results:
type: object
example: null
description: 'additional data'