Atualizar pagamento do pedido
curl --request POST \
--url https://api.z-api.io/instances/{instanceId}/token/{token}/order-payment-update \
--header 'Client-Token: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"phone": "<string>",
"messageId": "<string>",
"referenceId": "<string>",
"orderRequestId": "<string>",
"orderStatus": "<string>",
"paymentStatus": "<string>",
"order": {
"currency": "<string>",
"products": [
{
"name": "<string>",
"value": 123,
"quantity": 123,
"productId": "<string>",
"isCustomItem": true
}
],
"discount": 123,
"tax": 123,
"shipping": 123
}
}
'import requests
url = "https://api.z-api.io/instances/{instanceId}/token/{token}/order-payment-update"
payload = {
"phone": "<string>",
"messageId": "<string>",
"referenceId": "<string>",
"orderRequestId": "<string>",
"orderStatus": "<string>",
"paymentStatus": "<string>",
"order": {
"currency": "<string>",
"products": [
{
"name": "<string>",
"value": 123,
"quantity": 123,
"productId": "<string>",
"isCustomItem": True
}
],
"discount": 123,
"tax": 123,
"shipping": 123
}
}
headers = {
"Client-Token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Client-Token': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
phone: '<string>',
messageId: '<string>',
referenceId: '<string>',
orderRequestId: '<string>',
orderStatus: '<string>',
paymentStatus: '<string>',
order: {
currency: '<string>',
products: [
{
name: '<string>',
value: 123,
quantity: 123,
productId: '<string>',
isCustomItem: true
}
],
discount: 123,
tax: 123,
shipping: 123
}
})
};
fetch('https://api.z-api.io/instances/{instanceId}/token/{token}/order-payment-update', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.z-api.io/instances/{instanceId}/token/{token}/order-payment-update",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'phone' => '<string>',
'messageId' => '<string>',
'referenceId' => '<string>',
'orderRequestId' => '<string>',
'orderStatus' => '<string>',
'paymentStatus' => '<string>',
'order' => [
'currency' => '<string>',
'products' => [
[
'name' => '<string>',
'value' => 123,
'quantity' => 123,
'productId' => '<string>',
'isCustomItem' => true
]
],
'discount' => 123,
'tax' => 123,
'shipping' => 123
]
]),
CURLOPT_HTTPHEADER => [
"Client-Token: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.z-api.io/instances/{instanceId}/token/{token}/order-payment-update"
payload := strings.NewReader("{\n \"phone\": \"<string>\",\n \"messageId\": \"<string>\",\n \"referenceId\": \"<string>\",\n \"orderRequestId\": \"<string>\",\n \"orderStatus\": \"<string>\",\n \"paymentStatus\": \"<string>\",\n \"order\": {\n \"currency\": \"<string>\",\n \"products\": [\n {\n \"name\": \"<string>\",\n \"value\": 123,\n \"quantity\": 123,\n \"productId\": \"<string>\",\n \"isCustomItem\": true\n }\n ],\n \"discount\": 123,\n \"tax\": 123,\n \"shipping\": 123\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Client-Token", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.z-api.io/instances/{instanceId}/token/{token}/order-payment-update")
.header("Client-Token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"phone\": \"<string>\",\n \"messageId\": \"<string>\",\n \"referenceId\": \"<string>\",\n \"orderRequestId\": \"<string>\",\n \"orderStatus\": \"<string>\",\n \"paymentStatus\": \"<string>\",\n \"order\": {\n \"currency\": \"<string>\",\n \"products\": [\n {\n \"name\": \"<string>\",\n \"value\": 123,\n \"quantity\": 123,\n \"productId\": \"<string>\",\n \"isCustomItem\": true\n }\n ],\n \"discount\": 123,\n \"tax\": 123,\n \"shipping\": 123\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.z-api.io/instances/{instanceId}/token/{token}/order-payment-update")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Client-Token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"phone\": \"<string>\",\n \"messageId\": \"<string>\",\n \"referenceId\": \"<string>\",\n \"orderRequestId\": \"<string>\",\n \"orderStatus\": \"<string>\",\n \"paymentStatus\": \"<string>\",\n \"order\": {\n \"currency\": \"<string>\",\n \"products\": [\n {\n \"name\": \"<string>\",\n \"value\": 123,\n \"quantity\": 123,\n \"productId\": \"<string>\",\n \"isCustomItem\": true\n }\n ],\n \"discount\": 123,\n \"tax\": 123,\n \"shipping\": 123\n }\n}"
response = http.request(request)
puts response.read_bodyMessages
Atualizar pagamento do pedido
Envia uma atualização de pagamento do pedido
POST
/
instances
/
{instanceId}
/
token
/
{token}
/
order-payment-update
Atualizar pagamento do pedido
curl --request POST \
--url https://api.z-api.io/instances/{instanceId}/token/{token}/order-payment-update \
--header 'Client-Token: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"phone": "<string>",
"messageId": "<string>",
"referenceId": "<string>",
"orderRequestId": "<string>",
"orderStatus": "<string>",
"paymentStatus": "<string>",
"order": {
"currency": "<string>",
"products": [
{
"name": "<string>",
"value": 123,
"quantity": 123,
"productId": "<string>",
"isCustomItem": true
}
],
"discount": 123,
"tax": 123,
"shipping": 123
}
}
'import requests
url = "https://api.z-api.io/instances/{instanceId}/token/{token}/order-payment-update"
payload = {
"phone": "<string>",
"messageId": "<string>",
"referenceId": "<string>",
"orderRequestId": "<string>",
"orderStatus": "<string>",
"paymentStatus": "<string>",
"order": {
"currency": "<string>",
"products": [
{
"name": "<string>",
"value": 123,
"quantity": 123,
"productId": "<string>",
"isCustomItem": True
}
],
"discount": 123,
"tax": 123,
"shipping": 123
}
}
headers = {
"Client-Token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Client-Token': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
phone: '<string>',
messageId: '<string>',
referenceId: '<string>',
orderRequestId: '<string>',
orderStatus: '<string>',
paymentStatus: '<string>',
order: {
currency: '<string>',
products: [
{
name: '<string>',
value: 123,
quantity: 123,
productId: '<string>',
isCustomItem: true
}
],
discount: 123,
tax: 123,
shipping: 123
}
})
};
fetch('https://api.z-api.io/instances/{instanceId}/token/{token}/order-payment-update', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.z-api.io/instances/{instanceId}/token/{token}/order-payment-update",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'phone' => '<string>',
'messageId' => '<string>',
'referenceId' => '<string>',
'orderRequestId' => '<string>',
'orderStatus' => '<string>',
'paymentStatus' => '<string>',
'order' => [
'currency' => '<string>',
'products' => [
[
'name' => '<string>',
'value' => 123,
'quantity' => 123,
'productId' => '<string>',
'isCustomItem' => true
]
],
'discount' => 123,
'tax' => 123,
'shipping' => 123
]
]),
CURLOPT_HTTPHEADER => [
"Client-Token: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.z-api.io/instances/{instanceId}/token/{token}/order-payment-update"
payload := strings.NewReader("{\n \"phone\": \"<string>\",\n \"messageId\": \"<string>\",\n \"referenceId\": \"<string>\",\n \"orderRequestId\": \"<string>\",\n \"orderStatus\": \"<string>\",\n \"paymentStatus\": \"<string>\",\n \"order\": {\n \"currency\": \"<string>\",\n \"products\": [\n {\n \"name\": \"<string>\",\n \"value\": 123,\n \"quantity\": 123,\n \"productId\": \"<string>\",\n \"isCustomItem\": true\n }\n ],\n \"discount\": 123,\n \"tax\": 123,\n \"shipping\": 123\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Client-Token", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.z-api.io/instances/{instanceId}/token/{token}/order-payment-update")
.header("Client-Token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"phone\": \"<string>\",\n \"messageId\": \"<string>\",\n \"referenceId\": \"<string>\",\n \"orderRequestId\": \"<string>\",\n \"orderStatus\": \"<string>\",\n \"paymentStatus\": \"<string>\",\n \"order\": {\n \"currency\": \"<string>\",\n \"products\": [\n {\n \"name\": \"<string>\",\n \"value\": 123,\n \"quantity\": 123,\n \"productId\": \"<string>\",\n \"isCustomItem\": true\n }\n ],\n \"discount\": 123,\n \"tax\": 123,\n \"shipping\": 123\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.z-api.io/instances/{instanceId}/token/{token}/order-payment-update")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Client-Token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"phone\": \"<string>\",\n \"messageId\": \"<string>\",\n \"referenceId\": \"<string>\",\n \"orderRequestId\": \"<string>\",\n \"orderStatus\": \"<string>\",\n \"paymentStatus\": \"<string>\",\n \"order\": {\n \"currency\": \"<string>\",\n \"products\": [\n {\n \"name\": \"<string>\",\n \"value\": 123,\n \"quantity\": 123,\n \"productId\": \"<string>\",\n \"isCustomItem\": true\n }\n ],\n \"discount\": 123,\n \"tax\": 123,\n \"shipping\": 123\n }\n}"
response = http.request(request)
puts response.read_bodyConceituação
Neste método você poderá enviar mensagens de atualização do pagamento dos pedidos enviados.Este método está disponível apenas para contas Business do WhatsApp.
Exemplo no WhatsApp

Atributos
Header
string
obrigatório
ID da sua instância. Disponível no painel Z-API em Instâncias.
string
obrigatório
Token da sua instância Z-API.
Obrigatórios
string
obrigatório
Telefone do destinatário no formato DDI DDD NÚMERO. Ex: 551199999999
string
obrigatório
ID da mensagem original do pedido no WhatsApp
string
obrigatório
ID de referência do pedido (obtido via webhook)
string
obrigatório
ID de referência da requisição do pedido (obtido via webhook)
string
obrigatório
Status do pedido:
pending, processing, shipped, completed ou canceledstring
obrigatório
Status do pagamento:
pending ou paidobject
obrigatório
Dados do pedido
Mostrar Propriedades
Mostrar Propriedades
string
obrigatório
Código da moeda (ex: BRL)
array
obrigatório
number
Valor de desconto
number
Valor de imposto
number
Valor de frete
Opcionais
string
Mensagem de texto da atualização do pedido
Request Body
{
"phone": "554499999999",
"messageId": "3EB0F91BBA791BB0A787FC",
"message": "Mensagem de texto da atualização do pedido",
"referenceId": "4N8FCTW1WM6",
"orderRequestId": "4N8FCTW22W4",
"orderStatus": "processing",
"paymentStatus": "paid",
"order": {
"currency": "BRL",
"discount": 10,
"tax": 10,
"shipping": 5,
"products": [
{
"value": 150,
"quantity": 2,
"name": "order 1",
"isCustomItem": true,
"productId": "custom-item-4N8FCTW23N7"
},
{
"productId": "23940797548900636",
"value": 150,
"quantity": 2,
"name": "order 2",
"isCustomItem": false
}
]
}
}
Response
200
{
"zaapId": "3999984263738042930CD6ECDE9VDWSA",
"messageId": "D241XXXX732339502B68",
"id": "D241XXXX732339502B68"
}
405
Neste caso certifique que esteja enviando corretamente a especificação do método, ou seja verifique se você enviou o POST ou GET conforme especificado no início deste tópico.415
Caso você receba um erro 415, certifique de adicionar na headers da requisição o “Content-Type” do objeto que você está enviando, em sua grande maioria “application/json”.⌘I