Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   RESTClient1 problema con palabra "notes" (https://www.clubdelphi.com/foros/showthread.php?t=94976)

GustavoCruz 07-12-2020 23:08:16

RESTClient1 problema con palabra "notes"
 
Hola amigos del foro, tengo un problema al momento de enviar un json. y es que si en el cuerpo va la clave "notes" me genera error
si lo envío con otra herramienta no me muestra error.
Código:

{
        "number": 4,
        "prefix": "FE",
        "document_type_code": "01",
        "operation_type_code": "10",
        "resolution_number": 18764008153137,
        "currency_type_code": "COP",
        "date": "2020-12-07",
        "time": "11:58:05",
        "customer": {
                "address": "Sincelejo - Sucre",
                "identification_number": 806008394,
                "dv": 7,
                "organization_type_code": 2,
                "identification_type_code": 31,
                "merchant_registration": "No tiene",
                "municipality_code": "13001",
                "regime_type_code": "49",
                "language_code": "es",
                "country_code": "CO",
                "tax_code": 1,
                "phone": 6502525,
                "name": "MUTUAL SER E.P.S-S",
                "liability_type_code": "R-99-PN",
                "email": "facturacion_electronica@mutualser.com"
        },
        "notes": [{
                "text": "Paciente: RC 1100690156 - TABOADA CHIMA VICTOR ANDRES Atención No: 175002; Autorización No. 7067000126869; Contrato No. SICO"
        }],
        "payment_form": {
                "payment_form_code": "2",
                "payment_method_code": "ZZZ",
                "payment_due_date": "2021-02-05",
                "duration_measure": 60
        },
        "prepaid_payments": [{
                "identifier": "Copago",
                "paid_amount": 0
        }],
        "legal_monetary_totals": {
                "line_extension_amount": 8240,
                "tax_exclusive_amount": 0,
                "tax_inclusive_amount": 8240,
                "allowance_total_amount": 0,
                "charge_total_amount": 0,
                "payable_amount": 8240
        },
        "invoice_lines": [{
                "unit_measure_code": "94",
                "invoiced_quantity": 1,
                "line_extension_amount": 8240,
                "free_of_charge_indicator": false,
                "description": "CONSULTA DE CONTROL O DE SEGUIMIENTO POR NUTRICION Y DIETETICA +",
                "code": "890306",
                "item_identification_type_code": "999",
                "price_amount": 8240,
                "base_quantity": 1
        }]
}],
}

ese el el json completo que me genera error, pero si quito la parte de
Código:

"notes": [{
                "text": "Paciente: RC 1100690156 - TABOADA CHIMA VICTOR ANDRES Atención No: 175002; Autorización No. 7067000126869; Contrato No. SICO"
        }],

entonces pasa sin problemas.

todo esto ocurre utilizando los componentes de REST.

Gracias por su tiempo

GustavoCruz 07-12-2020 23:13:31

el Kind del body en RESTClient es pkREQUESTBODY y el ContentType es ctAPPLICATION_JSON
el método de envio es mrPOST

cloayza 08-12-2020 04:44:48

Estimado GustavoCruz, creo que el problema es de formato.

Al mirar su archivo, veo que tiene una línea de más...

Código:

{
        "number": 4,
        "prefix": "FE",
        "document_type_code": "01",
        "operation_type_code": "10",
        "resolution_number": 18764008153137,
        "currency_type_code": "COP",
        "date": "2020-12-07",
        "time": "11:58:05",
        "customer": {
                "address": "Sincelejo - Sucre",
                "identification_number": 806008394,
                "dv": 7,
                "organization_type_code": 2,
                "identification_type_code": 31,
                "merchant_registration": "No tiene",
                "municipality_code": "13001",
                "regime_type_code": "49",
                "language_code": "es",
                "country_code": "CO",
                "tax_code": 1,
                "phone": 6502525,
                "name": "MUTUAL SER E.P.S-S",
                "liability_type_code": "R-99-PN",
                "email": "facturacion_electronica@mutualser.com"
        },
        "notes": [{
                "text": "Paciente: RC 1100690156 - TABOADA CHIMA VICTOR ANDRES Atención No: 175002; Autorización No. 7067000126869; Contrato No. SICO"
        }],
        "payment_form": {
                "payment_form_code": "2",
                "payment_method_code": "ZZZ",
                "payment_due_date": "2021-02-05",
                "duration_measure": 60
        },
        "prepaid_payments": [{
                "identifier": "Copago",
                "paid_amount": 0
        }],
        "legal_monetary_totals": {
                "line_extension_amount": 8240,
                "tax_exclusive_amount": 0,
                "tax_inclusive_amount": 8240,
                "allowance_total_amount": 0,
                "charge_total_amount": 0,
                "payable_amount": 8240
        },
        "invoice_lines": [{
                "unit_measure_code": "94",
                "invoiced_quantity": 1,
                "line_extension_amount": 8240,
                "free_of_charge_indicator": false,
                "description": "CONSULTA DE CONTROL O DE SEGUIMIENTO POR NUTRICION Y DIETETICA +",
                "code": "890306",
                "item_identification_type_code": "999",
                "price_amount": 8240,
                "base_quantity": 1
        }]
}],
}

Saludos cordiales

GustavoCruz 08-12-2020 05:47:05

Cita:

Empezado por cloayza (Mensaje 539358)
Estimado GustavoCruz, creo que el problema es de formato.
Al mirar su archivo, veo que tiene una línea de más...
Saludos cordiales

Sí efectivamente tiene una línea de más, se me pasó. Pero el problema está es en la forma como delphi envía en body.
en la propiedad Options del RESTRequest está por defecto poDoNotEncode como true, lo desmarqué y probé marcar poTransient y me subió el archivo. yo no sé eso qué signifique, les soy sincero, pero así me está funcionando

Amigo cloayza, gracias por tu tiempo

Neftali [Germán.Estévez] 09-12-2020 10:31:14

Me he fijado que esa línea tiene algun character especial. En concreto un acento.
¿Sólo para probar, puedes enviar el campo notes in los acentos?
Si en ese caso sube sin problemas, es posible que sea un problema de codificación.

GustavoCruz 11-12-2020 15:51:56

Hola Neftali, efectivamente, no sólo en "notes", sino que en varias partes pueden ir acentos y habían algunos json que no subían, pero yo en el momento me enfoqué fue en "notes"
Código:

"invoice_lines": [{
                "unit_measure_code": "94",
                "invoiced_quantity": 1,
                "line_extension_amount": 8240,
                "free_of_charge_indicator": false,
                "description": "CONSULTA DE CONTROL O DE SEGUIMIENTO POR NUTRICION Y DIETETICA +",
                "code": "890306",
                "item_identification_type_code": "999",
                "price_amount": 8240,
                "base_quantity": 1
        }]

en "description" también van acentos aunque en este caso no los hay.

Gracias Neftali ya entiendo la causa del porqué no subía el archivo


La franja horaria es GMT +2. Ahora son las 22:21:34.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi